t-hom’s diary

主にVBAネタを扱っているブログです。

Eclipseのインストールで奮闘

昨日、この書籍を入手した話のつづき。
Eclipse4.4 完全攻略 (完全攻略シリーズ)

書籍の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に配置。
f:id:t-hom:20150205235028p:plain
レジストリも追加してCurrentVersion値を1.8に設定。
f:id:t-hom:20150205234922p:plain

するとインストーラーは無事に起動し、Eclipseプラグイン類がインストールできた。
Hello, Worldを作ってみたが問題なさそうである。


で、後から調べて分かったのだが、出版社のサイトにこんな掲載が。。
f:id:t-hom:20150206002240p:plain
SBクリエイティブ:Eclipse 4.4 完全攻略 インストーラの不具合について

そして本の中身にはこう書いてある。
f:id:t-hom:20150206001128p:plain

おいおい。。ちゃんと32ビットで検証しとけよ。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。