操作
機能 #3095
完了Windows用インストーラでJREのマージモジュールを組込むように修正する
開始日:
2015/02/10
期日:
進捗率:
100%
予定工数:
説明
- インストーラに同梱しているRTSytemEditorRCPは、起動するために32bit版JREが必要である。(OpenRTPも同様だが、C++版でのみインストールされる)
- OpenRTM-aistの各言語64bit版インストーラに含まれるRTSytemEditorRCPも32bit版である。これは配布するJREがOpenJDKのWindows用バイナリで、64bit用は提供されていないことによる。
- OpenRTM-aistの64bit版利用者がJavaの64bitをインストールしていてもRTSytemEditorRCPを起動できるようにするため、JREのマージモジュールを組込むように修正する。
- JREのマージモジュール(msm)は、
- 別環境でインストーラのバージョン(32bit、64bit)に対応した生成済みのものを利用する
- JREはOpenRTM-aistの基本ベースで必要という位置付けで、OpenRTM-aist\1.1\bin下にインストールされる
- C++, Python, Java の各言語用インストーラが同じマージモジュールを組込む
n.kawauchi さんがほぼ10年前に更新
- ステータス を 新規 から 解決 に変更
- 進捗率 を 0 から 100 に変更
JREのマージモジュールファイルは、現在のところ下記にアップしている
http://openrtm.org/pub/Windows/OpenRTM-aist/tools/msm/
・JRE_OpenJDK7_x86_64.msm
・JRE_OpenJDK7_x86.msm
このマージモジュールをOpenRTM-aist-Python/installerディレクトリにダウンロードしてからmsiを生成するようにスクリプトで指定する
32bit用msi生成時の指定
set ARCH=x86 call cleanup.cmd del *.msm set URL=http://openrtm.org/pub/Windows/OpenRTM-aist/tools/msm/RTSystemEditorRCP_%ARCH%.msm C:\Cygwin64\bin\wget.exe %URL% set URL=http://openrtm.org/pub/Windows/OpenRTM-aist/tools/msm/JRE_OpenJDK7_%ARCH%.msm C:\Cygwin64\bin\wget.exe %URL% set INCLUDE_JRE=YES ← NOと指定したらJREを含めないmsiが生成される call build.cmd
JREを含めるとインストーラサイズは、29MB → 73MB 程度になる
JREを組み込んだインストーラの組合せテスト結果
- 32bit版インストーラを使った動作確認
- OpenRTM-aist-C++_1.1.1-RELEASE_x86_vc10.msi
- OpenRTM-aist-Python_1.1.0-RELEASE_x86.msi
- OpenRTM-aist-Java_1.1.0-RELEASE_x86.msi
- 32bit環境なので、JavaとPythonも32bit版をインストールしており、システム環境変数のPathに追加してある
- jdk-7u71-windows-i586.exe
- python-2.7.8.msi
- アンインストール時のJREの状態
- 各言語の組合せインストールで、インストールとアンインストールの順序が違っても、最後まで残っていること
- C++版のみインストーラオプションで「JREあり・なし」を選択できる。この選択と他の言語インストーラとの組合せ動作。
- テスト1 ・・・結果OK!
・次の順序でインストール [1] C++ (デフォルト設定:JREあり) →OpenRTM-aist\1.1\bin\jre としてインストールされる [2] Python [3] Java ・OpenRTP → 起動できる ・RTSystemEditorRCP → 起動できる ・アンインストール順序とその結果 [1] C++ →削除後、JREは残っていて、OK動作 [2] Python →削除後、JREは残っていて、OK動作 [3] Java ⇒削除後、ProgramFiles下は綺麗に消えているが、スタートメニューのショートカットは残ってしまった。 スタートメニューの「OpenRTM-aist 1.1」をクリックすると「(空)」と表示される。 「OpenRTM-aist 1.1」を右クリックして削除を選択すれば消える。タイミングにより、たま~に起こる現象なので、スルーする。
- テスト2 ・・・結果OK!
・次の順序でインストール [1] C++ (オプションでJREなし「No」を選択) →JREはインストールされない ただし、JDK 32bitをインストールしてあるので、OpenRTPは起動する [2] Python →OpenRTM-aist\1.1\bin\jre としてインストールされる [3] Java ・アンインストール順序とその結果 [1] Java →削除後、JREは残っていて、OK動作 [2] Python →削除後、JREも削除されて、OK動作 C++でJREなしを選択したから、C++が残っていてもJREは残らない [3] C++ ⇒削除後、スタートメニューとProgramFiles下が綺麗に消えており、OK!
操作