プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

DLL Hellの問題


会社でメインに使っているPCが突然おかしくなる。
IEでyahooを開くだけで、一分ぐらいかかってしまう。
その上、アクセス中は、他のアプリやWindowsシェルそのものの動作が鈍くなってしまう。
とてもじゃないけど、使っていられない。


IEを使わなければいいんだけど、普通に使っているだけで、けっこうブラウザを使う機会は多いものだ。
最近は社内の共有資料やツールも、ほとんどウェブ化している。
社外の情報収集は当然インターネットで検索だ。
ブラウザを全く使わないというのは、ほとんどムリと思える。


ちなみにおかしくなり始めたのは、某社の某有名ソフトのアップデートを入れてからである。(妙なフリーソフトを入れたとかではない)
いろいろウェブで調べてみるが、どうも原因がわからない。
メインPCでもあるということで、ここは一気に半日かけてOSの再インストールをすることに決める。
たぶんその方が早いし、PCの整理もできるから、得策だ。(と、言い訳をしてみる^^;)


しかし最近のOSのインストールは面倒だねえ。
まずはXPをインストールし、SP2とセキュリティパッチを当てる。
パッチもWindowsUpdateしたら終わりではなく、アプリや.NET Frameworkなどを入れると、パッチの数が増えていく。
パッチを当てる前に、ネットワークケーブルを抜いたり、無線LANを無効にしておくことも重要だ。
よって、最低限マイクロソフトで提供しているセキュリティ対策CD-ROMが必要となる。
元々OSのインストールは面倒なことが多いけど、最近はさらに面倒さが増しているね。


とは言うものの、実はOSのインストールをするのは、けっこう好きである。
最初は何もできないPCに、OSやアプリをインストールして、だんだん使えるようにしていく。
なんかドラクエのキャラクタを育ててるみたいで、楽しい。
同じハードなのに、リフレッシュする感じで、気持ちいいしね。


そんなこんなで、半日ほどかけて、なんとか使える状態まで復活。
足りないアプリは、必要な時に、インストールしていけばいいだろう。
Windowsも速くなった気がするし、とりあえずはよかった、よかった。


たぶんDLL Hellの問題だと思うんだけどねえ。
IEの反応が遅くなったのに、なぜかFirefoxでは同じサイトを見ても、遅くならない。
そもそも遅くなったのは、あるソフトのアップデートをしてからなので、その時Windows\system32のDLLの何かが書き換えられてしまったと思われる。
IEのパッチも再インストールしてみたりしたんだけど、うまくいかなかった。


system32のDLLもそうだけど、アプリごとに共通ファイルを持つのって、どうにかならないのかなあ。
SFPとか、Side by sideとかで、昔のWindowsのように、USのソフトを入れたらダイアログが英語になっちゃった、なんてことはなくなったけど、根本解決はしてないよね。
いっそWindows OSの中にあるDLLは最低限のものだけにしてしまって、あとのコンポーネントは、多少重複しても、アプリごとに持つってのはどうか?
なんて考えたんだけど、セキュリティホールとかに対するパッチなんかを考えると、やっぱりDLLはシステムに一個というのが、現実的なんだろうな。


とりあえずアプリやドライバのインストール前に、復元ポイントを作っておく、ということか。
でも自分じゃそんなことやらないだろうなあ。
そもそもぼくが簡単に解決策を思いつくぐらいだったら、もうとっくにこの問題、解決してるって。


というわけで、yasuhoの独り言(愚痴ともいう)でした。:)