【问题标题】:Do I have to make allowances for Inno setups on 64-bit Windows?我是否必须考虑 64 位 Windows 上的 Inno 设置?
【发布时间】:2013-02-26 05:55:12
【问题描述】:

我们有一个古老的 VB6 应用程序,有时需要更新并安装在我们用户的机器上。我们已经开始使用 Inno,尤其是 InnoIDE 来制作 setup.exe,以便将其安装到我们用户的 PC 上。但是,我想知道 64 位 Windows 和 Inno 设置。我们内部有几台机器,它们是 Windows 7 Professional 的 64 位版本。我已经使用 Inno 的设置成功地将我们的应用程序安装到了 32 位 Windows XP 机器上。我可以在我们的 64 位 Windows 7 机器上使用相同的设置吗?它会自动将 .exe 放入 C:\Program Files (x86)\ 目录结构中,还是必须考虑到 64 位版本的 Windows?

【问题讨论】:

    标签: windows 64-bit inno-setup


    【解决方案1】:

    如果您的应用程序只有 32 位,那么 Inno 会自动负责正确处理所有事情。

    只有如果您的应用程序是混合的或 64 位的,您需要像 rushman 所说的那样做任何特别的事情。 帮助文件中有一个很好的section,它解释了所需的更改。

    如果您正在安装任何 64 位设备驱动程序,对大多数 newdev 和 setupapi 入口点的调用将失败,错误代码为 0xE0000235 (ERROR_IN_WOW64)。这些调用仅在从 64 位代码调用时有效,并且 Inno 尚未编译 64 位安装程序。您可以使用 pnputil.exe、添加 64 位存根可执行文件或切换到 WiX 来解决问题。

    【讨论】:

      【解决方案2】:

      对于 64 位 INNO 安装,您通常只需要添加一个设置部分指令,显然,将 DLL 和 EXE 的 64 位版本添加到已编译的安装程序中。

      设置部分指令是:

      ArchitecturesInstallIn64BitMode=x64

      【讨论】:

      • 在这种情况下,没有 DLL 或 EXE 的 64 位版本。我只是想知道我是否必须确保 INNO 将 EXE 和相关的 DLL 放在用户机器上的 C:\Program Files (x86)\ 文件夹区域下,或者我是否必须做一些事情来确保发生这种情况.
      • 如果没有 64 位版本的 DLL 或 EXE,那么我认为您应该安装为 32 位应用程序。如果您在我的回答中未提供 Setup 指令,INNO 将假定安装为 32 位,并且 {pf} 将映射到 C:\Program Files (x86)\。
      猜你喜欢
      • 2020-11-09
      • 1970-01-01
      • 2021-11-08
      • 2014-04-04
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多