昨日 の続き。WindowsXPにService Pack 2(SP2)を当てたところまで話したが、実はそこでまず一波乱あったのだ。今日はその話。
必要とされるパッチを当てたあと、SP2をインストールしたのだがこれが一筋縄ではいかなかった。設定が終わってインストールを開始するのだが、ほとんど最後のステップになってから、
Access is Denied
というメッセージウィンドウが出てインストールがストップしてしまう。ここでは具体的に何が起こったのか分からず、OKボタンをクリックするしかないのだ。そしてOKをクリックすると、そこまでにやったSP2のインストールをUNDOする。つまり今まで30分かけてインストールしたものを、また30分かけてアンインストールする。これには参った。
そもそも何のアクセスが拒否されたのか分からない。そこでHPのサポートにコンタクトしてどうすればよいのか聞いた。返事はすぐに来た。
- MSCONFIGによって、スタートアップ時に立ち上がるサービスをすべて禁止してインストールをしてみろ。
- Access Deniedに関してはMicrosoftのあるサイトに説明があるので、参考にしてくれ。
というものであった。1はいろいろやってみたが、結局何もかわらなかった。しかし、WindowsXPが立ち上がったときに、いろいろとおまけで立ち上がるアプリケーションはここで消せばよいということが分かったので、これは収穫であった。
2は面倒である。そもそもAccess Deniedのような「エラー」が起きた際には、ログファイルにそのことが記録されるのであるが、ふつうではエラーが起きたことしか記録されない。そこで「詳細ログを有効にする」という操作を行う。これにはレジストリエディタを立ち上げて、HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup というレジストリに、0x0000FFFFという値を書き込む。たかがログの出力を詳細なものにするために、レジストリエディタを立ち上げるということ自体が信じられないのだが、相手はWindowsなので仕方ない。そのとおりする。
次にSP2のインストールを行う。すると前回と同じようにAccess Deniedのエラーが起きて、またアンインストールされる。この間1時間。終わってから、Setupapi.logというファイルを見ると、Access Deniedのメッセージに続いて、アクセスが拒否されたリソースが書かれている。それは HKCR\vnd.ms.radio というリソースであった。レジストリエディタにいって、このリソースを探して、その「アクセス許可」を選び、Administratorユーザに対してFull ControlとReadの許可を与える。これで次回はアクセスが許可されるはずである。
またSP2をインストールすると、またAccess Deniedエラーがおき、また30分かけてアンインストール。ログを見ると、今度は HKCR\HNetcfg.FwMgr というリソースでアクセスが拒否されている。また同様にレジストリエディタを使ってこのレジストリに対するアクセスを許可する。
またまたSP2をインストール。またAccess Deniedのエラー。「はいはい、シラミツブシ作戦だね、これでは。ということでログを見てみると、エラーが起きたのはなんと HKCR\vnd.ms.radio!なんとアンインストールした際に、アクセス許可も元に戻ってしまったようだ。つまり、アクセス拒否されるレジストリをすべて記録して、毎回許可してからSP2を当てなければならないということなのだ。
HKCR\vnd.ms.radioとHKCR\HNetcfg.FwMgrのアクセスを許可して、3度目だったか4度目だったかのSP2のインストールを敢行するが、またもエラー。今度はHKCR\HNetcfg.FwOpenPortがエラーであった。Webで検索したところ、HNetcfgの下にはFwMgr、FwOpenPort、FwAuthorizedApplicationという3つのレジストリがあるらしい。レジストリエディタで見ると確かにその3つがある。
この3つとvnd.ms.radioの4つのレジストリのアクセスをすべて許可して、何度目かのSP2のインストールをしたところ、ようやく成功した。いったい何だったのか・・・ Adminユーザがアクセスできないものがあるとしても、それがレジストリエディタでいとも簡単に許可できるところもおかしい気がする。まあともあれ、これでSP2を当てることはできた。
しかし
予感してはいたものの、またInternet Explorerが動かなくなってしまったのだ。
最近のコメント