我不知道为什么他们不能简化签名代码的过程。似乎每次发布一个版本,都需要一天或更长时间才能弄清楚。我们使用Verisign并拥有最新的pfx文件。
我有一个以管理员身份运行的应用程序,因此我需要对应用程序和安装程序进行签名。几个月前,我成功地完成了一次,并发布了。在这个版本中,我决定简化这个过程,并将Visual Studios设置为自动签署所需的文件,对每个项目使用属性->签名。然后,我在将安装程序构建为PostBuildEvent时运行脚本以对其进行签名。
我以为一切都很顺利,因为安装者给出了公司的名字。然而,当我运行应用程序时,在UAC中显示“未知”。我决定回到以前的方式,构建,签署文件,构建安装程序,最后签署它。这在三个月前是有效的,但是现在我仍然在UAC弹出窗口中得到“未知”的问题。
我没有向解决方案中添加任何新类,因此我的签名脚本应该仍然有效。我不知道我可能做错了什么。有没有关于如何使用Verisign签名或应该遵循的简单规则的好文档?这看起来就像在构建之后对所有.exe和.dll文件调用signtool.exe sign /f "Verisign.2012.pfx" /p myPassword "C:\...\Installer.msi",然后创建安装程序并对.exe和.msi文件调用相同的安装程序,应该可以确保所有内容都已签名,并且我不应该看到“未知”。
有没有人比我(我相信有几个人)更有经验,他们可能会发现我的理解中的巨大漏洞,并将我带上正确的道路?谢谢。
发布于 2012-10-20 02:44:41
我确定了我做错了什么。我正在构建这个项目,然后签署它。在那之后,我开始构建安装程序并对其进行签名。然而,通过一些测试,我发现构建安装程序会从我的文件中剥离数字签名。
在VS项目中使用VeriSign签名的正确方法不是创建使用项目输出的安装程序。相反,请手动选择文件并将其添加到安装程序中。在此之后,您将需要添加一个生成后事件(properties -> Build Events -> post-build event命令行),用于对每个项目的输出进行签名。
感谢那些提出解决方案的人。
https://stackoverflow.com/questions/12978353
复制相似问题