wix - 在 Wix 中设置组件条件

标签 wix installation windows-installer

在我的 Wix 中,我以这种方式包含了很多文件:

<Component Id="mycomponent" Guid="*" Feature="Core" >
  <Condition>$(var.Include) = 1</Condition>
  <File Id="mycomponent.file" KeyPath="yes" 
        Source="$(var.BinDir)\mycomponent.file" />
</Component>

因此我可以传入不同的 var.Include 值来为不同环境生成包。

虽然生成的包似乎确实有效,但我注意到即使我将其设置为不包含这些组件,包的大小也总是很大。看起来 WiX 总是在构建 msi 时包含所有组件,并且仅在使用 var.Include = 0 构建包时才选择不安装这些组件...

这是正常行为吗?

最佳答案

条件元素用于确定组件是否被安装,而不是它是否被包含在构建中。另外,请确保不要混淆条件语句中使用的 Windows Installer 属性和预处理器变量/语句。两种不同的野兽。

关于wix - 在 Wix 中设置组件条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15200581/

相关文章:

plugins - 如何使用 WiX 安装插件或附加组件

path - 谁能给我一个在WIX中修改Windows环境系统变量的例子吗?

mysql - PHPMyAdmin 配置由于 MySQL 用户密码而不起作用?

Wix - 如何通过自定义操作强制终止任何进程?

.net - WIX 将新文件添加到共享组件

c# - 我应该将我的应用程序安装到哪个目标文件夹,它永远不需要 uac 提升?

.net - 创建高度定制的 Windows 安装程序?

JavaFX 应用程序更新无需管理员权限

windows - 如何在 Windows 上安装和使用 cURL?

installation - 将变量传递给 installanywhere 命令行 build.exe