WIXツールキットを使用してWindowsインストーラーで作業していますが、インストール中にUACダイアログがポップアップ表示されるまでに永遠に(15〜45秒)かかります。これをスピードアップする方法はありますか?
3 に答える
これについて正しい方向に向けてくれたjoegrageに感謝します。これの秘訣はMSIFASTINSTALL
プロパティにあるようです。
このMSIFASTINSTALL
プロパティを使用すると、大きな Windows インストーラー パッケージのインストールに必要な時間を短縮できます。コマンド ラインまたはプロパティ テーブルでプロパティを設定して、ユーザーまたは開発者がインストールに必須ではないと判断した操作を構成できます。
MSIFASTINSTALL プロパティの値は、次の値の組み合わせにすることができます。
値 意味 ----- -------------------------------------------------- -------------- 0 デフォルト値 1 このインストールのシステム復元ポイントは保存されません。 2 ファイル コスト計算のみを実行し、他のコストのチェックをスキップします。 4 進捗メッセージの頻度を減らします。
WIX では、次のようにこれらの値を組み合わせて使用できます。
<Property Id="MSIFASTINSTALL" Value="3" />
このプロパティの詳細については、このブログ投稿を参照してください。
Windows インストーラーを使用してソフトウェアをインストールするたびに、実際のインストールを行う前に復元ポイントが作成されます。参照: http://msdn.microsoft.com/en-us/library/aa372060.aspx
レジストリでこれをオフにすることができます: http://msdn.microsoft.com/en-us/library/aa369758.aspx
これは、Windows がパッケージにデジタル署名があるかどうかを確認しているために発生します。
残念ながら、デジタル署名検証アルゴリズムはあまり良くありません。また、その性能はパッケージサイズに依存します。そのため、パッケージが大きいほど遅延が長くなります。
遅延を避けるために、単純な EXE ブートストラップを MSI に追加できます。その目的は、アプリケーション マニフェストを通じて昇格を要求し、その横にある MSI を起動することです。MSI を含めない場合、ブートストラップのサイズは小さくなります。したがって、デジタル署名のチェックは非常に高速になります。