C# Wix安装程序如何区分目标版本?
我在Visual Studio中的C#项目将通过Wix安装。我有两个目标版本:演示版和发布版。我想区分这些版本,并在产品名称中添加后缀“Demo”:C# Wix安装程序如何区分目标版本?,c#,visual-studio-2012,wix,wix3.8,C#,Visual Studio 2012,Wix,Wix3.8,我在Visual Studio中的C#项目将通过Wix安装。我有两个目标版本:演示版和发布版。我想区分这些版本,并在产品名称中添加后缀“Demo”: #if Demo <?define Suffix = "(Demo)"?> #endif <Product [...] Name="MyApp $(var.Suffix)" [...] > #如果演示 #恩迪夫 如何实现这一点?使用以下代码,您可以基于配置MSBuild属性定义producttargetWiX变量:
#if Demo
<?define Suffix = "(Demo)"?>
#endif
<Product [...] Name="MyApp $(var.Suffix)" [...] >
#如果演示
#恩迪夫
如何实现这一点?使用以下代码,您可以基于
配置MSBuild属性定义producttarget
WiX变量:
<!-- Somewhere in .wixproj -->
<PropertyGroup>
<DefineConstants Condition=" '$(Configuration)' == 'Debug' ">$(DefineConstants);producttarget= (Demo)</DefineConstants>
<DefineConstants Condition=" '$(Configuration)' == 'Release' ">$(DefineConstants);producttarget=</DefineConstants>
</PropertyGroup>
我自己找到了解决办法。我可以使用var.ProjectName.Configuration
和Wix的预处理器来区分演示版和发行版
这是我的开关:
<?if $(var.ProjectName.Configuration) = Demo ?>
<?define Suffix = "(Demo)" ?>
<?else ?>
<?define Suffix = "" ?>
<?endif ?>
将后缀(演示)添加到我的产品:
<Product [...] Name="MyApp $(var.Suffix)" [...] >
<Product [...] Name="MyApp $(var.Suffix)" [...] >