vb.net プロジェクトを実行するための小さなセットアップ プロジェクトがあり、インストール/セットアップ環境は 32 ビットと 64 ビットであり、inno-setup は正しいバージョンを実行するのに役立ちます。これがコードです、それは短いです。私の問題は、DisableReadyPage=yes
まだインストールの準備ができているページが表示されることです。それを取り除く方法は?
無効[file]
にしても、[run]
セクションをインストールする準備ができていても、ページはまだそこにあります...
[Setup]
AppName=xxx Environment
AppVerName=xxx Environment
AppPublisher=zzz
AppPublisherURL=somewebaddress1
AppSupportURL=somewebaddress2
AppUpdatesURL=somewebaddress3
AppID="xxx Environment"
DefaultDirName={pf}\zzz
PrivilegesRequired=admin
DefaultGroupName=xxx Environment
CreateUninstallRegKey=no
DisableDirPage=yes
DisableProgramGroupPage=yes
DisableWelcomePage=yes
DisableReadyPage=yes
DisableFinishedPage=yes
DirExistsWarning=yes
OutputDir=.
OutputBaseFilename="Setup"
[Files]
Source: Unzip.exe; DestDir: {tmp}; Flags: deleteafterinstall
Source: Setup.zip; DestDir: {tmp}; Flags: deleteafterinstall
[Run]
Filename: "{tmp}\UNZIP.EXE"; Parameters: "{tmp}\Setup.zip -d {tmp}"
Filename: "{code:RunInstallExe}"
[Code]
function GetProcessorTypeId (): Integer;
var
s: String;
i: Integer;
begin
case ProcessorArchitecture of
paX86: i := 1;//s := 'x86';
paX64: i := 2;//s := 'x64';
paIA64: i := 3;//s := 'Itanium';
else
i := 0;//s := 'Unrecognized';
end;
Result := i;
end;
function RunInstallExe(Param: String): String;
var
_path: string;
_procId: Integer;
begin
_procId := GetProcessorTypeId();
if _procId = 1 then
begin
_path := ExpandConstant('{tmp}\Install86Environ.exe');
end
else if _procId = 2 then
begin
_path := ExpandConstant('{tmp}\Install86Environ.exe');; //run in wow64 mode
end
else if _procId = 3 then
begin
_path := ExpandConstant('{tmp}\Install64Environ.exe');;
end
else
begin
_path := '';
end
if FileExists(_path) then
begin
Result := _path;
end
else
begin
MsgBox('Installation package not found.', mbCriticalError, MB_OK);
end
end;