我有一个链接2 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位部分。