私は Inno Setup が初めてで、この答えを見つけるのに苦労しています...
インストーラーに DirectX9 セットアップ ファイルを含めましたが、ユーザーに「DirectX9 をインストールしますか?」と尋ねるメッセージ ボックスを表示したい。それは私のゲームの通常のインストールの前に行われます... 彼が「はい」と言った場合、私が含めたこの追加ファイルを実行したいのですが、それ以外の場合はゲームのインストールに進みます.
私は Inno Setup が初めてで、この答えを見つけるのに苦労しています...
インストーラーに DirectX9 セットアップ ファイルを含めましたが、ユーザーに「DirectX9 をインストールしますか?」と尋ねるメッセージ ボックスを表示したい。それは私のゲームの通常のインストールの前に行われます... 彼が「はい」と言った場合、私が含めたこの追加ファイルを実行したいのですが、それ以外の場合はゲームのインストールに進みます.
次のコードは、インストールが開始される直前に実行されます。ユーザーに確認を求めてから、"InstallDirectX.exe" (インストーラーが利用できる必要があります) を実行します。
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
var
ResultCode: integer;
begin
if (msgbox('Do you want to install DirectX ?', mbConfirmation, MB_YESNO) = IDYES) then
begin
if Exec(ExpandConstant('InstallDirectX.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
// handle success if necessary; ResultCode contains the exit code
MsgBox('Everything is proceeding according to plan', mbInformation, MB_OK);
end
else
begin
// handle failure if necessary; ResultCode contains the error code
MsgBox('Something went horribly wrong', mbError, MB_OK);
end;
end;
end;
インストールの完了時にメッセージ ボックスを表示する場合は、次のコードを使用できます。
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
ResultCode: Integer;
begin
if CurStep = ssPostInstall then
begin
if (msgbox('Do you want to install DirectX ?', mbConfirmation, MB_YESNO) = IDYES) then
begin
if Exec(ExpandConstant('{src}\dxwebsetup.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
MsgBox('Installing DirectX completed', mbInformation, MB_OK);
end
else
begin
MsgBox('Installing Error', mbError, MB_OK);
end;
end;
end;
end;