即使指定 ArchitecturesInstallIn64BitMode 之后,Inno Setup 也会以 32 位启动

Ana*_*and 5 inno-setup

我正在 64 位 Windows 操作系统 (Windows Server 2012 R2) 安装上运行使用 InnoSetup 生成的安装程序ArchitecturesInstallIn64BitMode=x64,但ArchitecturesAllowed=x64我仍然看到该进程以 32 位模式启动。我是否缺少其他一些基本设置?

操作系统详细信息:

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users>wmic OS get OSArchitecture
OSArchitecture
64-bit

C:\Users>echo %PROCESSOR_ARCHITECTURE%
AMD64

C:\Users>systeminfo | findstr /I type:
OS Build Type:             Multiprocessor Free
System Type:               x64-based PC

C:\Users>
Run Code Online (Sandbox Code Playgroud)

创新设置: 在此输入图像描述

任务管理器: 这是任务管理器显示的内容(我屏蔽了一些名称等) 在此输入图像描述

回答: 根据注释部分,Inno Setup 始终生成 32 位安装程序可执行文件。没有生成 64 位安装程序的机制。我误解了文档。

Lex*_* Li 3

早在 Delphi 支持 64 位可执行文件生成之前,Inno Setup 就开始支持 64 位安装。因此,它的核心可执行文件是32位的,并且作为32位进程执行:

Inno Setup 是一个 32 位应用程序

要将文件安装到 64 位 Windows 文件夹,同时保留 32 位进程,必须禁用 WOW64 重定向:

当这些部分访问文件/目录时,安装程​​序会暂时禁用 WOW64 文件系统重定向。

这解释了你所观察到的情况。

引用可以在官方文章中找到:
http://www.jrsoftware.org/ishelp/index.php?topic =64bitlimitations