Lunatic Sol

IT Tips

InstallAnywhere 6.x の Java VM エラー 3

2007-11-30 16:37:14 | bat/shell/PowerShell
InstallAnywhere の古いバージョンで作られたインストーラは JRE 5.0 以上の環境では実行に失敗するケースがある。

LaunchAnywhere エラー
Java VM の読み込み中に Windows のエラー 3 が発生しました

(英語版メッセージ - "Windows error 3 occurred while loading the Java VM.")



回避方法は JRE/JDK 1.4.2 update X の java.exe に対して LAX_VM のオプションを使う方法。1.4.2 が入っていない場合にはインストールして対処が必要。

ただ毎回 LAX_VM を実行するのも忘れがちなので、そういう人は以下のような簡易バッチファイルを作成し、インストーラと同じディレクトリにおいておく事でバッチファイルからの実行での回避対応が可能。

■ 手順

1. JRE/JDK 1.4.2 をインストール (未インストールの場合)
2. 以下の内容のバッチファイルをインストーラと同じディレクトリに作成し、ファイル名をインストーラ実行ファイル名と同じにする


インストーラが setup.exe の場合、バッチファイル名を setup.bat にする

3. バッチの6行目を JRE/JDK 1.4.2 の bin ディレクトリフルパスに変更する

  SET JAVAPATH=C:\Program Files\Java\j2re1.4.2_16\bin

4. バッチファイルを実行する


■ 英語バッチ

@echo off

REM *** Configuration - JAVAPATH ***
REM Set JRE/JDK 1.4.2 Update X bin directory fullpath below
REM e.g.) JAVAPATH=C:\Program Files\Java\j2re1.4.2_16\bin
SET JAVAPATH=C:\Program Files\Java\j2re1.4.2_16\bin

REM *** Configuration - INSTALLER ***
REM Set installer filename below
REM Default configuration use %~n0.exe which takes name of this
REM bat file plus .exe extension.
REM e.g.) INSTALLER=setup.exe
SET INSTALLER=%~n0.exe

cd "%~dp0"
echo Start executing installer with LAX_VM option...
echo.
echo Refer to the site below to see more details about this workaround.
echo.
echo  MacroVision Support - Document ID: Q000396 / Work Order #BZ-15332
echo  InstallAnywhere Enterprise 6.0x
echo  BUG: Windows Error 3 Occured While Loading The Java VM
echo  http://support.installshield.com/kb/view.asp?articleid=Q000396
echo.
%INSTALLER% LAX_VM "%JAVAPATH%\java.exe"

pause



■ 日本語版

@echo off

REM *** Configuration - JAVAPATH ***
REM JRE/JDK 1.4.2 の bin までのフルパスをセット
REM e.g.) JAVAPATH=C:\Program Files\Java\j2re1.4.2_16\bin
SET JAVAPATH=C:\Program Files\Java\j2re1.4.2_16\bin

REM *** Configuration - INSTALLER ***
REM インストーラーファイル名をセット
REM 初期設定は %~n0.exe をセット。バッチファイル名をインストーラー実行ファイル名と同じ
REM にしておくことでそのまま実行可能。
REM e.g.) INSTALLER=setup.exe
SET INSTALLER=%~n0.exe

cd "%~dp0"
echo インストーラーを LAX_VM オプション付きで実行します......
echo.
echo 回避策についての詳細は以下のサイト (英語) を参照してください.
echo.
echo  MacroVision Support - Document ID: Q000396 / Work Order #BZ-15332
echo  InstallAnywhere Enterprise 6.0x
echo  BUG: Windows Error 3 Occured While Loading The Java VM
echo  http://support.installshield.com/kb/view.asp?articleid=Q000396
echo.
%INSTALLER% LAX_VM "%JAVAPATH%\java.exe"

pause

Windows バージョン、ビルド番号をデスクトップ右下に表示

2007-11-26 01:24:19 | Windows
Windows のレジストリを操作することで、デスクトップ右下に Windows のビルド番号、バージョンを表示することが可能になる。

http://www.atmarkit.co.jp/fwin2k/win2ktips/051paintver/paintver.html

以下のレジストリエントリ REG_DWORD を 1 に変更すればよい

    キー: HKEY_CURRENT_USER\Control Panel\Desktop
    値:PaintDesktopVersion


右クリックでコマンドプロンプト

2007-11-26 01:20:15 | Windows
エクスプローラ、フォルダ上の右クリックメニューで、そのディレクトリ上に移動 (CD) したコマンドプロンプト (CMD) を表示させる方法

1. レジストリエディタにて、HKEY_CLASS_ROOT\Folder\shell に cmd エントリを作成し、既定の REG_SZ に「コマンドプロンプト」と入力



2. その下に command を追加し、既定の REG_SZ に cmd.exe /k "cd %L" と入力



3. 右クリックメニューに「コマンドプロンプト」が追加される


Eclipse Error - JVM terminated. Exit code=-1

2007-11-26 00:56:58 | Eclipse
Eclipse IDE for Java EE Developers をインストールして起動してみたら、いきなりエラー。



原因がわからず、JRE/JDK インストールしなおしたり、Update を変更してみたり。でも解決せず。

色々調べたところ、eclipse.ini の -Xmx512m が原因だったみたいで、-Xmx256m に下げてあげれば解決。

オリジナル eclipse.ini

    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256M
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx512m

編集後 eclipse.ini

    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256M
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx256m