書籍のCD-ROMからEclipseのインストールを実行したが、これが大ハズレ。
書籍の説明ではSetup.vbsを実行すると初回はJDKがインストールされて、次回にSetup.vbsを実行した際はインストーラが起動することになっている。
しかし、JDKのインストール後にCD-ROMの直下にあるSetup.vbsを何度実行しても、「Java実行環境(JRE1.7以上)がインストールされていないようです。Java開発環境(JDK1.8)をインストールしますか?」と表示されて再度JDKのインストールが始まる。
PCを再起動して試しても同じである。
そこで、Setup.vbsのコードを確認してみた。(一部抜粋)
'Windows NT/2000/XP if PathExist(windir + "\system32\javaw.exe")=1 then Set WSHShell = WScript.CreateObject("WScript.Shell") JavaVersion = WshShell.RegRead("HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment\CurrentVersion") if JavaVersion >= 1.7 then WSHShell.Run ".\installer\eclipse.exe " + javaopt Wscript.quit end if end if 'javaがない場合はJDKのインストール dim abc abc = SpecialMsgBox("Java実行環境(JRE1.7以上)がインストールされていないようです。Java開発環境(JDK1.8)をインストールしますか?",-1,"JDKのインストール",1)
怪しいのは、C:\windows\system32\javaw.exeの存在チェックと、レジストリ「HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment\CurrentVersion」でjava1.8の存在チェックを行っている点だ。
自分のPCを調べてみると、やはりsystem32フォルダにはjavaw.exeが無く、レジストリではWow6432Node以下のJavaSoftがそもそも無い。
もしかして、JDKのインストール先をソコで判断しているスクリプト側がオカシイのでは。。
vbsはCDにあるのでいじるのは面倒くさい。デスクトップにそれだけ持ってきて、ちょこっとパスを変えてみたが動かず。
それならば、発想を変えてjavaw.exeとレジストリJavaSoftを作ってやれば良い。
適当にテキストファイルを作り、javaw.exeにリネームした後、system32に配置。
レジストリも追加してCurrentVersion値を1.8に設定。
するとインストーラーは無事に起動し、Eclipseとプラグイン類がインストールできた。
Hello, Worldを作ってみたが問題なさそうである。
で、後から調べて分かったのだが、出版社のサイトにこんな掲載が。。
SBクリエイティブ:Eclipse 4.4 完全攻略 インストーラの不具合について
そして本の中身にはこう書いてある。
おいおい。。ちゃんと32ビットで検証しとけよ。