TLS 1.2 -> upgrade .net 4.6.2 but installer fails

Add-in Express™ Support Service
That's what is more important than anything else

TLS 1.2 -> upgrade .net 4.6.2 but installer fails
System.BadImageFormatException on setup 
Subscribe
Simon Chaveneau




Posts: 1
Joined: 2021-07-12
Hello,

I just got to an old project for a production issue. It was the client migration to TLS 1.2 that made our code fail.
After upgrading our solution from .net 2.0 to .net 4.6.2 our code works and our the issue is fixed.

When i try to package that project to output the IE addon setup, it fails saying :

Detailed technical information follows: 
---
Date and Time:         12/07/2021 14:31:19
Machine Name:          XUANGE
IP Address:            fe80::f6:7d7d:cd42:9d91%14
Current User:          AUTORITE NTSystème

Application Domain:    adxregext.exe
Assembly Codebase:     file:///C:/Program Files (x86)/AriadNEXT/AriadNEXT Plugin 1.9.12/adxregext.exe
Assembly Full Name:    adxregext, Version=5.2.262.0, Culture=neutral, PublicKeyToken=4416dd98f0861965
Assembly Version:      5.2.262.0
Assembly Build Date:   21/06/2021 09:31:04

Exception Source:      mscorlib
Exception Type:        System.BadImageFormatException
Exception Message:     Impossible de charger le fichier ou l'assembly 'file:///c:program files (x86)riadnextriadnext plugin 1.9.12riadnewebvendor.dll' ou une de ses dépendances. Cet assembly a été construit par un runtime plus récent que le runtime actuellement chargé et ne peut pas être chargé.
Exception Target Site: _nLoad

---- Stack Trace ----
   System.Reflection.Assembly._nLoad(fileName As AssemblyName, codeBase As String, assemblySecurity As Evidence, locationHint As Assembly, stackMark As StackCrawlMark&, throwOnFileNotFound As Boolean, forIntrospection As Boolean)
       adxregext.exe: N 00000 (0x0) JIT 
   System.Reflection.Assembly.nLoad(fileName As AssemblyName, codeBase As String, assemblySecurity As Evidence, locationHint As Assembly, stackMark As StackCrawlMark&, throwOnFileNotFound As Boolean, forIntrospection As Boolean)
       adxregext.exe: N 0011 (0xB) IL 
   System.Reflection.Assembly.InternalLoad(assemblyRef As AssemblyName, assemblySecurity As Evidence, stackMark As StackCrawlMark&, forIntrospection As Boolean)
       adxregext.exe: N 0120 (0x78) IL 
   System.Reflection.Assembly.InternalLoadFrom(assemblyFile As String, securityEvidence As Evidence, hashValue As Byte[], hashAlgorithm As AssemblyHashAlgorithm, forIntrospection As Boolean, stackMark As StackCrawlMark&)
       adxregext.exe: N 0035 (0x23) IL 
   System.Reflection.Assembly.LoadFrom(assemblyFile As String)
       adxregext.exe: N 0000 (0x0) IL 
   AddinExpress.IE.Deployment.AddinDomainAdapter.RegisterForComInterop(register As Boolean, dllType As String, dllPath As String, showExceptions As Boolean)
       adxregext.exe: N 0041 (0x29) IL 


I checked that all is aimed at .net 4.6.2, every project, setup prerequisites and .net framework launch condition.

I have never used Add-in Express so i can't provide a lot more info.

Regards,

Simon
Posted 12 Jul, 2021 07:35:24 Top
Andrei Smolin


Add-in Express team


Posts: 17840
Joined: 2006-05-11
Hello Simon,

adxregext is quite an old utility. You should create a new setup project; check section Creating MSI Installers, see the PDF file in the folder {Add-in Express}\Docs on your development PC.

Newly created projects use adxregistrator utility; check section Deployment Step-by-steps in the manual.

Regards from Belarus (GMT+3),

Andrei Smolin
Add-in Express Team Leader
Posted 12 Jul, 2021 10:01:09 Top