0

我想使用 Intellilock 1.8 来锁定 Outlook2010 加载项包。它包括其他 Mocrosoft VSTO dll,我的自定义签名 dll 和带有安全哈希的清单文件。我在锁定该 dll 时提供了项目 *.snk 密钥文件,但在尝试安装最终包时仍然收到错误:

System.Deployment.Application.InvalidDeploymentException:文件 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>
4

1 回答 1

0

解决方案是在主构建之前应用 IntelliLock 签名。解决方案与此问题中的相同。

<Target Name="AfterCompile">
    <Exec Command="$(IntelliLockLocation) -project $(IntelliLockProject) -file &quot;$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)&quot; -targetfile &quot;$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)&quot;  -snkeypair &quot;$(ProjectDir)$(AssemblyOriginatorKeyFile)&quot; -snpassword *****" />
  </Target>
于 2014-02-26T03:55:48.660 回答