LDR と GDR

よく聞かれるので、まとめておこうと思う。

Microsoft は製品に何らかの不具合が見つかった場合に修正プログラムを提供しているのですが、この修正プログラムには

  • LDR : Limited Distribution Release
  • GDR : General Distribution Release

の二種類が存在します。
LDR も GDR も特定の問題に対する修正を行ったモジュールなのですが、LDR は局所的にテストを行ったもので、GDR は広範囲にテストを行ったものと認識してください。そのため、提供方法も若干異なります。
LDR はサポート技術情報(KB)からの個別ダウンロード & インストールとなるのですが、
GDR は、それに加えて、「重要な更新プログラム」という位置づけになると Microsoft Update でダウンロードされインストール
されることもあります。

  • 重要な更新プログラム
  • 更新プログラム
  • 更新プログラムのロールアップ
  • セキュリティ更新プログラム

よく、QFE という言葉を耳にしますが、本来、QFE(Quick Fix Engineering)は LDR のこと指しています。
なお、完全に特定環境における個別問題に対する修正モジュールを Hotfix と呼んでいます。

LDR に関しては一つ注意しておかなければならないことがあります。
一度でも LDR でモジュール適応した後、何かのタイミングで、そのモジュールがさらに更新されたとしても
LDR モジュールが適応され続けます。
更新されたモジュールに新しい LDR があれば、その新しい LDR が適応されることになります。
つまり、GDR が適応されることはなく、GDR を適応させたいという場合には、LDR をアンインストールした後に
GDR を適応する必要があります。

こんな事情があるので、Windows Vista 以降の GDR には、LDR が含まれています。
GDR は大体、拡張子 .msu (MIcrosoft Update Standalone Package)で提供されているのですが、
実は、このファイル展開することができます!

では、GDR の中にある LDR のインストール方法を紹介します。

  1. msu ファイルを個別に KB サイトからダウンロードする
  2. 適当なワークフォルダーを作成する
  3. コマンドプロンプトを開く(管理者用コマンドプロンプトである必要はない)
  4. コマンドプロンプトで
    expand -F:* <msuファイル名> <作成したワークフォルダー>
    を実行すると、ワークフォルダーにファイルが展開されます。
  5. ワークフォルダーに展開されたファイルの中に キャビネットファイル(.cab)がありますので、それを展開します。
    コマンドプロンプトで
    expand -F:* <cabファイル名> <作成したワークフォルダー>
    を実行すると、ワークフォルダーにファイルが展開されます。
  6. cab ファイルを展開したワークフォルダーに update-bf.mum というファイルがあることを確認します。
    これをパッケージマネージャーを使ってインストールします。
    pkgmgr /ip /m:<your dir>update-bf.mum

なお、ファイルのバージョン情報を見ると、LDR と GDR の区別ができます。