我想使用Intellilock 1.8来锁定Outlook2010加载项包。 它包括其他Mocrosoft VSTO dll我的自定义签名dll和带有安全散列的清单文件。 我在锁定该DLL时提供了项目* .snk密钥文件,但在尝试安装最终软件包时仍然收到错误:
System.Deployment.Application.InvalidDeploymentException:File, OutlookAddIn2010.dll具有与指定的不同的计算哈希值 清单。
原始Visual Studio安装程序还会自动创建已签名的ClickOnce清单。 主要的dll在本节中提到:
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="OutlookAddIn2010.dll" size="275968">
<assemblyIdentity name="OutlookAddIn2010" version="2.7.0.0" publicKeyToken="DEDC24E24E6D7D88" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>Vg17KBReMnOV9emW0ddVuN7AaIU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
答案 0 :(得分:0)
解决方案是在主构建之前应用IntelliLock签名。 解决方案与此question中的解决方案相同。
<Target Name="AfterCompile">
<Exec Command="$(IntelliLockLocation) -project $(IntelliLockProject) -file "$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" -targetfile "$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" -snkeypair "$(ProjectDir)$(AssemblyOriginatorKeyFile)" -snpassword *****" />
</Target>