How can I deploy two clickonce versions of my COM Add-in?

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

How can I deploy two clickonce versions of my COM Add-in?
 
kmcdowellLB


Guest


I'd like to be able to deploy multiple versions of my add-in - one for production and another for UAT. I deploy using clickonce, and in the past I accomplished this by changing the main project's assembly name and product name and republishing that.

I tried this approach for my COM addin, but when i try to install/register the second version I get errors:

Detailed technical information follows:
---
Date and Time: 5/28/2020 4:49:25 PM
Machine Name: 452GPQ2
IP Address: fe80::193f:1385:f187:c391%5
Current User: LIMITED\KMcDowell

Application Domain: DefaultDomain
Assembly Codebase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
Assembly Full Name: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Assembly Version: 4.0.0.0

Exception Source: mscorlib
Exception Type: System.IO.FileNotFoundException
Exception Message: Could not load file or assembly 'LinePlan.VL, PublicKeyToken=4014dc0558bc2cdb' or one of its dependencies. The system cannot find the file specified.
Exception Target Site: _nLoad

---- Stack Trace ----
System.Reflection.RuntimeAssembly._nLoad(fileName As AssemblyName, codeBase As String, assemblySecurity As Evidence, locationHint As RuntimeAssembly, stackMark As StackCrawlMark&, pPrivHostBinder As IntPtr, throwOnFileNotFound As Boolean, forIntrospection As Boolean, suppressSecurityChecks As Boolean)
mscorlib.dll: N 00000 (0x0) JIT
System.Reflection.RuntimeAssembly.nLoad(fileName As AssemblyName, codeBase As String, assemblySecurity As Evidence, locationHint As RuntimeAssembly, stackMark As StackCrawlMark&, pPrivHostBinder As IntPtr, throwOnFileNotFound As Boolean, forIntrospection As Boolean, suppressSecurityChecks As Boolean)
mscorlib.dll: N 0000 (0x0) IL
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(assemblyRef As AssemblyName, assemblySecurity As Evidence, reqAssembly As RuntimeAssembly, stackMark As StackCrawlMark&, pPrivHostBinder As IntPtr, throwOnFileNotFound As Boolean, forIntrospection As Boolean, suppressSecurityChecks As Boolean)
mscorlib.dll: N 0099 (0x63) IL
System.Reflection.RuntimeAssembly.InternalLoad(assemblyString As String, assemblySecurity As Evidence, stackMark As StackCrawlMark&, pPrivHostBinder As IntPtr, forIntrospection As Boolean)
mscorlib.dll: N 0022 (0x16) IL
System.Reflection.RuntimeAssembly.InternalLoad(assemblyString As String, assemblySecurity As Evidence, stackMark As StackCrawlMark&, forIntrospection As Boolean)
mscorlib.dll: N 0000 (0x0) IL
System.AppDomain.Load(assemblyString As String)
mscorlib.dll: N 0002 (0x2) IL
AddinExpress.MSO.ADXLoaderSupport.ClickOnceRegistrationService_2(register As Boolean, assemblyIdentity As String, showExceptions As Boolean, closeProgress As EventHandler, flags As Int32)
mscorlib.dll: N 0026 (0x1A) IL



Any tips for deploying two different versions of the same addin?
Thanks,
Kyle
Posted 28 May, 2020 15:53:23 Top
Andrei Smolin


Add-in Express team


Posts: 18825
Joined: 2006-05-11
Hello Kyle,

I suppose the error may relate to something being renamed wrongly. Still, our guys think you won't be able to solve this as Add-in Express just provides support for ClickOnce deployment, it doesn't let you use ClickOnce directly: check https://www.add-in-express.com/docs/net-clickonce-solution.php.

I'd suggest using ClickTwice. It allows deploying MSI packages and it supports multiple add-in versions; you won't need to rename anything.


Andrei Smolin
Add-in Express Team Leader
Posted 01 Jun, 2020 01:19:14 Top