2011-07-19 7 views
5

これはHow can I create a .msi file for a Java program ? (eclipse)と似ていますが、具体的にはJREもバンドルすることです。Java依存アプリケーションをMSIのJREにバンドルする方法

現在、私の製品のMSIを構築中ですので、Windows Home Serverでアドオンとしてインストールすることができます。 インストーラはサイレントMSIインストーラでなければなりません。

私の製品はJava 1.6に依存します。私はMSIの中にJavaをバンドルしたいが、必ずしも JREをインストールする必要はなく、ファイルを自分の製品ディレクトリにコピーしてそこから実行しても問題ありません。

まず最初に、JREをインストールしてみました。私はJRE's silent installerを使用していましたが、JREが別のMSIを介してインストールされているため、1つのMSIインストール実行時のルールが破損していたため、JREをインストールできませんでした。

そこで、代わりにJREファイルをコピーするように変更しました。私はすべての項目を持つMSIを作成することができましたが、それは何か60MBで来ます!それは私のアプリのための33MBの周りであり、残りはJREです。 JREをバンドルしている私の通常のsetup.exeは約30MBなので、後者の場合は圧縮がはるかに優れていると思われます(私もPack200圧縮を使用しています)。

WiXを使用してMSIを構築し、圧縮をオンにしています。

従属アプリケーションを使用するJREをMSIにバンドルするにはどうすればよいですか?

答えて

4

IMHOインストーラファイルに完全な(展開された)JREディレクトリを追加するだけです。その後、指定された既知のパスからJREを実行します。多くの製品(DB2、Oracle 11g、さらにはWebSphere Application Serverなど)は、これをまさにこのようにしています。

関連する問題