Visual Studio中的我的C#项目将通过Wix安装。我有两个目标版本:Demo和Release。我想区分这些构建并将后缀“Demo”添加到产品名称中:
#if Demo
<?define Suffix = "(Demo)"?>
#endif
<Product [...] Name="MyApp $(var.Suffix)" [...] >
我怎样才能做到这一点?
答案 0 :(得分:2)
使用以下代码,您可以根据producttarget
MSBuild属性定义Configuration
WiX变量:
<!-- Somewhere in .wixproj -->
<PropertyGroup>
<DefineConstants Condition=" '$(Configuration)' == 'Debug' ">$(DefineConstants);producttarget= (Demo)</DefineConstants>
<DefineConstants Condition=" '$(Configuration)' == 'Release' ">$(DefineConstants);producttarget=</DefineConstants>
</PropertyGroup>
然后在producttarget
声明中使用Product
:
<Product Id="*"
Name="SetupProject1$(var.producttarget)"
Language="1033"
Version="1.0.0.0"
Manufacturer="Manufacturer1"
UpgradeCode="41169d90-ca08-49bc-b87b-4b74f1f50d0e">
答案 1 :(得分:0)
我得到了自己的解决方案。我可以使用var.ProjectName.Configuration
和Wix的预处理器来区分演示和发布。
这是我的开关:
<?if $(var.ProjectName.Configuration) = Demo ?>
<?define Suffix = "(Demo)" ?>
<?else ?>
<?define Suffix = "" ?>
<?endif ?>
将后缀(演示)添加到我的产品:
<Product [...] Name="MyApp $(var.Suffix)" [...] >