我正在尝试通过Inno Setup为我的软件构建一个安装程序。
但是发生了一件奇怪的事情:
我尝试运行Pascal代码以获取Inno Setup脚本中的Java版本
Exec('cmd.exe', '/c java -version 2> ' + tempDirPath+jdkVersionInfoFile, '',
SW_HIDE, ewWaitUntilTerminated, ResultCode)
结果为java verison "1.6"
。
当我在控制台窗口中输入命令java -version
时,我得到的结果是java version "1.8"
。
为什么结果不同?
答案 0 :(得分:2)
虽然我无法想象在没有更多细节的情况下你的机器究竟会发生这种情况,但这样的差异通常源于Inno Setup是32位应用程序。
32位版本的Java可能由Inno Setup(32位应用程序)运行,而64位版本的Java由Windows命令解释程序(64位应用程序)运行。并且您为这些平台安装了不同的版本。
(假设您运行的是64位版本的Windows)。
请参阅Inno Setup文档中的Install Mode: 32-bit vs. 64-bit文章。