之前我曾尝试解决此问题,但我无法完全解决此问题。任何建议将不胜感激。
我有一个在Visual Studio 2010中开发的解决方案,它有几个与之关联的项目。由于解决方案安装了服务以及托盘应用程序来控制它,因此托盘必须以管理员身份运行。
我使用Verisign证书签署每个dll和exe,日志报告签名成功。起初,我在构建安装程序之前使用脚本对所有内容进行签名。然后我尝试在之前和之后签署所有内容。最近,我认为我已经通过将每个项目的签名移动到项目的后期构建事件来解决了这个问题。
当安装公司名称显示在发布者下时,我知道安装程序文件正在正确签名。安装后,应用程序启动时会出现问题。出现UAC安全性弹出窗口,但发布者列为未知。
我为每个项目添加了一个post-build事件,类似于:
c:\ Verisign \ signtool.exe sign / f“c:\ Verisign \ Certificate.2012.pfx”/ p password / t http://timestamp.verisign.com/scripts/timstamp.dll“C:\ Code \ Service \ bin \ App.dll”
看起来这应该有效。谁能告诉我我做错了什么?
答案 0 :(得分:1)
我终于弄清楚我在这里做错了什么。我使用的是一个Windows安装程序,它使用Project Output作为文件。虽然这些文件是在bin文件夹中签名的,但在安装应用程序后它们不再签名。
我没有使用Project Output,而是手动添加了我想要包含在安装程序中的所有DLL和EXE文件。执行此操作后,公司名称在UAC弹出窗口出现时开始显示。
我更喜欢使用项目输出,因为它似乎更集成,但我宁愿有一个有效的解决方案。