0

我之前尝试过解决这个问题,但我无法完全解决它。任何建议,将不胜感激。

我有一个正在 Visual Studio 2010 中开发的解决方案,它有几个与之相关的项目。由于该解决方案安装了一项服务和一个托盘应用程序来控制它,因此该托盘必须以管理员身份运行。

我正在使用 Verisign 证书对每个 dll 和 exe 进行签名,并且日志报告签名成功。起初,我在构建安装程序之前使用脚本对所有内容进行签名。然后我尝试在之前和之后签署所有内容。最近,我认为我已经通过将每个项目的签名移动到项目的构建后事件来解决了这个问题。

安装公司名称时显示在发布者下,因此我知道安装程序文件已正确签名。安装后,应用程序启动时会出现问题。出现 UAC 安全弹出窗口,但发布者列为未知。

我为每个项目添加了一个构建后事件,类似于:

c:\Verisign\signtool.exe 签名 /f "c:\Verisign\Certificate.2012.pfx" /p 密码 /t http://timestamp.verisign.com/scripts/timstamp.dll "C:\Code\Service \bin\App.dll"

看来这应该可行。谁能告诉我我做错了什么?

4

1 回答 1

1

我终于设法弄清楚我在这里做错了什么。我正在使用 Windows 安装程序,该安装程序将项目输出用于文件。虽然这些文件是在 bin 文件夹中签名的,但在安装应用程序后它们不再签名。

我没有使用项目输出,而是手动添加了我想要包含在安装程序中的所有 DLL 和 EXE 文件。完成此操作后,当 UAC 弹出窗口出现时,公司名称开始出现。

我更喜欢使用项目输出,因为它看起来更加集成,但我更希望有一个可行的解决方案。

于 2013-06-19T18:27:29.643 回答