"java -version" 命令在 Inno Setup 中有不同的结果
"java -version" command has different results in Inno Setup
我正在尝试通过 Inno Setup 为我的软件构建安装程序。
但是奇怪的事情发生了:
我尝试 运行 Pascal 代码在 Inno Setup 脚本中获取 Java 版本
Exec('cmd.exe', '/c java -version 2> ' + tempDirPath+jdkVersionInfoFile, '',
SW_HIDE, ewWaitUntilTerminated, ResultCode)
结果是java verison "1.6"
。
当我在控制台 window 中输入命令 java -version
时,我得到的结果是 java version "1.8"
。
为什么结果不同?
如果没有更多详细信息,我无法想象这在您的计算机上究竟是如何发生的,但此类差异通常源于 Inno Setup 是 32 位应用程序这一事实。
Inno Setup(32 位应用程序)可能 Java 的 32 位版本是 运行,而 Java 的 64 位版本是 运行通过 Windows 命令解释器(64 位应用程序)。并且您为这些平台安装了不同的版本。
(假设您 运行 64 位版本 Windows)。
请参阅 Inno Setup 文档中的 Install Mode: 32-bit vs. 64-bit 文章。
我正在尝试通过 Inno Setup 为我的软件构建安装程序。
但是奇怪的事情发生了:
我尝试 运行 Pascal 代码在 Inno Setup 脚本中获取 Java 版本
Exec('cmd.exe', '/c java -version 2> ' + tempDirPath+jdkVersionInfoFile, '',
SW_HIDE, ewWaitUntilTerminated, ResultCode)
结果是java verison "1.6"
。
当我在控制台 window 中输入命令 java -version
时,我得到的结果是 java version "1.8"
。
为什么结果不同?
如果没有更多详细信息,我无法想象这在您的计算机上究竟是如何发生的,但此类差异通常源于 Inno Setup 是 32 位应用程序这一事实。
Inno Setup(32 位应用程序)可能 Java 的 32 位版本是 运行,而 Java 的 64 位版本是 运行通过 Windows 命令解释器(64 位应用程序)。并且您为这些平台安装了不同的版本。
(假设您 运行 64 位版本 Windows)。
请参阅 Inno Setup 文档中的 Install Mode: 32-bit vs. 64-bit 文章。