.NET Framework の手動アンインストール
Command Prompt Explorer Bar
http://www.codeproject.com/csharp/CommandBar.asp
をいれてみようとしたら、
Fatal Execution Engine Error(0x7926fcd8)
となっていまいインストール、アンインストールともに失敗した。
サイトの掲示板みても、Googleで検索してもわからなかった。
いろんなバージョン(1.0,1.1,1.2)がはいっているせいかな(一応ありえないはずなのだが)と思い
.NET Framework を入れなおそうとアプリケーションの追加と削除から
アンインストールを実行するとエラーがでる。
そういえばインストール時にもエラーがでていたような記憶がある。
いろいろ調べまわったら、
.NET Framework のインストール失敗による手動の削除
http://support.microsoft.com/default.aspx?scid=kb;ja;320112
Installation of .NET Framework Fails and Requires Manual Removal
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q320112
にいきあたる。なんか日本語版は情報をはしょりすぎ?
つまり
>予期しない停電やその他のインストール エラーにより、.NET Framework のインストールに失敗した場合、手動による .NET Framework の削除が必要になることがあります。
がーん。
もうちょっと調べまわると、
http://www.dotnet247.com/247reference/msgs/40/204236.aspx
にいきあたる。
簡潔にまとまっているのでこっちを参考にして .NET Framework のバージョンを手動で削除してみた。
以下Windows XPでの手順です(もちろん無保証です)
1. システムの復元ポイントの作成
2. エクスプローラーで「ツール」→「フォルダ」→表示タブ→「保護されたオペレーティングシステムファイルを表示しない」のチェックをはずす
3. フォルダを削除する
ついでに Visual Studio関係でアンインストールされずに残っているフォルダも削除する。
- %ProgramFiles%\Microsoft Visual C++ Toolkit 2003
- %ProgramFiles%\Microsoft Visual Studio .NET
- %ProgramFiles%\Microsoft Visual Studio .NET 2003
- %ProgramFiles%\Microsoft.NET
4. 以下のファイルの削除
- %windir%\System32\mscoree.dll
- %windir%\System32\URTTemp\mscoree.dll
エクスプローラからは削除できなかったのでセーフモードで立ち上げて削除して windows の再起動。
5. regedit を起動して以下のキーを削除
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Integration] 存在しなかった
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework SDK]
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup] 存在しなかった
6. インストーラの削除
エクスプローラで「表示」→「詳細表示の設定」で「コメント」にチェックをいれる。
もちろん詳細表示して
%windir%\Installer でコメント欄で .NET Framework SDK があるものを削除する
- Microsoft .NET Framework SDK (Japanese) 1.1 RTL x86 jpn; Copyright (C) Microsoft Corporation, All rights reserved.
- Microsoft .NET Framework SDK (Japanese) RTL x86 jp
7. エクスプローラーで「ツール」→「フォルダ」→表示タブ→「保護されたオペレーティングシステムファイルを表示しない」をチェックする。
一応、Windows を再起動する。
特にエラーも出ずに起動できる。よかった。
8. 再度 Windows Update で .NET Framework 1.1 をインストール。
うまくいった。
再度 Command Prompt Explorer Bar をインストールしたらきちんと動いた。
でもこれって便利? 窓の手の「右クリックメニュー」の「任意のフォルダからコマンドプロンプトを可能にする」で十分のような。
9. コンパイラの動作確認
C#(csc.exe)、VB.NET(vb.cexe)、JScript.NET(jsc.exe)でHello World をコンパイル、実行できた。
あれ、C++.NET(cl.exe)が見当たらない。
調べたら
日本一長いハローワールドへの道 - 1
http://www.tcn.ne.jp/~masugata/mt/archives/000195.html
に行きあたる。非常によくまとまっている。
そうか SDK の方に入っているのか。
マイクロソフトのサイトから .NET Framework 1.1 SDK(128MB)を落としてくる。
http://www.microsoft.com/japan/msdn/netframework/
今度は cl.exe がついてきた。
でも簡単には動かない。
上記のサイトをみて 1.1CL.bat を作成。
@REM .NET 1.1 の cl.exe を動かす set INCLUDE="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7\include";"%ProgramFiles%\Microsoft.NET\SDK\v1.1\include" set LIB="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7\lib";"%ProgramFiles%\Microsoft.NET\SDK\v1.1\Lib" set path="%windir%\Microsoft.NET\Framework\v1.1.4322";"%ProgramFiles%\Microsoft.NET\SDK\v1.1\Bin";"%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7\bin";"%ProgramFiles%\Microsoft Visual Studio .NET 2003\Common7\IDE";%PATH%
これでOKかとおもったら mspdb71.dll がみつからないとエラー。なぜなんだろう?
面倒なので cl.exe がある場所にdllをコピーしてお茶を濁す。
copy "%ProgramFiles%\Microsoft Visual Studio .NET 2003\Common7\IDE\mspdb71.dll" "%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7\bin"