ブログアーカイブ

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ファイルの情報を反映しています。

広告

Windows Update, Windows の機能(Windows Features)


  • sfc /scannow を何度実行しても同じファイルを修復しようとします。ログにRepairing corrupted file と書かれています。「Windows リソース保護により、破損したファイルが見つかり、それらは正常に修復されました。詳細は、CBS.Log %systemroot%\Logs\CBS\CBS.log に含まれています。」このようなメッセージが表示されず、「問題がない」としか表示されない。
  • Windows Updateでインストールした更新プログラムが再び表示される、Windows Features の構成に時間が掛かるなど不具合が生じる場合は次の点を確認してください。

%systemroot%\servicing\Packages または %systemroot%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} フォルダに update.cat, update.mum, update-bf.cat, update-bf.mum が存在する場合はこのファイルを削除します。

%systemroot%\winsxs\Pending.xml ファイルが存在する場合は削除します。念のためにコピーしておきます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing のアクセス権が正しく設定されているか確認し、修正します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages のサブキーについて次の点を確認します。

.NET Framework の %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\enterprisesec.config, security.config ファイルの設定を確認します。アクセス権(ACL)が正しく継承されているか確認します。

言語パック (Language pack)をインストールし直します。英語版を使われている方も en-us の言語パックが存在しますので必要となります。

ダウンロードした exe ファイルを展開します。このとき生成される lp.cab ファイルを別のフォルダーにコピーしておきます。

Windows ログに 4373 が書き込まれていることを確認します。


Windows Features の情報は次のレジストリを参照しているようです
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF