2008年10月30日

.NET Frameworkのアンインストール方法 このエントリーをはてなブックマークに追加

コントロールパネルを見たら、何故か.NET Framework が1.1 2.0,3.0と3種類も入っていた。
なんじゃこりゃと思い、そもそも.NET Frameworkとはなんだろ?と思い調べ始めてはみたものの、よくわかんなかった。
.NETってのがWindows環境でのネットワークアプリケーション動作環境で、その.NET対応アプリケーションを動作させる環境では必ず.NET Frameworkのインストールが必要になるらしい。
まあいいかと思い消すことにしたのだが、これが何故かアンインストールできない!
アプリケーションの追加と削除で消そうとしても何故か消えない・・・

消えないモジュールは KB928365 ってやつ。
で、アンインストールするため、検索したら下記サイトに書いてあった。

エラーコード0x66Aが止まらない(解決) - and feel

で、これを見ると、Aaron Stebner's WebLog : Automated cleanup tool to remove the .NET Framework 1.0, 1.1, 2.0, 3.0 and 3.5 を使えばすべての.NET Frameworkがアンインストールできるようだ。

ダウンロードは以下から。
.NET Framework Cleanup Tool User's Guide

zip解凍後「dotnetfx_cleanup_tool」というフォルダができているので、フォルダ内のいcleanup_tool.exeを実行する。

実行すると、以下のような画面が表示されるので、Cleanup Nowのボタンを押せばアンインストールできるっぽい。

NETFramework uninstall

うーむ。便利だ。
posted by りょーち | Comment(11) | TrackBack(0) | Web周辺技術
この記事へのコメント
もの凄く大雑把に言えば、その昔MSがIEにJavaランタイムを仕込んでたらSunにケチつけられたんで、そんならJavaでないJavaみたいなVMとその開発環境を独自に開発したれっつーことでできたのが.NETだと認識してまふ。
ちなみにバージョンは大雑把には1.0/1.1/2.0/3.0/3.5があるけど、2.0以降では今のところAPIが拡張されただけであって、3.0系でもランタイム(よーするにVM本体)自体は2.0が最新。そして2.0ランタイムは1.0とは互換性があるけど1.1とは互換性がなかったりする罠(なので、使用するアプリの組み合わせによっては1.1と2.0以降の両方がインストールされている必要があったり、開発を行わないのであれば現在のところは3.0以降がインストールされている必要はないはずだったりしまふ)。
んで.NETのランタイム環境のことをCLRっつーんだけど、例えばIEのUserAgentを見ると.NET FrameWorkが有効な状態だとCLR 2.0.xxxxxとかなんとか、そんな文字列が含まれていることでランタイムのバージョンを確認できたりもしまふ。
例えばわしマシンのIEのUserAgentは
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
となってたりしてて、1.1と2.0のCLRがどちらも有効になっていることがわかる(そして.NET FrameWorkとしては3.5を入れてあるんだけどCLRは3.5でなく2.0であることもわかる)。

なおVisual Studio .NET(事実上のVisualStudio Ver.7)以降で開発したアプリは開発言語の選択やビルド時の設定によって.NET FrameWork依存になりまふ。
そゆ意味では、.NET FrameWorkはVisualBasic .NET(すなわちVisualBasic 7.0)以降のVBランタイムであると思ってもそんなに間違ってなかったり(VB6以前と違ってイマドキのVBはもはやネイティブコードへのコンパイルには対応していない)。
あとまーそんなワケで、ネットワークアプリケーションでなければ.NET FrameWorkに依存することはないと考えるのはまつがい。イマドキのWin系アプリ開発では「マネージコード」ちう用語が時々出てくるけどこれは「.NET FrameWork依存コード」を意味すると思っておくのも役に立つことがあるかも。

ついでに言うと、Adobeが作ったJavaみたいで.NETみたいなもんがAIRであって、MSが作ったFlashみたいなもんがSilverlightと認識してたぶん桶ちうかわしはそう認識してる。
Posted by もぽ at 2008年10月30日 20:39
あーでも.NETの2.0→3.0以降の変更点ってAPIちうか要はクラスライブラリの拡張だから、自分自身が開発を行わないエンドユーザであっても、VBAとかVBScriptとかJScriptとか使った(実行時にコンパイルされる)アプリを実行する場合には3.0以降の.NET FrameWorkがインストールされている必要がある場合もありそうな気がしてきたな。
まぁ3.0以降で拡張された部分が使われているケース自体がそんなにないとは思うけど。
(前述の通り2.0以降の.NETではCLRは共通なんで、3.0以降の環境で開発されたコードであっても、3.0以降で拡張された機能を使っていなければ2.0環境で実行することはできる)

まーとりあえず、前述の通り.NETはVBランタイムちう面があったりもするんで、他人の作った(最近の)ソフトを使ったりすることがよくあるんであれば、HDDに余裕がないとかでもない限り1.1と2.0くらいは入れておいた方が何かと無難だとは思うお。
Posted by もぽ at 2008年10月30日 21:10
あーでも.NETの2.0→3.0以降の変更点ってAPIちうか要はクラスライブラリの拡張だから、自分自身が開発を行わないエンドユーザであっても、VBAとかVBScriptとかJScriptとか使った(実行時にコンパイルされる)アプリを実行する場合には3.0以降の.NET FrameWorkがインストールされている必要がある場合もありそうな気がしてきたな。
まぁ3.0以降で拡張された部分が使われているケース自体がそんなにないとは思うけど。
(前述の通り2.0以降の.NETではCLRは共通なんで、3.0以降の環境で開発されたコードであっても、3.0以降で拡張された機能を使っていなければ2.0環境で実行することはできるはず)

まーとりあえず、前述の通り.NETは事実上VBランタイムちう面があったりもするんで、他人の作った(最近の)ソフトを使ったりすることがよくあるんであれば、HDDに余裕がないとかでもない限り1.1と2.0くらいは入れておいた方が何かと無難だとは思うお。
イマドキ1.1依存アプリってのもどうかとも思うけど。
(つかIT業界(の一部?)では1.1依存アプリのせいで1.1環境を捨てられないちうかサポートし続けなくちゃなんなくて困る問題とかあるらすいねわしは直面したことないけど)
Posted by もぽ at 2008年10月30日 21:21
すまんエラーになるんで連投したりさらに書き直したりしてるうちにゴミも書き込まれてしまったぽ。2番目のは消せたら消しといてくだちい。
Posted by もぽ at 2008年10月30日 21:23
もぽ選手、りょーちっす。
なんか、このブログうまくコメントできないみたいなんす。ごめんね。
なんと、詳しくコメントいただいてありがとうです。
うーむ、難しいんじゃのぅ。
必要になったら再インストールしようかのぅ。
>2.0ランタイムは1.0とは互換性があるけど1.1とは互換性がなかったりする
うーむ、さすがMS仕様。
>VBAとかVBScriptとかJScriptとか使った(実行時にコンパイルされる)アプリを実行する場合には3.0以降の.NET FrameWorkがインストールされている必要がある場合もありそうな気がしてきたな。
うーむ、3.0の実行環境がない状態で3.0依存のコマンドを使ったら「オレはそんなもの知らん」と突っぱねられる感じかのぅ・・・
コンピュータとは難しいものじゃの。さすがにもぽ選手くわしいにょ。

#2番目のは消せたら消しといてくだちい。
まあ、記念に(謎)残しとくにょ。

もちっとべんきょうしてみる。べんきょうきらいだけど。ありがとばい。
Posted by りょーち at 2008年10月31日 10:21
そーいや余談デスががが、結果的にはキャンセルになったけど当初はWindows VistaではOSの一部分(ちうかOSの提供するAPI)が.NET FrameWork 3.0で実装される予定だったらし。まぁ当時はWinFXちう名前のナゾのテクノロジーであって、キャンセルになってからその正体が.NET FrameWork 3.0だったことが明らかにされたちうことみたいだけど。
Posted by もぽ at 2008年10月31日 23:22
.NET Framework 1.1 向けに作られたアプリは、1.1が入っていれば1.1で、入っていなければ2.0で動作します。1.0の場合も同じく互換性があり、1.1もしくは2.0上で実行されます。
新しく作られる物は2.0以降が殆どで、1.0,1.1時代に作られた物を使わないのであれば消しても問題ないと思います。

クラスライブラリですので、3.0の機能が使われている場合、3.0が入っていないと使う事ができません。
WinFXから.NET Framework 3.0 になったのは単なる名称変更で、開発者からの強い要望を受けての事です。(名前が違うと別物だと勘違いされる恐れがある)
Vistaでは3.0が標準で搭載されており起動時に読み込まれています。(次期OSのWindows 7では.NET3.5 SP1が載る予定)

ちなみに現在.NET4.0が開発中で2010〜2011年までにはリリースされるかと思います。
Posted by 通りすがりの開発者 at 2009年01月05日 06:14
通りすがりの開発者さん、こんにちは。りょーち@管理人です。コメントいただきましてありがとうございます。
>1.0,1.1時代に作られた物を使わないのであれば消しても問題ないと思います。
そーなんですか。そうであれば安心して消せますね。教えていただきましてありがとうございました。
Posted by りょーち at 2009年01月05日 09:40
すごく細かいことばかりを言いながら、これを使うフリーソフト例がひとつもでてこないのは何で?ググってもわからないし。まあいらないもんだろうから全部けします
Posted by at 2009年12月05日 18:35
dellのサポートで、悪化してしまった状況であきらめて、1年近く放置していました。もっと早く知っていればよかったのに。おかげさまでFramework関連が全部 完全にインストールできました。
Posted by 通りすがりのインストール困難者 at 2011年09月01日 09:48
通りすがりのインストール困難者さん。こんにちは。
りょーち@管理人です。

無事アンインストールできてなによりです。
.NET Framework ホントに曲者ですねぇ・・・
Posted by りょーち at 2011年09月01日 10:23
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: