通过 MSI 安装后,可执行文件未签名

Sea*_*ard 3 .net c# windows-installer signtool

我们有一个应用程序,需要用户是管理员才能运行。所以,在app.manifest我们已经设置

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

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

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

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

打包成 MSI 后如何才能对可执行文件进行签名?

Sea*_*ard 6

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

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