我有一个项目,我已经构建了一个WiX msi文件.我还有一个WiX引导程序(exe文件),它检查是否存在C++ 2005,如果找不到则安装它,然后安装msi软件包.我的项目包括Crystal Reports作为msm文件,它与msi一起安装但需要C++ 2005才能正确安装.
在MSI项目中,我已经包含以下post构建事件来对msi文件进行数字签名.
sign /f "$(ProjectDir)\myPFXFile.pfx" /p mySecretKey/d "My Program" /t http://timestamp.verisign.com/scripts/timstamp.dll /v "MyProgram.msi"
Run Code Online (Sandbox Code Playgroud)
如果我只安装msi,它会在请求提升的安装权限时正确识别发布者.
我尝试将相同的post-build事件添加到bootstrapper项目,如下所示:
sign /f "$(ProjectDir)\myPFXFile.pfx" /p mySecretKey/d "My Program" /t http://timestamp.verisign.com/scripts/timstamp.dll /v "MyProgram Setup.exe"
Run Code Online (Sandbox Code Playgroud)
当我尝试安装exe文件时,它正确识别发布者,但无法使用日志文件中的以下内容进行安装:
[1604:2574][2013-12-04T11:49:51]i001: Burn v3.7.1224.0, Windows v6.2 (Build 9200: Service Pack 0), path: C:\Users\.....\MyProgram Setup.exe, cmdline: ''
[1604:2574][2013-12-04T11:49:51]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\.....\MyProgram_20131204114951.log'
[1604:2574][2013-12-04T11:49:51]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\.....\MyProgram Setup.exe'
[1604:2574][2013-12-04T11:49:51]i000: Setting string variable 'WixBundleName' to value 'MyProgram'
[1604:2574][2013-12-04T11:49:51]i100: Detect begin, 2 packages
[1604:2574][2013-12-04T11:49:51]i000: Setting string …Run Code Online (Sandbox Code Playgroud)