8

ロングExecは.NET 3.5をインストールしており、アウトスクリプトはこれに基づいています: http://www.blackhillsoftware.com/blog/2006/06/26/using-innosetup-with-the-dotnet-framework/

問題はewWaitUntilTerminated、終了コードをキャプチャする必要があるために使用していることです。/passive /norestartユーザー側の作業が少なくなるように実行しているため、少し悪化しています(そうすべきではないのでしょうか?)。

私が考える最も簡単なオプションは、.NET のインストール中にウィンドウを非表示にし、完了後に再び表示することですが、その方法がわかりません。

理想的な解決策は進行状況ページを表示することですが、すぐに戻る必要があるため、プロセスが終了して終了コードをキャプチャするときに何らかの方法で通知を受ける必要があるため、それは可能ではないようです。永遠の進行状況バーがあるだけです。

これをどうやって進めるかについてのアイデアはありますか?

編集:最小化する方がおそらく良いでしょうが、それを行う方法もわかりません。プロセスに 10 ~ 20 分かかる可能性があることをユーザーに通知するメッセージが表示されますが、問題は、メインのセットアップ フォームが完全にフリーズしており、移動、最小化、または何もできないことです。また/passive、.NET インストーラーを実行しても、低速のマシンでは 1 ~ 2 分ほど進行状況が表示されません。

4

5 に答える 5

2

を呼び出すことで、インストーラウィザードフォームを非表示にすることができます

WizardForm.Hide;
Exec(...);
WizardForm.Show;

私はこれが本当にきれいではないことに同意しますが。

于 2009-02-26T19:41:09.590 に答える
2

おそらく簡単ですが、.Net インストーラーの実行中にインストーラーを非表示にすることはお勧めしません。他のインストーラーがそうしているのを見たことがありますが、それが起こると、インストールが完了したと思いますが、実際にはそうではないことがわかり混乱します。(そして、インストールが実際に終了したとき、私もそれを確信できません。おそらく、それは再び隠れただけです。)

Inno Setupウィザードでカスタムページを表示できます。このようなページにプログレス バーを表示し、それを正確に維持することはおそらく難しいでしょうが、少なくともウィザード ページに、インストーラーが .Net インストーラーを待っていることを示すメッセージを表示してから続行することができます。ヘルプ ファイルの「カスタム ウィザード ページの使用」セクションを参照してください。

于 2009-02-26T19:17:23.390 に答える
0

あなたが質問してから5年が経ちましたが、とにかくここに私の答えがあります.

Exec() を呼び出す前に、Inno Setup によってメイン プログレス バーの上に表示されるメッセージを次のように設定できます。

WizardForm.StatusLabel.Caption := 'Installing .NET Framework 3.5. Please wait, this can take up to 1 hour...';
于 2014-04-27T02:26:07.313 に答える
0

いくつかの製品で .NET をインストールする必要があり、次の 2 つのアプローチを取りました。

  • Innosetup を使用して .NET をインストールする場合、インストールに時間がかかることと、完了時に特定のメッセージが表示されることをユーザーに知らせます。
  • クライアントに強制的に通過させるフラグなしで .NET セットアップを開始します。このようにして、より技術的な傾向がある場合、インストールに時間がかかる理由を理解できます

特に、より多くのシステム管理者がデスクトップをある程度ロックダウンしているように見える今では、2 番目のオプションの方が正直なところ幸運でした。

于 2009-02-26T19:18:36.773 に答える