2

我有几个项目会产生几个参考。并在最终生成 MSI 文件的安装程序项目中;使用 WIX 锋利。

编写了预构建事件以将引用从不同文件夹复制到 MSI 的打包文件夹。它工作正常,MSI 成功生成。

现在我想使用代码签名证书对 MSI 进行签名,问题是在 MSI 构建开始之前执行构建后事件,并且由于没有 MSI,因此构建出现错误。

我正在使用 Visual Studio 2017。

我正在执行的后期构建代码

$(ProjectDir)signtool\signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /sm /sha1 [hash] $(ProjectDir)\test.msi
4

1 回答 1

2

不幸的是,如果您真的使用WixSharp ,则无法在Post-Build事件中签署您的 MSI ,因为 MSI 包是通过在运行时调用ManagedProject.BuildMsi()方法创建的。

所以我在这里只看到一种解决方法,您需要在BuildMsi()方法执行后调用Process.Start("signtool\signtool.exe ...")"

于 2020-02-23T12:59:37.203 回答