2

プログラムをインストールするための Inno Setup 実行可能ファイルがあります。セットアップが非常にサイレント モードで実行されているかどうかを検出する方法を使用して確認しました。コードを使用して Silent スイッチがあるかどうかを検出し、インストール中に VerySilent スイッチを適用します。私が今直面している問題は、コンソールに次のような出力が必要なことです。インストール中に: BUSY ... インストールが完了した直後に、コンソールに次のような出力が表示されます: DONE!

これが必要なのは、/VERYSILENT スイッチを使用する必要があり、これを使用すると、インストールが完了したかどうか、完了した場合に成功したかどうかがわからないためです。また、インストールはリモートで行われるため、メッセージ ボックスは使用できません。コンソール出力だけで、可能であればログファイルも。

私は通常のパスカルコードを試しました:

begin
  WriteLn('Hello World!');
end. 

問題をさらに明確にする必要がある場合は、お問い合わせください。

4

1 に答える 1

1

インストーラーは GUI アプリケーションとして作成されます。そのため、Windows は起動時にコンソールを自動的に切断し、コンソールに書き込む方法はまったくありません。

インストーラーの実行に使用しているものを介して処理する必要があります。たとえば、バッチ スクリプトでは次のようになります。

@echo off
echo BUSY...
start /wait path\to\setup-foo /verysilent /norestart /suppressmsgboxes
echo DONE (%errorlevel%)

(パラメータを使用することも/LOGできます。)

セットアップへのパスにスペースが含まれている可能性がある場合は、少し変わった構文を使用する必要があります。

start /wait "" "another path\to\setup-foo" /verysilent /norestart ...

(空の二重引用符が必要であり、実行可能パスの前に表示する必要があります。)

于 2012-12-29T10:20:53.683 に答える