2017-01-27 64 views
0

我们使用Wix进行安装项目,并在其中有一个独立的CustomAction项目。 CustomAction项目(强签名)有一个强有力签名的依赖项目(称为ProjA)引用。Wix自定义操作项目是否可以签名?

案例1#自定义行动和ProjA项目都签署,然后得到以下错误。 无法加载文件或程序集XXX.CustomAction,Version = 2.5.2.0,Culture = neutral,PublicKeyToken = XXXXXXXXX'或其某个依赖项。强名称验证失败。 (来自HRESULT的异常:0x8013141A)。

案例2#如果我们去掉强烈的自定义操作项目签约,并保持ProjA签名,则我们得到以下错误 无法加载文件或程序集XXX.ProjA,版本= 2.5.2.0,文化=中立,公钥= XXXXXXXXX'或其依赖项之一。强名称验证失败。 (来自HRESULT的异常:0x8013141A)。

案例3#如果我们从Custom Action和ProjA项目中删除了强烈签名,安装程序运行成功。 所以我们正在寻找案例#1来解决。

有没有人有这方面的想法?

回答

0

开始阅读关于如何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技术重建/重新检查。