通过MSI安装后,不会签署可执行文件

时间:2010-10-18 21:16:22

标签: c# .net windows-installer signtool

我们有一个应用程序,要求用户成为管理员才能运行。所以,在我们设置的app.manifest

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

我们有一个密钥来签署我们的程序集,我已经能够用它来签署MSI和我们的应用程序的可执行文件。应用程序的可执行文件在项目的后期构建事件中通过signtool.exe签名。

如果我查看bin目录,可执行文件确实已正确签名,但在将其打包到msi并安装在另一台计算机上后,可执行文件将不再签名。

这通常不是一个大问题,除了我们需要管理员权限,因此当用户获得UAC提示时,它会显示一个未知的发布者。

如何将可执行文件打包到MSI后进行签名?

1 个答案:

答案 0 :(得分:4)

我终于在一个不起眼的博客上找到了答案。

编译MSI时,它不会从bin目录中提取,而是从obj目录中提取。基本上,我签署了错误的可执行文件。