Wrong version of ADX DLL is being loaded when I have two ADX plugins based on different cores installed

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

Wrong version of ADX DLL is being loaded when I have two ADX plugins based on different cores installed
 
Stan S




Posts: 184
Joined: 2007-09-04
I am developing tons of plugins using ADX for .NET :)
today I ran into such situation.
1. I had two plugins: one based on version 6.2.3051.0, the other on 6.3.3052.0
adxloader.log shows:

Add-in Express Loader Log File: 01/17/2011 22:49:12

Startup directory: C:\Program Files (x86)\PLUGIN1\
Loader version: 6.2.3051.0
Operating System: Microsoft Windows 7 Home Premium Edition (build 7600), 64-bit
Process Owner: Administrator
Command Line: "C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE"
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On

-------------
(cut)

Startup directory: C:\!work\PLUGIN2
Loader version: 6.3.3052.0
Operating System: Microsoft Windows 7 Home Premium Edition (build 7600), 64-bit
Process Owner: Administrator
Command Line: "C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE"
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On

-------------------
(cut)

ADXLoader.log shows no error.
First plugin loads just fine.
The second plugin does NOT loads - actually loader throws errors "dll 6.2.3051 not found" about AddInExpress.MSO.2005.dll and its related DLLs, on all the events (i.e. AddinInitialize etc).

Once the first plugin is disabled, the second plugin loads just fine.

I definitely want to protect end users against such situations.
I bet something is wrong? maybe I need to raise Integrity Level? how do I do that?

Stan
Posted 17 Jan, 2011 14:28:56 Top
Eugene Astafiev


Guest


Hi Stan,

Please check out the Specific version property of the AddinExpress.MSO.2005 entry in the References of your add-in. Is it set to true?
Posted 18 Jan, 2011 06:40:55 Top
Stan S




Posts: 184
Joined: 2007-09-04
No it wasn't, it was set to False.
As I changed it to True, that didn't help.
Posted 18 Jan, 2011 07:54:43 Top
Eugene Astafiev


Guest


Hi Stan,

You don't need to set the SpecificVersion property to true. Please keep it set to false. May I see the full content of log files?
Posted 18 Jan, 2011 08:26:16 Top
Stan S




Posts: 184
Joined: 2007-09-04
Sure - sent via email (server rejected long text)
Posted 18 Jan, 2011 08:57:52 Top
Eugene Astafiev


Guest


Hi Stan,

Thank you for providing me with log files. However, I didn't find any error message in the adxloader.log file. When do you get an exception? Could you please show me the details?

Did you try to set up the Copy Local property of the AddinExpress.MSO.2005.dll reference for both add-in projects? Also please try to replace an old version of the adxloader.dll in the Loader folder of your first add-in project with a new one (see the Redistributables folder). Does it help?
Posted 19 Jan, 2011 08:33:04 Top
Stan S




Posts: 184
Joined: 2007-09-04
The exception is fired when add-in starts.
It's fired by ADX (I cannot catch it), BUT after that the plugin is loaded anyway.
Yes if I replace old version of the adxloader with new version it works allright...

here's what I get

Assembly Full Name: AddinExpress.OL.2005, Version=6.3.3052.2005, Culture=neutral, PublicKeyToken=e69a7e0f3592d2b8
Assembly Version: 6.3.3052.2005
>>> Assembly Build Date: 10.05.2008 1:06:50 <<< ?????

Exception Source: mscorlib
Exception Type: System.IO.FileLoadException
Exception Message: Невозможно загрузить файл или сборку "AddinExpress.OL.2005, Version=6.2.3051.2005, Culture=neutral, PublicKeyToken=e69a7e0f3592d2b8" или один из зависимых от них компонентов. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Exception Target Site: IsInstanceOfType

---- Stack Trace ----
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(reqMsg As IMessage, retMsg As IMessage)
AddinExpress.OL.2005.dll: N 0081 (0x51) IL
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(msgData As MessageData&, type As Int32)
AddinExpress.OL.2005.dll: N 0415 (0x19F) IL
AddinExpress.Extensions.ADXIntResource.DoDeleteCTP(position As Int32, CTPParentWindow As Object)
AddinExpress.OL.2005.dll: N 00000 (0x0) JIT
AddinExpress.Extensions.ADXOLHook.DeleteCTP(position As Int32, CTPParentWindow As Object)
AddinExpress.OL.2005.dll: N 0051 (0x33) IL
AddinExpress.OL.ADXOlFormsManager.HideCTP(dockPosition As AdxDockPosition, window As Object)
AddinExpress.OL.2005.dll: N 0001 (0x1) IL
AddinExpress.OL.ADXOlFormsManager.HideAllCTP(ExplorerArgs As ADXOlExplorerArguments)
AddinExpress.OL.2005.dll: N 0001 (0x1) IL
AddinExpress.OL.ADXOlFormsManager.DoExplorerFolderSwitch(ExplorerArgs As ADXOlExplorerArguments)
AddinExpress.OL.2005.dll: N 0633 (0x279) IL
Posted 19 Jan, 2011 08:54:55 Top
Eugene Astafiev


Guest


Hi Stan,

In your initial post you mentioned AddinExpress.MSO.2005.dll (not AddinExpress.OL.2005.dll). Please try to set the Specific Version property of this reference to false. What value does the Specific Version property have now?

As far as I understand we have found the solution (is to replace the adxloader.dll file with a new one). Am I right?
Posted 19 Jan, 2011 09:08:03 Top