.NET Framework のインストールがうまくいかない
昨日ぐらいからものすごく暑いです。5月になったばっかりなのにさっそく冷房がフル稼働しています。で、電気代が…。
とにかく、うまくいかない
そんな中、暖房が必要なぐらい寒かった頃から、家と会社のPCで不可解なことが起きていました。
- .NET Framework 2.0 SP2 がインストールできない
- .NET Framework 3.5 SP1 がインストールできない
どちらもしばらく待たされたあげく、エラーが発生しましたとか言って理由も告げずに終了してしまいます。なんのエラーなのか教えてくれよ、みたいな。
発生したのは家のノート、デスクトップ、会社のデスクトップで、いずれも以下の共通点がありました。
- Visual Studio 2005 と 2008 の Express Edition (無料版) をインストールしていた。
- .NET Framework の 2.0SP1、3.0SP1、3.5 (無印) が入っていた。
とりあえず Visual Studio (家と会社で使ってる開発ツール) は動くし、ほとんど C++ しか使っていないのでまあいいか、と思いつつ、最新の .NET Framework が入ってくれないのはものすごく気持ち悪いです。
そんなこんなで、半年ぐらい解決しないまま放置していました。
そんなある日、新しく xp をインストールして Windows Update で最新の状態にしたばかりの PC を見ると、当たり前と言うべきか、ちゃんと .NET Framework の 2.0SP2 も、3.0SP2 も、3.5SP1 も入ってました。
「もしかしたら、いけるかも」
ついカッとなってやった
ついカッとなって、ノート PC の .NET Framework を 3.5、3.0、2.0 の順に削除してみることにしました。2.0 のアンインストール時に「インストール中に致命的なエラーが発生しました」とか言われたけど、確認したらちゃんと削除されたように見えるのでキニシナイ!!
そして、.NET Framework 2.0 無印を入れてから、SP1 を飛ばして SP2 を入れると…なんとすんなり入りました。苦節約半年。このパソコンに 2.0 の SP2 が入ったのは初めてです。ちょっと感動。したのも束の間…。
あれっ、3.0 がインストールできない
今は反省している
なんと、.NET Framework 3.0 がまったくインストールできなくなりました。インストールを開始して3秒で、例の「エラーが発生しました」のメッセージとともに、やはり理由も告げずに終わってしまいます。
そして困ったことに、Visual Studio も動かなくなってしまいました。
ああ、こんなことするんじゃなかった。さようなら Visual Studio。
これが会社の PC じゃなくてよかったと思いつつも、今さらながら後悔の念でいっぱいです。
そして解決へ
こんなときに頼りになる Google 様で検索してみたらいくつか対策は出てきたものの、どれも効き目はなく有力な情報は見つからず。
もう半分あきらめ状態でもう一度 Google 検索してみて、あることを知りました。
- 3.5 をインストールすると、2.0SP1 と 3.0SP1 が抱き合わせでインストールされる
- 3.5SP1 をインストールすると、2.0SP2 と 3.0SP2 が抱き合わせでインストールされる
つまり、さっきまでしようとしていた「2.0→2.0SP2→3.0→3.0SP2→3.5→3.5SP1 の順に再インストール」という手順はまったく必要なくて、いきなり 3.5SP1 を入れればいいようです。
そこで、2.0 以降をすべて削除して、Download Microsoft .NET Framework 3.5 Service Pack 1 from Official Microsoft Download Center の中ほどにある「.NET Framework 3.5 Service Pack 1 (フルパッケージ)」(フルパッケージ版でなくてもいいかもしれません) をダウンロードして、さっそく試してみました。
入ったどー!! この画面を見たかった!! ヒャッハー!!
ちゃんと 2.0SP2 や 3.0SP2 も入ってくれているようです。
まとめ
半年がかりでついに解決しました。まとめると、.NET Framework 2.0〜3.5 をすべてアンインストールして、いきなり 3.5SP1 を入れればよかっただけということのようでした。Visual Studio も再インストールすることなく復活!! ほんとよかった。
今回得た教訓はこんな感じでした。
- .NET Framework (1.0〜1.1 を除く) の新しいバージョンを入れる際、古いバージョンが入ってるとうまくいかないことがある。また、新しいバージョンが入っているときに古いバージョンを消そうとしても、謎エラーでうまくいかない。たとえば、3.5 が入ってるのに 2.0 を消して入れ直そうとしても無理。
- .NET Framework のインストーラはトラブルが多すぎて、どれが解決策かわからない。
- 今回書いた解決方法は、あまりメジャーではないらしい。(同じ現象で困っている人がいない?)
- マイクロソフトのパッチは信用しない。
あー、ややこしかった。同じ現象で悩んでいる方はぜひ試してみてください。しかし相手がマイクロソフトのソフトゆえ、何が起こっても責任は取れませんが。