如果在Visual Studio中选择了"Any CPU",我还需要在Advanced Installer中分离32位和64位程序集吗?

If "Any CPU" is selected in Visual Studio, do I still need to separate 32-bit and 64-bit assembly in Advanced Installer?

我正在根据本指南Advance Installer Guide for 32-bit/64-bit installers I should seperate 32-bit and 64-bit assemblies. My question is what if my visual studio build is set to "Any CPU", can I use single assembly file for both 32-bit and 64-bit or do I have to create seperate 32-bit and 64-bit assemblies and put them in 32-bit and 64-bit folders in advanced installer.

使用高级安装程序创建混合的 32-bit/64-bit 安装程序

附加信息:

如果程序集使用非托管 32 位或 64 位代码,则必须分别编译两个版本。否则,使用 "Any CPU" 您可以为两个平台使用相同的程序集。

您的项目不应该归入其中任何一个,而应该归入 MainFeature

重要的是在Install Parameters you have set the Package Type到"Mixed 32/64-bit matching the platform"

您可以将项目构建保留为 AnyCPU,并将相同的程序集部署到 x86 或 x64。用于创建混合包的 Advanced Installer 向导将要求提供仅 x64、仅 x86 和共享文件的文件。您的 AnyCPU 程序集将是为 x86 和 x64 部署的共享文件。 Advanced installer 将共享文件放在一个公共组件中,其他文件放在各自的 64 位和 32 位组件中。

混合包使用包含 x86 和 x64 msi 的引导程序。部署 AnyCPU 程序集的另一种选择是创建一个 x86 msi,因为它会在两个平台上 运行。 x86 msi 会将您的 AnyCPU 程序集部署到 Program Files (x86),但是当 运行 在 x64 机器上时,它将 运行 作为 x64 进程。