ISEXP:错误:-5008:此32位程序包不能包含64位数据

时间:2015-07-09 15:31:50

标签: installshield-le

最近我将我的visual studio 2008安装程序项目升级到InstallShield Limited Edition项目到Visual Studio 2013.我能够从visual studio和我的Nant构建脚本构建解决方案。我的解决方案构建平台是x86 / Release,我的installshield限量版项目构建平台是singleimage,没有指定任何平台。我的电脑是Win32,我安装了32位的installshield限量版。

现在我在InstallShield Limited Edition项目中添加了一个可以在Win32和Win64中运行的合并模块。合并模块的签名指定它可以在Win32和Win64中执行。

但只要我添加了合并模块并构建了解决方案,我就会收到以下错误

ISEXP:错误:-5008:此32位程序包不能包含64位数据。 64位数据可能来自合并模块。

我的合并模块是由其他方开发的,他们说应该在Win32和Win64中都可以使用。

1 个答案:

答案 0 :(得分:0)

使用Windows Installer时,您必须choose between making a 32-bit or a 64-bit package。 32位软件包可以安装在64位系统上,但只能访问32位位置; 64位软件包无法安装在32位系统上,但可以访问64位系统上的64位位置。

您引用的错误是避免让合并模块将整个包从32位更改为64位,因为这可能会导致难以诊断的兼容性问题。如果要按原样使用该合并模块,则必须在项目中执行某些操作以指示您需要64位软件包,例如添加安装到64位位置的文件或注册表项。或者,如果您需要支持32位系统,则应该请求另一方正确分离其32位和64位合并模块。