Inno Setup:如何检查JRE是否存在,如果不存在,则提示下载?

时间:2019-01-05 20:22:11

标签: java installation virtual-machine inno-setup setup-project

我在Stack Overflow的任何问题中都找不到这种确切的行为,所以请不要将其标记为重复。

我正在使用Inno Setup开发Java 64位应用程序的安装程序。

使用Inno Setup可以检查计算机中是否存在Java 64位,是否不向用户显示下载Java 64位的链接?

我应该在Inno Setup脚本中添加什么以实现该行为?

1 个答案:

答案 0 :(得分:2)

在下面,您可以找到一个脚本,该脚本可以检查是否已安装JRE,然后提示用户我使用此Stack Overflow帖子作为参考的消息:How do I install a JRE from an Inno Setup?

[Code]
{ Script to check if a JRE is installed }

function InitializeSetup(): Boolean;
var
  ErrorCode: Integer;
  JavaVer: string;
begin
    RegQueryStringValue(
        HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', JavaVer);
    Result := (Length(JavaVer) > 0);
    if not Result then
    begin
        if MsgBox('YOUR MESSAGE GOES HERE', mbConfirmation, MB_YESNO) = idYes then
        begin
            ShellExec(
              'open', 'https://www.java.com/en/download/manual.jsp#win',
              '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
        end;
    end;
end;