gpt4 book ai didi

wix - 当旧证书过期时在 WiX 补丁中提供新证书

转载 作者:行者123 更新时间:2023-12-01 23:31:50 25 4
gpt4 key购买 nike

背景

我正在研究确定 WiX 是否是 InstallShield 的可行替代方案。所以我一直在测试我们工作中遇到的每一个场景,以确保 WiX 能够处理它们。然而,我被一个问题难住了。当证书即将过期时,我们需要创建一个包含新证书的补丁,并在旧证书过期之前由旧证书签名,以便在没有管理员提升提示的情况下进行无缝修补。

问题

互联网上没有太多关于如何执行此操作的文档。我尝试过添加

<DigitalCertificate Id="MyNewCertificate" SourceFile="{PATH_TO_NEW_CERTIFICATE}"/>

到wxs文件中的PatchCertificates元素来生成MSI文件,然后使用旧的和新的MSI文件生成MSP文件。当我使用 7zip 打开 MSP 文件时,我可以看到新证书已嵌入其中。当我在锁定帐户上测试它时,应用此补丁时没有出现提升提示,但由新证书签名的下一个补丁会显示提升提示。

我尝试过的

我尝试按照 https://wyrdfish.wordpress.com/2012/07/20/writing-a-parallel-update/ 中的步骤操作用于创建“并行”更新,但进行修改以使其与 PatchCreation(而不是 Patch)一起使用。我匹配了所有的属性更改,但仍然显示海拔提示。

Wyrdfish 评论道:“证书过期很有趣,因为您需要使用修补程序来交付由旧证书在过期之前签名的新证书,以便您可以在将来的补丁中使用新证书进行签名。”在 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Require-admin-rights-to-msp-td7586837.html ,但没有提供有关如何执行此操作的详细信息。该帖子已经有两年了,所以我非常怀疑我会在那里得到回复。

我还尝试在 Signtool.exe 中使用新证书提供/ac 参数,但出现交叉签名错误。

我究竟做错了什么?在新的 MSI 文件中,没有其他更改,只有新的 DigitalCertificate 元素,这反射(reflect)在 MSP 中。我需要包含某种文件更改或其他内容吗?还是签名过程有问题?

最佳答案

发现我的补丁存在问题。对于遇到类似问题的任何人,您需要在 PatchCreation 的 PatchSequence 元素中指定 ProductCode,它与用于构建 MSI 的产品 ID 的 GUID 相同。我没有这个引用资料,这显然引起了问题。现在它不会提升管理员权限。将此与相关链接中指示的步骤结合起来,您就可以进行 LUA 修补了。

关于wix - 当旧证书过期时在 WiX 补丁中提供新证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31273553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com