大層なタイトルつけてみたけど、他意はないんだぜ?
オレの仕事場で(そしてオレの仕事用ノートPCでも)Windows Updateの失敗が続出した。
そして失敗が起きていたのがこのKB905474、つまりWGA(Windows Genuine Advantage)だったってワケだ。
なので解決方法を処方箋的な意味合いで載せとこうと思う。
(役に立つかはおいといて)
まず軽いケースの場合。
下記URLから実行ファイルをダウンロード、保存して実行する。
http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsxp-kb905474-enu-x86_4bafa8793e8cdcaf4ba4ffc494df32d496154544.exe
そんだけ。
(いや、手抜きじゃなくてホントに)
次にちょっと面倒なケースの場合。
「Windows XP を更新する権限がありません。」みたいなカンジでXPタンに冷たく突き放された人はこっち。
ちなみにオレもこっちだった。
「オレとXPタンの信頼関係もその程度のもんだったんだな。」と思わされた。
(ただいま妄想中です。しばらくお待ちください。)
途方に暮れたオレは昔のXPタンを取り戻すために旅に出た。
そしてとうとうMr.Googleに一つの答えを授かることができた。
(Google Japanでは答えは得られなかった)
というワケで手順を記そう。
ちなみにコレをやると、システムドライブの所有権とレジストリのアクセス権限にローカルのAdministratorsとSystemが追加し直されるので、自己責任でやって欲しいと先に言っとく。
まず、下記URLからSubInACLのインストーラをダウンロード、保存して実行する。
SubInACL (Microsoft)
次に、インストールしたディレクトリをPATHに追加するか、もしくは実行ファイルをPATHの通った場所に移動する。
・インストールしたディレクトリをPATHに追加する場合
set path=%path%;"%SystemDrive%\Program Files\Windows Resource Kits\Tools
・実行ファイルをPATHの通った場所に移動する場合
move "%SystemDrive%\Program Files\Windows Resource Kits\Tools\subinacl.exe" %SystemRoot%\System32\.
そして、メモ帳に以下の内容を貼り付け、.bat拡張子で保存して実行する。
rem -----ここから-----
@echo off
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=systems=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
@Echo =========================
@Echo Finished.
@Echo =========================
@pause
rem -----ここまで-----
最後に、仕上げの再起動をしたら、Windows Updateを実行する。
コレでうまくいくハズ。
でも、うまくいって良かったんだが、同時に何か大切なものを失ってしまった気がする。
もう、昨日までのXPタンはいないんだね。
(ただいま妄想中です。しばらくお待ちください。)
あれ、ヘンだな。目から水が出てくるや。
(ただいま妄想中です。しつこいですか、そうですか。)