1

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;
4

1 に答える 1

4

ドキュメントによると:

セットアップがサイレント モードで実行されていない場合、[インストールの準備完了] ウィザード ページの前に他のウィザード ページがまだ表示されていない場合、このディレクティブは無視されます。

Disable*Page ディレクティブをすべて使用すると、表示されるのは最初のページになります。

すべてのページを無効にする目的は何ですか?

于 2013-03-28T21:44:28.607 に答える