Microsoft Java VM手動削除の方法
Javaと言えば言うまでも無くSUN Microsystemsのインターネットに即したオブジェクト指向の言語だが、Microsoftは何故か独自のランタイムであるMicrosoft Java Virtual Machine(MSJVM)等と言うものを作って、Windowsに標準添付していた。もちろん、自分の所の財産であるJavaのランタイムを勝手に作られたらSUNも黙ってはいない。この件については法廷で争われ、Microsoftは2007年までにJavaVMのサポートを打ち切ることを発表している。新しいバージョンのWindowsには初めからJavaVM等と言うものは付いていないらしいが、困るのは古いWindowsを使っているユーザ。なにしろ標準でインストールされているJavaVMは「プログラムの追加と削除」みたいなメニューにも出てこないから、簡単には削除できない。かといってMicrosoftの方はもうバージョンアップしてないので、正常に動かない事があったりするし、SUNのJavaをMicrosoftのJavaがインストールされた状態のままさらにインストールすると、Java同士の競合が起こって、最悪Internet Explorer(IE)が起動しないなどの弊害が発生する可能性があるのだ。まぁ俺も今まで何も考えずに使えてたから気にしてなかったんだけど、今回、会社で作ってるシステムがJavaVMとの競合で正常動作しない事が判明してしまった。俺様の作った芸術的なソースにエラーを出すとは良い度胸じゃねぇか!おかげでMicrosoft JavaVMを削除しないといけない羽目になった。以前はMicrosoftのサイトでJavaVM削除ツールが公開されていたのだが、今は有料での配布しかやってない。Microsoftの言い分では「JavaVMをうかつに削除すると、システムに重大な問題が発生する恐れがあり、システム管理者などのスキルのあるユーザ以外には使って欲しくない」との事だが、このツールを使ったユーザからの問い合わせとかが増えて大変になったから、有料サポート以外のやつには使わせないってのが本音だろうと思う。仕方が無いから手動で削除する事にした。色々調べた結果、以下の手順で削除できる事が判明したので、同じ境遇の人のためにメモを残したいと思う。注意:あくまでもここに記述しているのは、「こうやったら出来たよ」と言うメモであり、正常に処理できる事を保障するものではないし、レジストリとか弄るので、意味わからない人はやめた方が良いと思う。最悪、Windowsを破壊する事が可能なんで。Microsoft Java Virtual Machine手動削除の方法手順1:コマンドプロンプトから、アンインストールコマンドの実行「コマンドプロンプト」もしくは「ファイル名を指定して実行」から以下のコマンドを実行。RunDll32 advpack.dll,LaunchINFSection java.inf,UnInstallアンインストール処理を続行するか中止するかのダイアログが表示されるので、「はい」を選択。Windowsを再起動する。手順2:残ってしまっているファイルやフォルダの削除%SystemRoot%\java上記フォルダをフォルダごと全削除。%SystemRoot%\inf\java.pnf%SystemRoot%\system32\jview.exe%SystemRoot%\system32\wjview.exe上記3ファイルを削除。%SystemRoot%はWindowsがインストールされているルートフォルダ。例えば「C:\WINDOWS」みたいな感じ。手順3:レジストリの掃除RegEditとかで、以下の2つのレジストリを削除する。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VMHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_VM以上で削除は完了だけど、SUNのJavaランタイムがすでにインストールされている状態でこれをやると、SUNのランタイムも正常に動かなくなる事がある。そのときは、普通にコントロールパネルからSUNのランタイムをアンインストールして、インストールしなおせば良い。SUNは行儀がいいなぁ。思ったより簡単に削除できて良かった。でもやらなくて良い人は触らない方が良い。「触らぬ神に祟り無し」と言う事で。