jar アプリ用の Inno Setup インストーラーを作成しています。今やりたいことは、インストールを進める前に Java が存在するかどうかを確認することです。したがって、ユーザーが実行できることを確認するだけで済みます。
java -jar my-app.jar
私が今していることは次のとおりです。
[Code]
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
JavaInstalled : Boolean;
Result1 : Boolean;
begin
JavaInstalled := RegKeyExists(HKLM,'SOFTWARE\JavaSoft\Java Runtime Environment\1.6');
if JavaInstalled then
begin
Result := true;
end else
begin
Result1 := MsgBox('This tool requires Java Runtime Environment version 1.6 or newer to run. Please download and install the JRE and run this setup again. Do you want to download it now?',
mbConfirmation, MB_YESNO) = idYes;
if Result1 = false then
begin
Result:=false;
end else
begin
Result:=false;
ShellExec('open',
'http://javadl.sun.com/webapps/download/AutoDL?BundleId=33787',
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
end;
end;
end;
私の質問は次のとおりです。
JavaのホームディレクトリがPATHにあることを確認するのに十分なレジストリをチェックしていますか? (コンソールで「Java」を実行できるようにするため)
より高いバージョンの Java がインストールされている場合、レジストリ内のそのキーはとにかく存在しますか、それとも可能な限り高いバージョンごとに確認する必要がありますか?
ポップアップを表示してユーザーをダウンロードページに誘導するよりも、Javaをダウンロードするためのより良い方法はありますか?