ブログアーカイブ

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


Component Based Servicing

Windows XP 以降のバージョンでは HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\RegistrySizeLimit を削除します(http://support.microsoft.com/kb/292726)。このキーが存在すると、レジストリのサイズが制限されるため、CBSの構成に問題が生じる可能性があります。

[Windows 8]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages の InstallName を確認して、キー名.mum に設定します。

[Windows 7, Vista] HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages の InstallName を確認して、キー名.mum に設定します。TopLevelを含むものと、Package_for_KB で始まりclientを含まないものは update.mum に設定します。Vista Service Pack 2, Package_for_KB948465~ で始まるキーは、キー名.mum に設定します。


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ApplicabilityEvaluationCache は Windows Update の際に自動的に作成されます。更新されない場合は、手動で削除します。

システム更新準備ツール(KB947821) を実行すると、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect も更新されます。

Windows Update 80070490 Error


こちらの記事を参照してください。

Windows Update の際に 80070490 エラーが発生

システム更新準備ツールを利用します。

レジストリエディタで と HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ のキーを確認します。

%systemroot%\servicing\Packages に存在する mum ファイルが HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages のサブキーに正しく登録されているか確認します。

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