0

我不确定他们为什么不能简化签名代码的过程。似乎每次发布都需要一天或更长时间才能弄清楚。我们使用 Verisign 并拥有当前的 pfx 文件。

我有一个以管理员身份运行的应用程序,因此我需要对应用程序和安装程序都进行签名。几个月前我设法完成了一次,并发布了。在这个版本中,我决定简化流程,并设置 Visual Studios 自动签署所需的文件,使用 Properties -> Signing 为每个项目。然后我运行我的脚本,同时将安装程序构建为 PostBuildEvent 以对其进行签名。

我以为一切都很顺利,因为安装人员给出了公司名称。但是,当我运行应用程序时,UAC 中显示“未知”。我决定回到我之前做的方式,构建,签署文件,构建安装程序,最后签署它。这在三个月前有效,但现在我仍然在 UAC 弹出窗口中遇到“未知”问题。

我没有向解决方案添加任何新类,因此我的签名脚本应该仍然有效。我无法弄清楚我可能做错了什么。是否有任何关于如何使用 Verisign 签名的良好文档或应遵循的简单规则?似乎signtool.exe sign /f "Verisign.2012.pfx" /p myPassword "C:\...\Installer.msi"在构建后调用所有 .exe 和 .dll 文件,然后创建安装程序并在 .exe 和 .msi 文件上调用相同的文件应该确保所有内容都已签名并且我不应该看到“未知”。

有没有比我更有经验的人(我相信有几个)可能会看到我理解中的巨大漏洞,并让我走上正确的道路?谢谢你。

4

1 回答 1

0

我确定我做错了什么。我正在构建项目,然后签署它。之后,我正在构建安装程序并对其进行签名。但是,通过一些测试,我发现构建安装程序会从我的文件中删除数字签名。

在 VS 项目上使用 VeriSign 签名的正确方法不是创建使用项目输出的安装程序。相反,手动选择文件并将其添加到安装程序。之后,您将需要添加一个构建后事件(属性 -> 构建事件 -> 构建后事件命令行)来签署每个项目的输出。

感谢那些提出解决方案的人。

于 2012-10-19T18:44:40.850 回答