我不确定为什么他们不能简化签名代码的过程。似乎每次发布时,都需要一天或更多的时间才能弄清楚。我们使用Verisign并具有当前的PFX文件。
我有一个作为管理员运行的应用程序,因此我需要同时签署应用程序和安装程序。几个月前,我设法完成了一次,然后释放。在此版本中,我决定简化过程,并设置Visual Studios,使用每个项目的属性 ->签名自动签署所需的文件。然后,我在构建安装程序作为后建造者时运行了脚本,以签名。
我认为一切都很好,因为安装人员给公司的名字命名。但是,当我运行应用程序时,"未知"显示在UAC中。我决定返回以前做的方式,建造,签署文件,构建安装程序并最终签名。这已经在三个月前工作了,但是现在我仍然在UAC弹出窗口中遇到了"未知"问题。
我没有在解决方案中添加任何新类,因此我的签名脚本应该仍然有效。我无法弄清楚我可能做错了什么。关于如何使用VeriSign或应遵循的简单规则签名的文档有什么好的文档吗?似乎在构建后所有.exe和.dll文件上调用signtool.exe sign /f "Verisign.2012.pfx" /p myPassword "C:...Installer.msi"
,然后在.exe和.msi文件上创建安装程序并将其调用相同,以确保签署所有内容,我不应该看到"未知"。
是否有人拥有比我(我敢肯定)更多的经验,他们可能会看到我的理解中的漏洞,并使我走上正确的道路?谢谢。
我确定了我做错了什么。我正在构建项目,然后签署它。之后,我正在建造安装程序并签署。但是,通过一些测试,我发现构建安装程序正在从文件中剥离数字签名。
在VS项目上使用Verisign签名的正确方法不是创建使用项目输出的安装程序。而是手动选择文件并将文件添加到安装程序。之后,您需要添加一个签名每个项目输出的后构建事件(属性 ->构建事件 ->构建事件 ->构建事件命令行)。
感谢那些建议解决方案的人。