【问题标题】:How to mix x86 and x64 DLLs into the same MSI package?如何将 x86 和 x64 DLL 混合到同一个 MSI 包中?
【发布时间】:2013-03-12 10:54:53
【问题描述】:

我正在开发一个 .NET 分析器,我需要为 64bit 机器构建 2 个 DLL(一个用于 x86 兼容应用程序,另一个用于 x64 应用程序)。我想创建一个包含 2 个 DLL 的 MSI。这可能吗?

【问题讨论】:

    标签: .net visual-studio-2010 profiling windows-installer


    【解决方案1】:

    是的,您可以创建一个 MSI 来安装文件。但是,MSI 包是 32 位或 64 位的。 64 位 MSI 程序包无法安装在 32 位计算机上,32 位程序包无法安装到 64 位位置。因此,如果您同意将 64 位二进制文​​件安装到 32 位位置(例如 C:\Program Files (x86)\),那么您只需将 Conditions 添加到您的 Components 即可安装正确的位。

    例如,使用 WiX 工具集,代码可能如下所示:

    <Component>
      <Condition>NOT VersionNT64</Condition>
    
      <File Source='path\to\32bit.dll' />
    <Compnent>
    
    <Component>
      <Condition>VersionNT64</Condition>
    
      <File Source='path\to\64bit.dll' />
    <Compnent>
    

    【讨论】:

      猜你喜欢
      • 2020-03-02
      • 2017-04-28
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 2011-09-22
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多