[英]Target both x86 and x64 in the Windows Installer (VS2008)
有没有办法使用 Visual Studio 2008 创建 Windows 安装程序,以同时针对 x86 和 x64 操作系统。
在 TargetPlatform 属性中,我只有: x86
, x64
, Itanium
。 而且我知道在某个地方还有一个叫做Any CPU
但我找不到它。
另外,我不想创建两个安装程序。
有任何想法吗?
谢谢。
它可以完成,但不能使用 VS 安装程序。 我有一位同事通过 InstallShield 产品实现了这一目标,但让我说这绝对是一个 hack,最后他得到了更好的结果,制作了两个不同的安装程序,每个目标位数一个。
我还需要开导你:
在 TargetPlatform 属性中,我只有:x86,x64,Itanium。 而且我知道在某个地方还有一个叫做 Any CPU
TargetPlatform
属性不会改变您正在安装的应用程序的位数,您会将它与程序集本身的目标平台混为一谈。 MSI 是运载工具,其中的.Net 程序集是有效负载。 MSI 上的TargetPlatform
设置不控制 .Net 程序集的 JIT 编译方式,而是用于帮助确定安装路径(如果设置为 x86 则默认安装路径应为%PROGRAMFILES(x86)%
,并且将针对不同的注册表配置单元。
我可能是错的,但我很确定这是不可能的。 您提到的 Any-CPU 由.Net 编译器用于您的程序集(.Net 程序集默认情况下与体系结构无关,但可以强制编译为 x86 或 x64)。 但由于 windows-Installer 是本机 win32 exe,因此无法将其生成为“Any-CPU”。 因此,您必须为 x86 和 x64 生成 2 个相同的安装程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.