在WIX中禁用WIN64DUALFOLDERSreplace

我有一个链接2 msi的设置

  1. 安装我的产品的x86 / x64 MSI。
  2. 一个部署第三方工具包的x86 MSI

我希望第二个MSI使用相同的安装目录,以便MSI 1将用户select的目录存储在MSI 2随后读取并用作其目标的registry中。

精细和花花公子 – 如果我安装微星1到C:\testing\没有问题 – 微星2拿起它,并把工具包放入该文件夹。

当我安装到c:\ Program Files文件时,然后MSI 2得到了一些聪明的答案,并决定我必须指出C:\ Program Files(x86),并把工具放在那里 – 有点混乱。

它logging下来的时候:

Action start 16:53:59: AppSearch. MSI (c) (2C:44) [16:53:59:521]: Note: 1: 2262 2: Signature 3: -2147287038 MSI (c) (2C:44) [16:53:59:521]: WIN64DUALFOLDERS: 'C:\Program Files (x86)\' will substitute 17 characters in 'C:\Program Files\Manufacturer\Product' folder path. (mask argument = 0, the folder pair's iSwapAttrib member = 0). MSI (c) (2C:44) [16:53:59:521]: PROPERTY CHANGE: Adding INSTALLDIRECTORY property. Its value is 'C:\Program Files (x86)\Manufacturer\Product'. Action ended 16:53:59: AppSearch. Return value 1. 

我希望避免使用MSI 2的x64版本(这是在20MB的区域)过多的设置,所以我的问题是:

有没有办法我可以避免/禁用这种行为,让我的x86微星相信我,并写入“程序文件”而不是“程序文件(x86)”?

不,它不能被禁用。 MSI强制执行其规则,即32位软件包无法写入文件系统(和注册表)的64位部分。