Luc*_*uca 9 deployment installer windows-installer wix
是否可以使用Visual Studio配置环境进行条件安装配置?
例如,选择DEBUG或RELEASE配置,Wix会在构建的安装中选择不同的可执行文件.
基本上我将从相同的项目中构建不同的安装,但它们因组件而异.某些组件是从同一个项目构建的,但是使用不同的预处理器选项构建.
当然可以包含每个必需的组件,然后定义功能以便为安装选择特定组件,但我不想真正重新分发某些可执行文件.
构建不同的Wix项目是唯一的解决方案吗?
Bra*_*s83 11
把另外两个答案和Luca的研究放在一起我想出了这个解决方案,这似乎有效(请注意,字符串比较似乎区分大小写,缺少引号似乎是正确的,我用WiX 3.7测试了这个) ):
<?if $(var.Configuration) = Debug ?>
<!-- DEBUG ONLY -->
[ ... insert debug only XML here ... ]
<!-- END DEBUG ONLY -->
<?else?>
<!-- RELEASE ONLY -->
[ ... insert release only XML here ... ]
<!-- END RELEASE ONLY -->
<?endif?>
Run Code Online (Sandbox Code Playgroud)
您的wix脚本可以访问构建参数,例如Configuration('debug'或'release').因此,您可以通过在组件声明中引用$(var.Configuartion)来有条件地为当前配置包含正确的二进制文件:
<Component Id="myProject.dll"
DiskId="1"
Guid="*">
<File Id="myProject.dll"
Name="myProject.dll"
Source="..\myProject\bin\$(var.Configuration)\myProject.dll" />
</Component>
Run Code Online (Sandbox Code Playgroud)
在发布模式下运行构建时,此脚本将获取二进制文件的发行版本.同样,在调试模式下,将拾取调试二进制文件.此方法不需要预处理 - 该脚本在构建时进行与配置相关的决策.
| 归档时间: |
|
| 查看次数: |
6145 次 |
| 最近记录: |