unattend.xml:Vistaで Windows Update 失敗の原因解明
ThinkPad T61pでの SSDのセットアップに時間がかかってしまいました。
Windows Update がうまくいかなかったからですが、ようやく一応の解決ができました。
Windows Update では、実に20個以上の項目のアップデートに失敗してしまい、原因を調査するのに非常に時間がかかりました。
Ultimate,Business を何度か再インストールを行い、30日間の猶予があるのに、アクティベーションをしてもみましたが、症状が変わりません。

Windows Update の失敗を調査するには、更新履歴の表示を行って、失敗している項目を一つ一つ右クリックして、エラーコードを確認します。
そしてエラーコードが 800f0826 以外のものを探さなくてはなりません。
エラーの原因が 800f0826 では、エラーの原因が特定できないのだそうです。
見つけたのは、『Windows Vista 用の更新プログラム (KB939159)』。
エラーコード 80070003 で失敗。これが原因で、他のアップデートも失敗するようです。
Windows Updateのヘルプによると 80070003 エラーを回避するには、Windows Update を一時停止し、一時更新ファイルを削除し、Windows Update を再起動する必要があるそうです。
『管理ツール』の『サービス』からWindows Updateを停止して、
一時ファイル
C:\Windows\SoftwareDistribution\DataStore
C:\Windows\SoftwareDistribution\Download
をすべて削除してから、Windows Update を再起動してやってみました。
しかしこれでは直りませんでした。
いろいろと検索してみると、SSDの問題ではなく、unattend.xmlを使って、userprofileやprogramdataをD:ドライブにおいたことに関連性があるようです。
試しに、Windows6.0-KB939159-x86.msu を手動でインストールしたところ、問題なくインストールできます。
どうも、Windows Updateのバグっぽいですね。
◇解決編
80070003 は Path Not Found エラーらしいので、次のようにしてみました。
・Vistaをクリーンインストール
・コマンドプロンプトを管理者として実行して
mklink /J c:\users d:\users
mklink /J c:\programData d:\programData
としてから、Windows Updateを行うと、うまくいきました。
追伸:
なお、mklink コマンドを使わずにセットアップしていた時の話ですが、D:ProgramDataが設定されているにもかかわらず、C:ProgramDataを勝手に作成するお行儀のよろしくないプログラムがあったようです。C:ProgramData配下のフォルダ名はMicrosoftとなっていました。
Windows Update がうまくいかなかったからですが、ようやく一応の解決ができました。
Windows Update では、実に20個以上の項目のアップデートに失敗してしまい、原因を調査するのに非常に時間がかかりました。
Ultimate,Business を何度か再インストールを行い、30日間の猶予があるのに、アクティベーションをしてもみましたが、症状が変わりません。

Windows Update の失敗を調査するには、更新履歴の表示を行って、失敗している項目を一つ一つ右クリックして、エラーコードを確認します。
そしてエラーコードが 800f0826 以外のものを探さなくてはなりません。
エラーの原因が 800f0826 では、エラーの原因が特定できないのだそうです。
見つけたのは、『Windows Vista 用の更新プログラム (KB939159)』。
エラーコード 80070003 で失敗。これが原因で、他のアップデートも失敗するようです。
Windows Updateのヘルプによると 80070003 エラーを回避するには、Windows Update を一時停止し、一時更新ファイルを削除し、Windows Update を再起動する必要があるそうです。
『管理ツール』の『サービス』からWindows Updateを停止して、
一時ファイル
C:\Windows\SoftwareDistribution\DataStore
C:\Windows\SoftwareDistribution\Download
をすべて削除してから、Windows Update を再起動してやってみました。
しかしこれでは直りませんでした。
いろいろと検索してみると、SSDの問題ではなく、unattend.xmlを使って、userprofileやprogramdataをD:ドライブにおいたことに関連性があるようです。
試しに、Windows6.0-KB939159-x86.msu を手動でインストールしたところ、問題なくインストールできます。
どうも、Windows Updateのバグっぽいですね。
◇解決編
80070003 は Path Not Found エラーらしいので、次のようにしてみました。
・Vistaをクリーンインストール
・コマンドプロンプトを管理者として実行して
mklink /J c:\users d:\users
mklink /J c:\programData d:\programData
としてから、Windows Updateを行うと、うまくいきました。
追伸:
なお、mklink コマンドを使わずにセットアップしていた時の話ですが、D:ProgramDataが設定されているにもかかわらず、C:ProgramDataを勝手に作成するお行儀のよろしくないプログラムがあったようです。C:ProgramData配下のフォルダ名はMicrosoftとなっていました。
comment
Re
> D:ProgramDataが設定されているにもかかわらず、C:ProgramDataを勝手に作成するお行儀のよろしくないプログラムがあったようです。
ひでぇ〜。私のところは現在 SP1 RC 検証中なので問題になっていませんね。
そういえば、"C:Documents and Settings" の junction 参照先間違っているので、直しておいた方がよいかと。
ひでぇ〜。私のところは現在 SP1 RC 検証中なので問題になっていませんね。
そういえば、"C:Documents and Settings" の junction 参照先間違っているので、直しておいた方がよいかと。
No title
ども、ありがとうございます。
>そういえば、"C:Documents and Settings" の junction 参照先間違っているので、直しておいた方がよいかと。
Dir /ad で確認すると、ほんとだ。ダメでした。
さて、
c:\ProgramDataを勝手に作成していた犯人を確認するのを忘れましたが、その時入れていたのは、Vista,Office 2007 Enterprise,Visual Studio 2008, MSDN,VSS 2005なので、このいずれかに絞られると思います。あとD:\ProgramData\Microsoft もしっかりありました。
ほかに Lenovo,Intel などは お行儀よく、D:\ProgramDataにフォルダを作成していました。
>そういえば、"C:Documents and Settings" の junction 参照先間違っているので、直しておいた方がよいかと。
Dir /ad で確認すると、ほんとだ。ダメでした。
さて、
c:\ProgramDataを勝手に作成していた犯人を確認するのを忘れましたが、その時入れていたのは、Vista,Office 2007 Enterprise,Visual Studio 2008, MSDN,VSS 2005なので、このいずれかに絞られると思います。あとD:\ProgramData\Microsoft もしっかりありました。
ほかに Lenovo,Intel などは お行儀よく、D:\ProgramDataにフォルダを作成していました。
No title
Lenovo ねぇ。System update %PROGRAMFILES% に保存させるんですよ。
ACL を変更しているので動作に支障はないんですが、あんまり好ましくないですね。
なぜ %PROGRAMDATA% 使わない?
ACL を変更しているので動作に支障はないんですが、あんまり好ましくないですね。
なぜ %PROGRAMDATA% 使わない?
SYSTEM UPDATE の作業ディレクトリ
C:\Program Files\Lenovo\System Update\session ですね。さっきHDDのシステムに戻してみましたが、800Mほど消費してますねぇ。








