Installshield 64位项目设置

时间:2009-09-14 19:17:28

标签: installshield

使用InstallShield为32位和64位环境生成安装程序的最佳方法是什么?我的大多数应用程序都是位中立的(.net,Java,数据文件)。如果我只需要将这些文件打包一次,我会更喜欢它。是否有一种标准方法来减少installshield项目的维护?目前我能找到的唯一解决方案是有两个重复的项目,其中每个组件都标记为64位,默认安装目录设置为ProgramFiles64。必须有更好的方法来做到这一点!

我的应用程序中只有一小部分关心它的执行位置。我们有一些需要不同的C ++ DLL和JNI调用。其中大部分是在运行时通过检查我们运行的JRE是否为64位来确定的。

我想避免分发两个130 MB的文件,理想情况下发送一个包含两个安装程序的大型zip文件,每个文件都引用了常见的组件。我是否需要为常见事物创建合并模块并在每个项目中引用它们?

如果重要的话,我们正在使用InstallShield 2009(Premier)。

2 个答案:

答案 0 :(得分:7)

  • 如果您可以在设置中使用零64位组件,那么您可以将其设置为100%32位,并且它在32位和64位中同样可以正常工作视窗。

  • 如果无法做到这一点,我建议使用产品配置标志。在“版本”视图中,创建多个产品配置,例如“XP32”和“XP64”。根据需要标记模板摘要字段:一个标记为“Intel; 1033”,另一个标记为“AMD64; 1033”。将每个产品配置标志与唯一的产品配置标志相关联,以便识别它“xp32”,“xp64”。然后,对于每个功能,设置适当的发布标志。您可以根据需要在64位组件上设置64位属性;只需确保标记为“xp32”的功能中没有64位组件。这将允许您只有1个InstallShield项目文件,但同时生成32位和64位版本。

答案 1 :(得分:1)

如果您使用此线程中提到的单个32位安装项目,则可能会遇到在64位系统上运行32位进程的问题,具体取决于您正在执行的操作。由于您的设置是32位进程,因此操作系统假定它需要使用32位资源。在64位计算机上,您同时拥有这两种计算机。例如,system32和SysWOW64。 (奇怪的是,system32容纳64位资源,而SysWOW64是32位。)您可以通过使用SYSNATIVE文件系统重定向器强制操作系统使用64位资源。在Windows Server 2008R2和2012上使用DISM.exe或PKGMGR.exe设置IIS时,我发现这很有用。