首页 > 解决方案 > 从 WiX 中的 64 位 MSI 包写入 32 位目录的 hack

问题描述

是否有任何解决方案可以将文件从WiX-toolset中的 64 位 MSI 包写入 32 位目录

标签: wixwindows-installer

解决方案


众所周知,64 位 MSI 软件包无法写入 32 位目录。所以我们需要单独的 32 位和 64 位 MSI。

我的解决方案:

我想出了将文件从 64 位 MSI 包复制到 32 位目录的技巧:

        <!--"System64Folder"-->
        <Directory Id="System64Folder">
                <Component Id="text1_comp" Guid="PUTYOURGUIDHERE" Win64="yes">
                    <File Source=".\SetupFiles\textFile.txt" Id="textFile1" KeyPath="yes" />
                </Component>
        </Directory>
        <!--"System32Folder"-->
        <Directory Id="WindowsFolder">
            <Directory Id="SystemFolder_x86" Name="SysWOW64">
                <Component Id="text2_comp" Guid="PUTYOURGUIDHERE" Win64="yes">
                    <File Source=".\SetupFiles\textFile.txt" Id="textFile2" KeyPath="yes" />
                </Component>
            </Directory>
        </Directory>

如您所见,这个想法是引用WindowsFolder然后引用SysWOW64。这样我们的文件“textFile.txt”将被复制到System32SysWOW64文件夹中。


推荐阅读