X86 一个32位MSI中的Wix 32和64位组件
我花了几个小时试图创建一个32位安装程序,它集成了32位和64位版本的exe文件。但似乎64位exe从未集成到安装程序中 是否可以在一个安装程序中集成两个版本?如果两者使用相同的路径和所有内容。我只希望基于安装32位或64位版本的条件 wix文件如下所示:X86 一个32位MSI中的Wix 32和64位组件,x86,wix,64-bit,installation,X86,Wix,64 Bit,Installation,我花了几个小时试图创建一个32位安装程序,它集成了32位和64位版本的exe文件。但似乎64位exe从未集成到安装程序中 是否可以在一个安装程序中集成两个版本?如果两者使用相同的路径和所有内容。我只希望基于安装32位或64位版本的条件 wix文件如下所示: <?xml version="1.0" encoding="UTF-8"?> Anbody对此有一个想法?要安装64位组件,必须使用。但安装程序如何知道它是64位exe文件?因此,唯一的选择是两个安装程序?如果一个64位文
<?xml version="1.0" encoding="UTF-8"?>
Anbody对此有一个想法?要安装64位组件,必须使用。但安装程序如何知道它是64位exe文件?因此,唯一的选择是两个安装程序?如果一个64位文件要到一个32位目录,您可以有一个安装程序。否则,你需要两个。64位文件可以安装在32位目录中。我的问题是。上面的安装程序有什么问题吗?这方面有一个已知的漏洞:有趣的是,我希望这能安装第二个组件。值no的计算结果为true,因为它不是空的。您确定正确标识了文件,并且详细日志也同意吗?Office64变量由一些自定义actionProperties设置,任何小写字母都被视为私有,并且它们的值不会从UI序列共享到执行序列。
<Product Id="0E69C1BC-D9CD-4886-83D6-6240AEDC4D4F" Name="!(loc.ApplicationName)" Language="!(loc.Language)" Version="$(var.VersionNumber)" Manufacturer="!(loc.ManufacturerFullName)" UpgradeCode="$(var.UpgradeCode)">
…
<Property Id="OFFICEVERSION">
<RegistrySearch Id="OfficeVersion"
Root="HKCR"
Key="Outlook.Application\CurVer"
Type="raw" />
</Property>
<Property Id="Office64" Value="no"/>
…
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- 32-Bit -->
<Component Id="ml.32" Guid="{8739FAD5-28ED-4F19-B25A-8CC05BA87174}" >
<File Source="$(var.ProjectDir)..\build\x86\ml.exe" Id="mlExe" KeyPath="yes"/>
<Condition><![CDATA[NOT Office64]]></Condition>
</Component>
<!-- 64-Bit -->
<Component Id="ml.64" Guid="{8B6345EE-689D-4E13-882D-CF5B4F97252A}" >
<File Source="$(var.ProjectDir)..\build\x64\ml.exe" Id="mlExe64" KeyPath="yes" />
<Condition><![CDATA[Office64]]></Condition>
</Component>
…
</ComponentGroup>
</Fragment>