web-dev-qa-db-ja.com

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

インストールおよびアンインストールWindowsインストーラパッケージ、またはMSIファイルが呼び出されたときに、インストールの進行状況が他のインストールパッケージよりも著しく遅いと表示されます。

なぜこれが当てはまるのか、そして速度を上げるために何ができるか

14
Stein Åsmul

簡単なまとめ

  • スピードプロパティが必要微調整:
  • セキュリティソフトウェアインストールを高速化するために一時停止できます。
    • インストール中は無効にしてみてください- virustotal.com でインストーラーをスキャンしてください。
  • administrative imagealternative info )から実行してみてください(ファイルの抽出は必要ありません)。
    • ローカルのアドミニストレーティブイメージからの実行が最も高速です。
    • ネットワーク管理イメージを使用している場合、待ち時間が長いネットワークではインストールが遅くなる可能性がありますか?
      • ファイルごとにオーバーヘッドが大きくなる可能性があります(小さいファイル)。
      • 単一のCABをダウンロードする方が高速かもしれません(ウイルスチェックに時間がかかる場合があります)?
  • システムの復元(MSIFASTINSTALLだけでなく)マシンでグローバルに無効にできます。

背景情報

Windowsインストーラセッションの低速化の多くは、そのrollback capabilitiesが原因です。まず、インストールまたはアンインストールの前に復元ポイントを作成します(システムの復元が無効になっていない場合)。次に、アンインストール時とインストール時に影響を受けるすべてのファイルとレジストリキーをバックアップして、エラーが発生した場合にシステムを元の状態に復元できるようにします。新しいバージョンのWindowsインストーラーは、この複雑さの一部を無効にし、処理速度を上げる方法を備えています。以下の技術情報を参照してください。

別の速度の要因は、MSIのすべてのコンポーネントと機能がレジストリに登録されるです。これにはかなりのオーバーヘッドが含まれますが、 重要な企業展開とシステム管理の利点を実現するために必要です 。このレベルの制御を特徴とする他の展開テクノロジはありません。

埋め込みソースファイルを含む大きなMSIファイルは、そのインストーラーファイルを一時フォルダーに抽出するのに時間がかかる場合があります。これは時々すべての最大のボトルネックになることがあります。 run admin admin install を使用して、このようなパッケージからソースファイルを抽出し、MSIと並べて表示されるようにすることをお勧めしますファイル自体、各マシンでローカルにファイルを抽出する必要がなくなるため、導入時間を節約できます。 MSIパッケージからのファイル抽出 について説明する別の記事を次に示します。


技術的な案内


[〜#〜] update [〜#〜](2018年2月): というプロパティを設定できます[〜#〜] fastoem [〜#〜] 展開をスピードアップするための非常に特殊な状況下(リンクされたコンテンツを参照)。私はこれを試したことはありませんが、読む価値はあります。効果的に使用できるとは思えませんが、試してみる価値はあります。


執筆時点でのWindowsインストーラーの最新アップデート、Windowsインストーラー5(Windows Server 2012、Windows 8、Windows Server 2008 R2またはWindows 7で利用可能)、機能新しいプロパティ [〜#〜] msifastinstall [〜#〜]speedに使用できます大きなMSIパッケージのインストールをアップします。有効な値については、上記のリンクを参照してください。3/復元ポイントなし、およびFileCosting /のみを推奨します(ディスク容量要件を決定するプロセス)。または7で、進捗メッセージの頻度も減らします。

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

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

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

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

管理インストール

最後に、上記の背景情報で説明したように、MSIファイルの 管理者用インストール を実行してファイルを抽出し、各マシンでローカルに抽出されないようにします。これは、かなり高速なネットワークを使用しており、ファイルのコピーが大幅に遅れることなく行われることを前提としています。 1つずつコピーする必要がある小さなファイルが抽出されると、待ち時間の長いワイヤレスネットワークが遅くなると思います。/aをセットアップファイルに渡すだけで、管理者インストールを実行できます。

setup.exe/a

または

msiexec/a "D:\ winzip112.msi"

次に、プロンプトに従い、ファイルの抽出場所を選択する必要があります。この機能について説明しているスレッドについては、 superuser.com を参照してください。


一部のリンク

速度:

15
Stein Åsmul