.NET Framework のインストールがうまくいかない

455

昨日ぐらいからものすごく暑いです。5月になったばっかりなのにさっそく冷房がフル稼働しています。で、電気代が…。

とにかく、うまくいかない

そんな中、暖房が必要なぐらい寒かった頃から、家と会社のPCで不可解なことが起きていました。

どちらもしばらく待たされたあげく、エラーが発生しましたとか言って理由も告げずに終了してしまいます。なんのエラーなのか教えてくれよ、みたいな。


発生したのは家のノート、デスクトップ、会社のデスクトップで、いずれも以下の共通点がありました。

  • 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インストーラはトラブルが多すぎて、どれが解決策かわからない。
  • 今回書いた解決方法は、あまりメジャーではないらしい。(同じ現象で困っている人がいない?)
  • マイクロソフトのパッチは信用しない。

あー、ややこしかった。同じ現象で悩んでいる方はぜひ試してみてください。しかし相手がマイクロソフトのソフトゆえ、何が起こっても責任は取れませんが。