我应该签署捆绑包和/或所有MSI文件吗?WIX

3

我使用WIX工具集生成MSI文件,然后将它们放在一个单独的捆绑包中。接着,我从捆绑包中签署引擎(wix手册)和捆绑包本身:

insignia -ib bundle.exe -o engine.exe
signtool sign /v /f test_cert.pfx /p pass1234 /t http://timestamp.globalsign.com/scripts/timstamp.dll engine.exe
insignia -ab engine.exe bundle.exe -o bundle.exe
signtool sign /v /f test_cert.pfx /p pass1234 /t http://timestamp.globalsign.com/scripts/timstamp.dll bundle.exe

我看到一些帖子描述了这个过程,并包括对所有MSI和cabs文件进行签名。我想知道是否只签署引擎和捆绑包而不是MSI文件就足够了。这有什么后果?推荐的方法是什么?

1个回答

4

是的,仅签名Bundle就足够了。Bundle包含链接包的哈希值,以确保在传输或安装过程中没有对包进行篡改。Bundle类似于其包含文件的目录文件。

我们的建议(通常)是除非你必须直接向客户发送MSI,否则不需要签署任何东西--例如基于GPO的部署。


我一直不喜欢管理安装会移除MSI文件的数字证书这个事实。甚至MSI 5开始缓存整个MSI文件 - 包括内部cab文件 - 以避免破坏签名(UAC问题)。另一个问题,但我认为这是你建议签署捆绑包本身而不是嵌入式MSI文件的原因之一?(不是很重要,只是想到了)。我想大公司应该自签其提取的MSI文件。没有尝试过。 - Stein Åsmul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接