我一直在尝试使用以下代码在post build事件中签署MSI文件
signtool sign /t http://timestamp.verisign.com/scripts/timestamp.dll /f "E:\Products\Tools\DigitalId\Certificate.pfx" /p 1501ocbc /d "Server" "E:\Products\Setup\Server_Setup\ServerSetup\bin\Release\en-US\ServerSetup.msi"
这将使用Visual Studio命令提示符签名,类似的代码适用于C ++项目。但是,在构建设置并使用post build事件签署代码时,我收到代码错误,9009。经过大量调试后,我得出结论,WiX正在使用普通的命令提示符。如何在WiX中使用Visual Studio工具打开cmd.exe
?
或者是否有其他方式签署我的包裹?
答案 0 :(得分:1)
看起来有一种内置的签名MSI文件的方式,它似乎与SignTool一起正常工作:Insignia。
答案 1 :(得分:1)
您可以像这样定义事件:
"%programw6432%\microsoft sdks\windows\v7.1\bin\signtool.exe" sign /t etc..
注意:您需要调整安装路径(程序文件,Windows SDK版本等),或者您也可以定义自己的环境变量。
答案 2 :(得分:0)
/sha1
哈希密钥 - 只是为了确保证书是好的(检查浏览器 - internetoptions / content / certificate)signtool.exe
置于可访问路径中