Visual studio 2012 新的SignTool证书和密码会导致MSBuild/WiX后期生成事件失败
在过去的4年里,我一直在我的DLL项目和我的WiX项目(用于构建MSI)中成功地使用部署解决方案中的后期生成事件。最近,我们收到了一个新的证书和密码,因为以前的证书已过期 由于DLL的PostBuild事件和WiX PostBuild事件都失败,我无法再生成解决方案 我注释掉了DLL项目和WiX项目中的SignTool命令,并且两个项目都正确构建 当PostBuild事件中包含以下signtool命令时,我收到一个错误,即PostBuild退出时出现-1Visual studio 2012 新的SignTool证书和密码会导致MSBuild/WiX后期生成事件失败,visual-studio-2012,visual-studio-2013,msbuild,wix,signtool,Visual Studio 2012,Visual Studio 2013,Msbuild,Wix,Signtool,在过去的4年里,我一直在我的DLL项目和我的WiX项目(用于构建MSI)中成功地使用部署解决方案中的后期生成事件。最近,我们收到了一个新的证书和密码,因为以前的证书已过期 由于DLL的PostBuild事件和WiX PostBuild事件都失败,我无法再生成解决方案 我注释掉了DLL项目和WiX项目中的SignTool命令,并且两个项目都正确构建 当PostBuild事件中包含以下signtool命令时,我收到一个错误,即PostBuild退出时出现-1 EXEC : SignTool erro
EXEC : SignTool error : The specified PFX password is not correct.
DLL后期生成事件调用SignTool,如下所示:
"$(SolutionDir)\Certificates\signtool.exe" sign /f "$(SolutionDir)\Certificates\MyCertificate.pfx" /p Pass%word& -t http://timestamp.verisign.com/scripts/timstamp.dll /v "$(TargetDir)MyDll.dll"
尝试在命令提示符下运行同一命令时,如果双引号未括在双引号中,将收到以下消息
SignTool Error: Missing filename.
'e' is not recognized as an internal or external command, operable program or batch file.
当试图通过命令行运行SignTool时,如果密码包含在双引号中,则它会起作用
SignTool Error: Missing filename.
'e' is not recognized as an internal or external command, operable program or batch file.
无论在双引号中包含密码方面做了什么,项目都不会编译
我读过VisualStudio(和msbuild?)扫描输出中的某些单词并确定该过程失败。我注意到,当运行SignTool进程时,我在进程结束时收到以下消息,我想知道这是否与单词错误有关
我必须用转义字符来表示特殊字符 Brian Sutherland是正确的尝试在exec命令中使用“而不是”。您可能还必须用“%25”转义“%”,但我不确定这一点。只是一些需要尝试的东西。