【发布时间】:2013-03-12 10:54:53
【问题描述】:
我正在开发一个 .NET 分析器,我需要为 64bit 机器构建 2 个 DLL(一个用于 x86 兼容应用程序,另一个用于 x64 应用程序)。我想创建一个包含 2 个 DLL 的 MSI。这可能吗?
【问题讨论】:
标签: .net visual-studio-2010 profiling windows-installer
我正在开发一个 .NET 分析器,我需要为 64bit 机器构建 2 个 DLL(一个用于 x86 兼容应用程序,另一个用于 x64 应用程序)。我想创建一个包含 2 个 DLL 的 MSI。这可能吗?
【问题讨论】:
标签: .net visual-studio-2010 profiling windows-installer
是的,您可以创建一个 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>
【讨论】: