作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个链接 2 个 MSI 文件的设置:
我希望第二个 MSI 文件使用相同的安装目录,因此 MSI 文件 1 将用户选择的目录存储在注册表中,然后 MSI 文件 2 读取该目录并将其用作其目标。
很好,花花公子 - 如果我将 MSI 文件 1 安装到 C:\Test\
没问题 - MSI 文件 2 选择它并将工具包放入该文件夹。
但是,当我安装到 C:\Program Files
时......然后 MSI 文件 2 变得有点聪明,并决定我一定是指 C:\Program Files (x86)
并将工具放在那里 - 有点乱。
它在执行时会记录此信息:
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.
我希望避免使用 x64 版本的 MSI 文件 2(大约 20 MB)使我的设置过多膨胀,所以我的问题是:
有没有一种方法可以避免/禁用此行为并让我的 x86 MSI 文件信任我并写入“Program Files”,而不是“Program Files (x86)”?
最佳答案
不,它不能被禁用。 MSI 强制执行其规则,即 32 位包不能写入文件系统(和注册表)的 64 位部分。
关于windows - 在 WiX 中禁用 WIN64DUALFOLDERS 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28490962/
我是一名优秀的程序员,十分优秀!