Inno Setup:如何检查JRE是否存在,如果不存在则提示下载?
Inno Setup: How to check if JRE is present and prompt to download if not?
我正在使用 Inno Setup 为 Java 64 位应用程序开发安装程序。
Inno Setup 可以检查计算机中是否存在 Java 64 位,如果不存在,则向用户显示 link 供下载 Java 64 位?
我应该在 Inno Setup 脚本中添加什么来实现该行为?
下面你可以找到一个脚本,它可以检查是否安装了 JRE,然后为用户提示一条消息我使用这个 Stack Overflow post 作为参考: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;
我正在使用 Inno Setup 为 Java 64 位应用程序开发安装程序。
Inno Setup 可以检查计算机中是否存在 Java 64 位,如果不存在,则向用户显示 link 供下载 Java 64 位?
我应该在 Inno Setup 脚本中添加什么来实现该行为?
下面你可以找到一个脚本,它可以检查是否安装了 JRE,然后为用户提示一条消息我使用这个 Stack Overflow post 作为参考: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;