我正在使用Visual Studio 2010和WiX构建我的MSI项目。我想在成功编译后自动签署发布版本。 (注意,不是Debug
构建,以节省编译时间。)
到目前为止,我在解决方案配置中选择了'Release'时添加了这个“Post-build”事件:
转换为此命令:
"D:\C++\My Project\MSI Installer\MyProject-Installer\..\..\..\CodeSigner.exe" "D:\C++\My Project\MSI Installer\MyProject-Installer\MyProject-Installer\bin\Release\MyProject-Installer.msi"
嗯,问题是$(TargetPath)
不是那个。结果MSI
的实际路径是美国英语版本的实际路径:
D:\C++\My Project\MSI Installer\MyProject-Installer\MyProject-Installer\bin\Release\en-us\MyProject-Installer.msi
问题1:您在\en-us
填写的内容中看到$(TargetPath)
文件夹丢失了。
问题2: VS 2010尝试为Release
和Debug
运行此构建后脚本。我只需要Release
,就像我能够使用VS 2008一样。
那么任何想法如何解决这两个问题?
答案 0 :(得分:0)
if $(ConfigurationName) == Debug (
xcopy "$(ProjectDir)bin\Debug\Blobs.msi" "$(SolutionDir)debugDir" /Y /r
) ELSE (
xcopy "$(ProjectDir)bin\Release\Blobs.msi" "$(SolutionDir)releaseDir" /Y /r
)