【问题标题】:Detect 64bit system from 32bit WIX installer从 32 位 WIX 安装程序中检测 64 位系统
【发布时间】:2011-11-20 13:09:54
【问题描述】:

我有一个 32 位 WIX 安装程序,用于安装基于 .NET 的 Windows 服务。我需要使用一个 32 位和 64 位版本的外部 .dll。有什么方法可以让 32 位安装程序检测到它在 64 位机器上运行吗?然后我想有条件地安装 32 位或 64 位 .dll。

【问题讨论】:

    标签: wix wix3.5


    【解决方案1】:

    扩展 Morten 的答案,我在 Wix 3.6 中做到了这一点

         <Component Directory="INSTALLLOCATION">
            <File Id="msvcp100.dll_x64" Source="$(var.x64)\msvcp100.dll" KeyPath="yes" />
            <Condition><![CDATA[VersionNT64]]></Condition>
         </Component>
         <Component  Directory="INSTALLLOCATION">
            <File Id="msvcp100.dll_x86" Source="$(var.x86)\msvcp100.dll" KeyPath="yes" />
            <Condition><![CDATA[Not VersionNT64]]></Condition>
         </Component>
    

    【讨论】:

      【解决方案2】:

      试试这个:

      <Component Id="Component1" Guid="*">
        <![CDATA[Not VersionNT64]]>
        <File Id="File1" Name="1.dll" Source="c:\dlls\1.dll"/>
      </Component>
      <Component Id="Component2" Guid="*">
        <![CDATA[VersionNT64]]>
        <File Id="File2" Name="2.dll" Source="c:\dlls\2.dll"/>
      </Component>
      

      【讨论】:

        【解决方案3】:

        使用 ProcessorArchitecture 创建一个属性并从注册表中获取它的值。基于此属性创建一个条件特征。

        【讨论】:

        • 这个答案很模糊,缺少很多细节。你愿意扩展它吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-19
        • 2012-09-01
        • 2011-09-08
        • 1970-01-01
        相关资源
        最近更新 更多