Add-In does not load successfully with the latest version 9.3.4641

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

Add-In does not load successfully with the latest version 9.3.4641
 
Robert Mills




Posts: 19
Joined: 2018-07-30
Hello,

I just attempted an update to the latest version to get the updates for Windows 10 1903. However, with my local environment builds do not load successfully.

Here's the contents of adxloader.log


Add-in Express Loader Log File: 05/28/2019 16:37:07:963

Startup directory: C:gitOutlookPluginsrcOutlookPlugin.HostinDebug
Loader version: 9.3.4641.0
Operating System: Microsoft Windows 10 Professional (build 18362), 64-bit
Process Owner: Administrator
Command Line: "C:Program FilesMicrosoft Office
ootOffice16OUTLOOK.EXE" 
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On
------------------------------------------------------------------------
16:37:07:966 7024 33080 Start.
16:37:07:966 7024 33080 The minimum supported Office version is 12
16:37:07:966 7024 33080 The host's version is 16.0.11601.20230
16:37:07:966 7024 33080 Creating a new instance of the add-in loader.
16:37:07:966 7024 33080 Loading mscoree.dll
16:37:07:967 7024 33080 INFO: Assembly codebase - C:gitOutlookPluginsrcOutlookPlugin.HostinDebugOutlookPlugin.Host.dll.
16:37:07:967 7024 33080 INFO: Assembly version - 2.0.2.0.
16:37:07:967 7024 33080 Success.
16:37:07:967 7024 33080 Loading the configuration from the system registry.
16:37:07:967 7024 33080 Getting the latest CLR version.
16:37:07:968 7024 33080 The latest CLR version is 'v4.0.30319'.
16:37:07:968 7024 33080 The configuration has been loaded successfully.
16:37:07:968 7024 33080     Runtime version: v4.0.30319.
16:37:07:968 7024 33080     Assembly name: OutlookPlugin.Host, PublicKeyToken=513CF12C9889A575.
16:37:07:968 7024 33080     Class name: OutlookPlugin.Host.AddinModule.
16:37:07:968 7024 33080     Registry key: CLSID{74D7346B-C1F5-42FB-B5A7-79F4897BF071}.
16:37:07:993 7024 33080 Attempting to create a new instance of the managed add-in class: CLR - v4.0.30319
16:37:07:993 7024 33080 Loading CLR: v4.0.30319.
16:37:07:993 7024 33080 Calling CLRCreateInstance method.
16:37:07:993 7024 33080 Success.
16:37:07:993 7024 33080 Calling GetRuntime method.
16:37:07:993 7024 33080 Success.
16:37:07:993 7024 33080 Checking if the hosting API of .NET Framework v4.0 beta is installed.
16:37:07:993 7024 33080 The hosting API is up to date.
16:37:07:993 7024 33080 Calling SetDefaultStartupFlags method.
16:37:07:993 7024 33080 Success.
16:37:07:993 7024 33080 Calling GetInterface method for the CorRuntimeHost interface.
16:37:07:993 7024 33080 Success.
16:37:07:993 7024 33080 Starting CLR...
16:37:07:993 7024 33080 Success.
16:37:07:993 7024 33080 Getting the CLR version.
16:37:07:993 7024 33080 The CLR v4.0.30319 has been initialized successfully.
16:37:08:030 7024 33080 Error code: 0x8009210d


The error code seems to point to a signature validation error. I noticed that 'adxloader.dll.manifest' appears to have switched signature methods from SHA1 to SHA256 - this may be entirely unrelated but seems to in the area of potential issue.
Posted 28 May, 2019 20:31:43 Top
Andrei Smolin


Add-in Express team


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

HRESULT=0x8009210d stands for CRYPT_XML_E_VERIFY_FAILED. This error seemingly occurs when adxloader tries to unencrypt the manifest. Is it possible that the manifest isn?Â?Ð?ét signed after all? Or, maybe, it was modified after you build it? Or, the add-in assembly or one of its dependencies is unsigned?


Andrei Smolin
Add-in Express Team Leader
Posted 29 May, 2019 05:41:21 Top
Robert Mills




Posts: 19
Joined: 2018-07-30
Hi Andrei,

Ah, interesting. The manifest file itself is not signed with the code signing certificate. Should it be? Or should it just have signature information for my assemblies (in this case OutlookPlugin.Host.dll)?

Here's the Visual Studio 2019 console output:


OutlookPlugin -> Sign OutlookPlugin.Host.dll... Success
OutlookPlugin -> Sign adxloader.dll.manifest... Success


I'm going to try building with VS 2017 and see if there is a difference.
Posted 29 May, 2019 07:46:28 Top
Robert Mills




Posts: 19
Joined: 2018-07-30
Building with Visual Studio 2017 works.

Comparing the manifest outputs from both versions I see there is some variation with the <SignedInfo> tag in adxloader.dll.manifest

VS 2017

		<SignedInfo>
			<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
			<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
			<Reference URI="#OutlookPlugin.Host">
				<Transforms>
					<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
				</Transforms>
				<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
				<DigestValue>AwajlL8KFc7977dfH+l/U+mYrL0=</DigestValue>
			</Reference>
		</SignedInfo>


VS 2019

		<SignedInfo>
			<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
			<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
			<Reference URI="#OutlookPlugin.Host">
				<Transforms>
					<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
					<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
				</Transforms>
				<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
				<DigestValue>wXgAEKDQ0d+1X+E4C/dTyr05FPZWJKAhwDikYNUfQzQ=</DigestValue>
			</Reference>
		</SignedInfo>
Posted 29 May, 2019 08:08:04 Top
Andrei Smolin


Add-in Express team


Posts: 18825
Joined: 2006-05-11
Robert Mills writes:
Operating System: Microsoft Windows 10 Professional (build 18362), 64-bit


Are you using Windows Insider? I suppose the issue may relate to this fact. Does it occur on regular windows 10 builds?

Robert Mills writes:
Comparing the manifest outputs from both versions I see there is some variation with the <SignedInfo> tag in adxloader.dll.manifest


Yes, SHA256 is used in VS 2019 to sign an XML.


Andrei Smolin
Add-in Express Team Leader
Posted 29 May, 2019 08:43:31 Top
Robert Mills




Posts: 19
Joined: 2018-07-30
Yep, I am on the Release Preview track.
Posted 29 May, 2019 08:49:31 Top
Robert Mills




Posts: 19
Joined: 2018-07-30
I spun up a fresh Windows 10 VM with build 1809 installed and I get the same result when building from Visual Studio 2019.


Add-in Express Loader Log File: 05/29/2019 19:20:23:645

Startup directory: C:UsersIEUserAppDataLocalMyCompany
Loader version: 9.3.4641.0
Operating System: Microsoft Windows 10 (build 17763), 64-bit
Process Owner: Administrator
Command Line: "C:Program Files (x86)Microsoft Office
ootOffice16OUTLOOK.EXE" 
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On
------------------------------------------------------------------------
19:20:23:645 7036 4804 Start.
19:20:23:645 7036 4804 The minimum supported Office version is 12
19:20:23:645 7036 4804 The host's version is 16.0.11601.20230
19:20:23:645 7036 4804 Creating a new instance of the add-in loader.
19:20:23:645 7036 4804 Loading mscoree.dll
19:20:23:645 7036 4804 INFO: Assembly codebase - C:UsersIEUserAppDataLocalMyCompanyOutlookPlugin.Host.dll.
19:20:23:645 7036 4804 INFO: Assembly version - 2.0.3.0.
19:20:23:645 7036 4804 Success.
19:20:23:645 7036 4804 Loading the configuration from the system registry.
19:20:23:645 7036 4804 Getting the latest CLR version.
19:20:23:645 7036 4804 The latest CLR version is 'v4.0.30319'.
19:20:23:645 7036 4804 The configuration has been loaded successfully.
19:20:23:645 7036 4804     Runtime version: v4.0.30319.
19:20:23:645 7036 4804     Assembly name: OutlookPlugin.Host, PublicKeyToken=513CF12C9889A575.
19:20:23:645 7036 4804     Class name: OutlookPlugin.Host.AddinModule.
19:20:23:645 7036 4804     Registry key: CLSID{74D7346B-C1F5-42FB-B5A7-79F4897BF071}.
19:20:23:707 7036 4804 Attempting to create a new instance of the managed add-in class: CLR - v4.0.30319
19:20:23:707 7036 4804 Loading CLR: v4.0.30319.
19:20:23:707 7036 4804 Calling CLRCreateInstance method.
19:20:23:707 7036 4804 Success.
19:20:23:707 7036 4804 Calling GetRuntime method.
19:20:23:707 7036 4804 Success.
19:20:23:707 7036 4804 Checking if the hosting API of .NET Framework v4.0 beta is installed.
19:20:23:723 7036 4804 The hosting API is up to date.
19:20:23:723 7036 4804 Calling SetDefaultStartupFlags method.
19:20:23:723 7036 4804 Success.
19:20:23:723 7036 4804 Calling GetInterface method for the CorRuntimeHost interface.
19:20:23:723 7036 4804 Success.
19:20:23:723 7036 4804 Starting CLR...
19:20:23:723 7036 4804 Success.
19:20:23:723 7036 4804 Getting the CLR version.
19:20:23:723 7036 4804 The CLR v4.0.30319 has been initialized successfully.
19:20:23:801 7036 4804 Error code: 0x8009210d

Posted 29 May, 2019 21:21:00 Top
Andrei Smolin


Add-in Express team


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

Does your certificate support the SHA2 signature algorithm? We updated our certificate to support SHA2.


Andrei Smolin
Add-in Express Team Leader
Posted 30 May, 2019 03:37:28 Top
Robert Mills




Posts: 19
Joined: 2018-07-30
Hi Andrei,

Yes, our certificate supports SHA2. I just tried dropping signing with SHA1 and just use SHA256, but the outcome is the same wherein the add-in fails to load with the error noted prior.

Thanks,
Robert
Posted 30 May, 2019 06:50:53 Top
Andrei Smolin


Add-in Express team


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

Does a newly created add-in project with no code demonstrate the same issue?


Andrei Smolin
Add-in Express Team Leader
Posted 30 May, 2019 08:49:56 Top