【问题标题】:Is Wix Custom Action project can be signed?可以签署 Wix 自定义操作项目吗?
【发布时间】:2017-01-27 05:56:16
【问题描述】:

我们正在使用 Wix 进行安装项目,并且其中有一个单独的 CustomAction 项目。 CustomAction 项目(强签名)具有一个强签名的依赖项目(称为 ProjA)引用。

Case1# 自定义操作和 ProjA 项目都已签名,然后出现以下错误。 无法加载文件或程序集 XXX.CustomAction、Version=2.5.2.0、Culture=neutral、PublicKeyToken=XXXXXXXXX' 或其依赖项之一。强名称验证失败。 (HRESULT 异常:0x8013141A)。

Case2# 如果我们从自定义操作项目中删除强签名并保持 ProjA 签名,那么我们会收到以下错误 无法加载文件或程序集 XXX.ProjA、Version=2.5.2.0、Culture=neutral、PublicKeyToken=XXXXXXXXX' 或其依赖项之一。强名称验证失败。 (HRESULT 异常:0x8013141A)。

Case3# 如果我们从自定义操作和 ProjA 项目中删除强签名,则设置运行成功。 所以我们正在寻找要解决的案例#1。

有人对此有想法吗?

【问题讨论】:

    标签: wix windows-installer .net-4.6 wix3.10


    【解决方案1】:

    首先阅读有关 DTF 工作原理的背景:

    http://blog.deploymentengineering.com/2008/05/deployment-tools-foundation-dtf-custom.html

    当您将打包的 CA DLL 重命名为 .zip 并查看其内容时,您可能不会在其中看到已签名的 DLL。

    我已经有一段时间没有这样做了,但我认为这与 SfxCA 的默认构建行为有关,即尝试决定应该打包什么和不应该打包什么。 (假设你 DLL 是,其他一些 DLL 是,system.dll 否),我认为它考虑了代码签名。切换参考上的 CopyLocal (true|false) 标志并使用 zip 技术重建/重新检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多