0

アプリケーションをサイレントにセットアップする必要があります。Advanced Installer と Installshield を使用してMSIセットアップを作成しましたが、問題は、アプリケーションのサイズが 1 つのディスク (DVD) よりも大きく、それを 2 つ以上に分割した場合です。

Delphi を使用して MSI をラップし、そこからリターン コードを取得していますが、最初のディスクの終了後にサイレント モードで MSI が1602コードを返します。

MSI から1302コードを取得するにはどうすればよいPlease insert the disk: [2]ですか?

これは、MSI を実行するための私のコードです。

Result := FileExecute(handle, PChar(GetcurrentDir + '\' + setupFile),
    PChar(Format('/qn INSTALLDIR="%s" APPDIR="%s"  /l*v c:\temp\msi.log', [path, path])), '',
    SW_SHOWNORMAL, True);
  ShowMessage(IntToStr(Result));
4

2 に答える 2

1

2 つのバージョンの .msi を作成します。複数の DVD で配信する 1 つのバージョン。物理メディアをサイレントに変更できないため、サイレントにインストールできない可能性があります。そして、分割されていない単一のパッケージとして提供する 2 番目のバージョン。そのバージョンは、メディアを変更するために人が介入する必要がないため、サイレント インストールに問題はありません。

于 2013-04-08T12:27:44.937 に答える
0

すべての DVD からすべてのファイルをシステム上の 1 つのフォルダーにコピーしてから、コマンドを実行できます。別のディスクを要求する代わりに、タクシーを見つけて続行します。

于 2013-04-08T12:57:19.007 に答える