MSI パッケージのインストールとアンインストールを高速化するにはどうすればよいですか?

MSI パッケージのインストールとアンインストールを高速化するにはどうすればよいですか?

インストールおよびアンインストール時Windowsインストーラーパッケージ、またはMSIファイルと呼ばれるファイルの場合、インストールの進行状況が表示されます。大幅に遅い他のインストール パッケージよりも優れています。

なぜそうなるのか、そしてスピードを上げるために何ができるでしょうか?

答え1

簡単な要約

  • スピードを求める特性微調整する:
    • MSIFASTINSTALL(試してみる3か、あるいは7
    • ファストエム(よく考えて、ドキュメントを必ず読んでください)
    • ロールバックを無効にする(それが何を意味するのか理解し、MSI パッケージ内のカスタム アクションの実行が失敗する可能性があります。MSIの設計によって異なります。専念-そしてカスタムアクションのロールバック
  • セキュリティソフトウェアインストールを高速化するために一時停止することができます。
    • インストール中に無効にしてみてください - インストーラーをスキャンしてくださいウイルストータル
  • 走ってみて行政イメージ代替情報) (ファイルの抽出は不要です)。
    • ローカル管理イメージから実行するのが最も高速です。
    • ネットワーク管理イメージを使用する場合、ネットワークの遅延が大きいとインストールが遅くなる可能性がありますか?
      • ファイルあたりのオーバーヘッドが高くなる可能性があります (ファイルが小さい)。
      • 単一の CAB をダウンロードする方が高速になる可能性はありますか (ここではウイルス チェックに時間がかかる可能性があります)?
  • システムの復元マシン上でグローバルに無効にすることができます (MSIFASTINSTALL 経由だけでなく)。

背景情報

Windowsインストーラーセッションの遅さの多くは、ロールバック機能まず、復元ポイントインストールまたはアンインストールの前に(システムの復元が無効になっていない場合)。その後、影響を受けるすべてのファイルとレジストリキーをバックアップしますエラーが発生した場合にシステムを元の状態に復元できるように、アンインストールとインストールの両方でこの処理が行われます。Windows インストーラーの最新バージョンでは、この複雑さの一部を無効にして処理を高速化する方法が用意されています。以下の技術情報を参照してください。

もう一つのスピード要因はMSI内のすべてのコンポーネントと機能はレジストリに登録されますこれにはかなりのオーバーヘッドを達成するために必要であるが企業展開とシステム管理の重要な利点このレベルの制御機能を備えた展開テクノロジは他にありません。

大きなMSIファイル埋め込みソースファイルインストーラーファイルを一時フォルダに展開するのに時間がかかる場合があります。これが最大のボトルネックになることがあります。管理者インストールを実行するこのようなパッケージからソースファイルを抽出してMSIファイル自体と並べて表示することで、各マシンでローカルにファイルを抽出する必要がなくなり、展開時間を節約できます。こちらに別の記事があります。MSIパッケージからのファイル抽出を簡単に説明すると


技術的な案内


アップデート(2018年2月): プロパティを設定することができますファストエム非常に特殊な状況下では (リンクされたコンテンツを参照)、展開を高速化するために使用できます。私はこれを試したことはありませんが、読む価値は十分にあります。これを効果的に使用して成功するかどうかは疑問ですが、試してみる価値はあるかもしれません。


執筆時点でのWindowsインストーラーの最新のアップデートは、Windows インストーラ 5(Windows Server 2012、Windows 8、Windows Server 2008 R2、Windows 7で利用可能)、新しいプロパティを備えていますMSIFASTINSTALLこれは、大きなMSIパッケージのインストールを高速化する有効な値については上記のリンクを参照してください。3のために復元ポイントなし、そしてファイルコスト(ディスク容量の要件を決定するプロセス)。または7進行状況メッセージの頻度も削減します。

普通 "コスト計算「」には、システムに存在するものとインストールされるものとの間で、機能、コンポーネント、ディスク、レジストリの比較と計算が多数含まれています。私の意見では、このほとんどはほとんど必要ありません (クライアント PC のディスク領域は一般的に十分であり、2018 年の現実では SD ディスクが小さくなり、領域の問題が再浮上した可能性があります...) が、完全なコスト計算を実行した方が明らかに安全です。

msiexec.exe /I "D:\winzip112.msi" /QN MSIFASTINSTALL=3

また、ロールバックを無効にするMSI インストーラーでのロールバック サポートを無効にするプロパティ。新しい PC をステージングする場合を除き、これを使用しないことを強くお勧めします。これは、何かが失敗した場合に最初からやり直すことができる特別なケースです。実際に使用するコンピューターでは、このプロパティを有効にすることはお勧めしません。

皮肉なことに、ロールバックを無効にすると、多数のファイルを置き換える巨大な更新パッケージを実行している場合や、大規模なアンインストールを実行している場合(アンインストールでは削除されたすべてのファイルがロールバック領域に移動されるため)に、処理速度が最も速くなります。これは非常に重要なことですが、安全ではありません。このプロパティは、コマンド ラインで次のように設定するだけです: msiexec.exe /I "D:\winzip112.msi" /QN MSIFASTINSTALL=3 DISABLEROLLBACK=1

管理インストール

そして最後に、背景情報で述べたように、管理インストールMSI ファイルの抽出に、各マシンでローカルに抽出が行われないようにするオプションがあります。これは、ネットワークがかなり高速で、ファイルのコピーがそれほど遅延なく行われることを前提としています。遅延の大きいワイヤレス ネットワークでは、抽出された小さなファイルを 1 つずつコピーする必要があるため、処理が遅くなる可能性があると思います。管理者インストールを実行するには、セットアップ ファイルに /a を渡すだけです。

セットアップ.exe /a

または

msiexec /a "D:\winzip112.msi"

次に、プロンプトに従ってファイルの抽出場所を選択します。スーパーユーザーこの機能について議論するスレッドです。


いくつかのリンク:

スピード:

関連情報