ブログアーカイブ

Windows Update とレジストリ


Vista で Windows Update を手動で行う

msuファイルを選択して更新プログラムをインストールできない場合にファイルを展開してインストールする一例です。詳しくはパッケージ マネージャのコマンドラインオプションを参照してください。

Windows Vista Packages


  1. Microsoft ダウンロードセンターから 更新プログラム msu ファイルをダウンロードします。
  2. expand /f:* Windows6.0-KBxxxxxx.xxx.msu [outdir] を実行して任意のフォルダーに展開します。[outdir] は事前に作成しておく必要があります。
  3. [outdir] フォルダーのWindows6.0-KBxxxxxx.xxx.cab を展開します。expand /f:* Windows6.0-KBxxxxxx.xxx.msu [outdir2]
  4. cd [outdir2]
  5. 管理者権限を使用してコマンドプロンプトに start /w pkgmgr /ip /m:update.mum を入力して インストールを行います。%SystemRoot%\servicing\Packagesにcatファイルとmumファイル, %systemroot%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} にcatファイルがコピーされているか確認します。

ファイル名に _bf が含まれるものは LDR区分となります。また _server が含まれるものは Windows Server で必要となると考えられます。


レジストリについて

Windows Update のファイルの情報は次のレジストリに書き込まれます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect に更新されるシステムファイルを情報が書き込まれます。複数の更新プログラムに同じファイルの更新が含まれることもあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, %systemroot%\servicing\Packages と %systemroot%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} にcatファイルとmumファイルの情報を反映しています。

TrustedInstaller, OptionalFeatures, ocsetup, pkgmgr


TrustedInstaller.exe : Windows モジュール インストーラ
Windows Update 更新プログラム、オプションコンポーネントのインストール、変更、削除で実行されます。

%SystemRoot% フォルダには TrustedInstaller のみフルコントロール権限が与えられています。Administrators, SYSTEM は「読み取りと実行」のみ権限が与えられています。所有権も TrustedInstaller になっています。正しく設定されていると Windowsリソース保護(WRP)によりリソースが不正に変更される可能性が低くなります。
http://msdn.microsoft.com/ja-jp/windows/dd871149.aspx

Windowsの機能の有効化と無効化をコマンドラインから呼び出すには OptionalFeatures と入力します。何らかの原因でコントロールパネルからアクセスできない場合でも利用できます。

また ocsetup.exe を利用してWindowsのオプションのコンポーネントのセットアップを行うことができます。pkgmgr.exe パッケージマネージャでも同様にセットアップすることができます。コンポーネントの名前はマイクロソフトのサイトを参照します。
Windows Vista Packages (en-us) : http://technet.microsoft.com/ja-jp/library/cc722041(WS.10).aspx
Windows Server2008 Packages (en-us) : http://technet.microsoft.com/ja-jp/library/cc748930(WS.10).aspx