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

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

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

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

有帮助吗?

解决方案

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top