我正在 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 位安装程序的机制。我误解了文档。
早在 Delphi 支持 64 位可执行文件生成之前,Inno Setup 就开始支持 64 位安装。因此,它的核心可执行文件是32位的,并且作为32位进程执行:
Inno Setup 是一个 32 位应用程序
要将文件安装到 64 位 Windows 文件夹,同时保留 32 位进程,必须禁用 WOW64 重定向:
当这些部分访问文件/目录时,安装程序会暂时禁用 WOW64 文件系统重定向。
这解释了你所观察到的情况。
引用可以在官方文章中找到:
http://www.jrsoftware.org/ishelp/index.php?topic =64bitlimitations
| 归档时间: |
|
| 查看次数: |
1933 次 |
| 最近记录: |