使ってない.NET frame workを消す

 取り合えず、色々アンインストールしたので、次は上位互換っぽいのを消す事に。
 .netframeworkは一応上位互換という名目らしいので、古い奴は消す事に。ただし、1.1と2.0には一部互換性がないとからしいけど、どうせ.Netのソフト使ってないし。一部なら殆ど問題ないだろうという安易な考えで1.1と1.0をアンインストール。上位互換と言うことは3.0を入れてしまって、2.0を消すとかしても良いじゃね?と思ったので、すかさず3.0を入れて2.0を削除しようとしたら、3.0入れると2.0も含まれるってどういうことかと、上位互換ってよりただ二つ入れてるだけなのか、一応2.0も入れるのか微妙な所。。何か3.0の方が少しスリムだし容量的にもお得なだけに互換性がないんじゃないかとか。3.5と言うのもあるので、こっちを入れてしまっても良いかもしれないが、これは明らかに3.0と2.0も両方中に含まれてるというか動作に必要そうな雰囲気なので、結局ダイエットにはならない感じ。

Microsoft .NET Framework 3.5
簡単な説明
Microsoft .NET Framework 3.5 は、.NET Framework 2.0 と .NET Framework 3.0 に対して新機能が多数追加されており、.NET Framework 2.0 Service pack 1 と .NET Framework 3.0 Service pack 1 を含みます。

from http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=ja
と書かれているので、言葉通り信じるならば、2.0と3.0とそのサービスパックや言語パック、hotfix等を全部削除して最新の3.0に変えてしまっても、まったく同じ事をしてくれる事になっているらしい。
 ただし、hotfixとかは、アンインストールが意外と面倒でアンインストールする順番とか気にしてくるので、消し方が面倒だったりもする。

事前に プレリリース版 (Beta 版)の .NET Framework 3.5 およびその関連コンポーネントがインストールされている場合には、これらをアンインストールしてからリリース版の .NET Framework 3.5 をインストールする必要があります。
プレリリース版 版の .NET Framework 3.5 およびその関連コンポーネントをアンインストールする手順は以下の通りです。

1. Windows XP または 2003 の場合
コントロールパネルの プログラムの追加と削除 を選択し、以下のプログラムを以下の順序でアンインストールします。
- Microsoft .NET Framework 3.5 (プレリリース版) Language Pack - 日本語
- Microsoft .NET Framework 3.5 (Pre-Release Version)
- Microsoft .NET Framework 3.0 Service Pack 1 Language Pack - JPN
- Microsoft .NET Framework 3.0 Service Pack 1
- Microsoft .NET Framework 2.0 Service Pack 1 Language Pack - JPN
- Microsoft .NET Framework 2.0 Service Pack 1

上記のプログラムをアンインストールした後、リリース版の.NET Framework 3.5 をインストールします。

 とMSの所には書かれているけど、これ正常版でも順番違うと上手くアンインストールできない感じ。実際自分は途中でエラーでたので、入れなおして、コレを見て順番も気にしてアンインストールしてみた。特に言語パックと本体の順序を間違えると何か言語パックでインストール情報が残って変な感じになるし、途中から言語パック→本体にするとか、バージョン低いのから消してたりするとかでも、エラーが出る。hotfixとSPが入っている場合はどういう風になるのか更に不明。個別のをmsサイトで見て確認した方が良さそうに思う。どのバージョンも日本語パックを先に消してから本体消さないと上手く消えない様子だけど、アンインストーラを使用しているのに日本語パックの有無とか確認せずに本体を先にアンインストールしても止めてくれたりはしなかったりとMSの思考回路が読めないので、その辺も注意が要る。
 インストールに関しては「再頒布可能パッケージ」とか3.0にするか3.5にするかとか個人に合わせた選択も必要なので多少考えて入れたほうがいいかもしれない。2.0だけでも今の所はそんなに問題もないので2.0だけすると言う手もある。消すのが結構面倒だし。殆どの人はx86だと思うけど、x64とかも併記されてるので、気づかないで間違そうだから注意は必要。折角入れたならSDKも入れるべきとか思ってると入れるのがどんどん増えてて全然ダイエットできないので、その辺は無視することにした。

 アンインストール情報に関してはMSのサイト以外の良くある質問系サイトとかでは微妙に間違ってる情報も見られるので、信じてそのままやるとエラー出る場合も在りそう。例えば、.net frame workはWindowsの一部だからアンインストールしたらおかしくなるとか、.netframeworkのHotfixはWindowsのアップデートだとか、色々変なことも書いてあったりしてなんじゃこりゃと言う感じも。.net frameworkはframeworkなのでVista以外のWindowsでは標準機能じゃないと思われ。むしろ、.net使うソフトを入れてないなら必要ないくらいで。それとHotfixは修正プログラムだから.netframeworkのHotfixは.netframeworkのバグ修正パックみたいなものだと思われ。まあ、Windowsのhotfixは削除してはいけないから分からない場合は削除しない方が良いけど。Windowsのhotfixでも後から正規のサービスパックで補正しているのとかはhotfixが必要ない場合もありそう。

■参考になりそうな所
http://www.atmarkit.co.jp/fwin2k/dnitpro/dntech/005dnfwsptrbl/005dnfwsptrbl.html

1.0や1.1の修正プログラムは一部不具合があるので、それを修正にするのとが必要な場合もある。
http://www.microsoft.com/downloads/details.aspx?familyid=7A4EFC33-0343-4EE4-B0C4-97BD16967A09&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?familyid=387DE3F1-8EC9-42A1-9605-3B75E19F901A&displaylang=ja
この辺は常識的なラインで消す順序と考えても上手くいかなかったので色々使って消したりした。自分の場合はKB928366は結構厄介でコレ使っても消えないと言う、何のための専用アンインストーラなのかちょっと理解できないけど。1.1本体を消してみたら何故か消えたので良いことにしたけど、.netframeworkの1.1hotfixと2.0の言語パック3.0の言語パックあたりは本当に消えたのかどうかはかなり微妙な所。色々カスを残してるのは疑いの余地はない。なんと言うウザさ。
 しかし、上位互換というなら3.0入れるときに2.0とか消してくれれば良いのに不親切な。余程互換性に自信がないんだろうか。この様子じゃWindowsのhotfix回りも色々削除してもいいのが残ってそうで妙に不安を覚えてみたりしたが、面倒だったのでそれは後回しに。