Wix4使用wix build命令时$(Configuration)预处理器变量未定义问题
解决Wix4命令行构建WIX0150错误的方案
1. 正确用-d参数传递Configuration变量
之前的语法错误是因为多带了$()包裹,直接用-d变量名=值的格式就行。比如构建Release版本:
wix build .\你的项目文件.wixproj -dConfiguration=Release
Debug版本就改成:
wix build .\你的项目文件.wixproj -dConfiguration=Debug
2. 给Wix项目文件设置默认配置
不想每次敲参数的话,打开.wixproj文件,找到<PropertyGroup>节点,添加默认的Configuration值:
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
或者直接定义预处理器常量:
<DefineConstants>Configuration=$(Configuration)</DefineConstants>
这样执行wix build时会自动用默认配置,不用额外传参。
3. 改用msbuild命令构建(和Wix3用法一致)
既然VS里能正常构建,也可以直接用msbuild命令,它会自动处理Configuration变量,和你之前Wix3的命令行习惯兼容:
msbuild .\你的项目文件.wixproj /p:Configuration=Release
内容的提问来源于stack exchange,提问作者juagicre
相关产品推荐
相关产品推荐

