【问题标题】:How to configure an InstallShield 2009 project to run on 32- and 64-bit systems如何配置 InstallShield 2009 项目以在 32 位和 64 位系统上运行
【发布时间】:2011-09-02 22:44:24
【问题描述】:

我有一个使用 InstallShield 2009 Premier 打包的 32 位应用程序。我希望能够在 32 位和 64 位机器上安装它,但 InstallShield 安装程序似乎无法自动检测到它正在 64 位机器上运行,因此重定向注册表项的创建到 HKLM\Software\Wow6432Node... 并将文件创建到 C:\Program Files (x86)... 尽管我最好用谷歌搜索,但我似乎无法找到如何配置 InstallShield 项目来解决这个问题。

有什么想法吗?

【问题讨论】:

  • 您是在创建 InstallScript 安装还是 Windows Installer (.MSI) 安装?
  • 应该没有必要的配置来获得你想要的行为。大量的人要求您想要避免的功能。您正在使用什么项目类型,以及您如何诊断事情没有去正确的地方?
  • 不幸的是,我正在与一个团队一起工作(呃!),所以我认为我不太了解整个故事。今天早上我与某人交谈,我们确定重定向适用于文件系统和本地计算机配置单元。当前用户配置单元中的数据是否也应该重定向到 Wow6432Node 键?
  • HKCU 没有 64 位重定向,所以不应该。应用程序中的注册表读写不应该直接提到Wow6432Node;如果他们需要跨 Hive 做一些事情,他们应该改用 KEY_WOW64_32KEY 或 KEY_WOW64_64KEY(根据msdn.microsoft.com/en-us/library/aa384182(v=vs.85).aspx 方向)。

标签: 32bit-64bit installshield installshield-2009


【解决方案1】:

由于您有一个 32 位应用程序,因此您需要保留其安装程序的原样。

Wow6432NodeProgram Files (x86) 专为 32 位应用程序而设计。在 64 位机器上,Program FilesHKLM\Software 仅适用于 64 位应用程序。

混合 32/64 位安装程序只能用于 AnyCPU 应用程序。

【讨论】:

  • +1。 64 位 Windows 上的 32 位程序必须接受重定向。
  • 是的,但由于某种原因,重定向没有发生。
  • 您使用的是什么包类型 (x86/x64)?另外,它是 EXE 还是 MSI?
猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 2011-03-24
相关资源
最近更新 更多