You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于捆绑包/独立场景动态设置WiX MSI的INSTALLFOLDER

基于WiX动态设置INSTALLFOLDER路径的解决方案

要实现根据运行场景动态调整INSTALLFOLDER的目标,只需通过属性绑定和默认值设置即可完成,无需复杂的自定义动作,具体步骤如下:

  1. 给APP属性设置默认值
    在MSI中定义APP属性并赋予默认值Model,确保独立运行MSI时使用该默认值:
<Property Id="APP" Value="Model" />
  1. 动态绑定INSTALLFOLDER的目录名称
    修改目录结构,将INSTALLFOLDER的Name属性绑定到APP属性,这样目录名称会随APP的值自动变化:
<Fragment>
  <StandardDirectory Id="ProgramFiles6432Folder">
    <Directory Id="ROOTDIRECTORY" Name="!(bind.Property.Manufacturer)">
      <Directory Id="INSTALLFOLDER" Name="[APP]" />
    </Directory>
  </StandardDirectory>
</Fragment>
  1. 验证场景匹配
  • 独立运行MSI时,APP使用默认值Model,最终INSTALLFOLDER路径为C:\Program Files (x86)\TODO Manufacturer\Model
  • 从捆绑包运行时,捆绑包传递的APP=DesktopApp会覆盖默认值,INSTALLFOLDER路径变为C:\Program Files (x86)\TODO Manufacturer\DesktopApp

补充说明

WiX中默认属性允许被外部(如捆绑包、命令行)传入的值覆盖,因此上述方案无需额外处理属性的优先级问题,完全满足两种运行场景的需求。

内容的提问来源于stack exchange,提问作者Valerii Nozdrenkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 05:37:40