Windows installer Installshield:在同一个软件包中同时针对32位和64位系统

Windows installer Installshield:在同一个软件包中同时针对32位和64位系统,windows-installer,installshield,Windows Installer,Installshield,我想创建一个将在32或64位系统上启动的安装。我还需要为这两个平台部署VS2012合并模块。但要做到这一点,“模板摘要”应该设置正确,我的问题是我不能这样做 将模板摘要设置为:Intel;1033,我得到以下错误: error -5008: intel64 or amd64 must be specified in the template of the summary 当设置为:Intel64时;1033,因此安装不会在32位系统上运行 当然,设置为Intel;Intel64;不允许使用10

我想创建一个将在32或64位系统上启动的安装。我还需要为这两个平台部署VS2012合并模块。但要做到这一点,“模板摘要”应该设置正确,我的问题是我不能这样做

将模板摘要设置为:
Intel;1033
,我得到以下错误:

error -5008: intel64 or amd64 must be specified in the template of the summary
当设置为:
Intel64时;1033,因此安装不会在32位系统上运行

当然,设置为
Intel;Intel64;不允许使用1033


如何使其工作?

Windows Installer不正式支持x86/x64混合安装程序。这里有一些技巧,但是如果您尝试使用您提到的合并模块,它们将不起作用

<>如果是我,我会使用VisualStudioC++的ReDistes(你没有调用它们,但是我假设这是你的意思)使用安装必备。这将允许setup.exe使用自己的x86/x64安装包运行和预安装x86和/或x64运行时。然后主安装程序将运行

在这一点上,您的主安装程序很可能不需要混合x86和x64。如果您是典型的AnyCPU编译的.NET应用程序,那么它可能会正常工作。您可能有一些位敏感的本机DLL,您必须使用VersionNT64属性来决定安装哪个DLL


在没有看到您的应用程序的情况下,很难给出100%的具体建议。

太好了!以这种方式安装运行时确实解决了我的问题,并可能帮助其他面临这种情况的人。它甚至有一个/quiet选项来隐藏安装GUI。