Как связать Java-зависимое приложение с JRE в MSI

Это похоже на Как я могу создать файл .msi для программы Java? (eclipse) , но также касается и JRE.

В настоящее время я работаю над созданием MSI для своего продукта, чтобы его можно было установить как надстройку с Windows Home Server. Программа установки должна быть автоматической установкой MSI.

Мой продукт зависит от Java 1.6. Я хочу связать Java внутри MSI, но не обязательно установить JRE, просто скопируйте файлы в каталог моего продукта и выполните оттуда все нормально.

Сначала я все равно пытался установить JRE в качестве первого шаг. Я использовал тихий установщик JRE , однако оказалось, что поскольку JRE устанавливает себя через другой MSI, то правило «one-MSI-installation-running-at-once» было нарушено, и поэтому Не удалось установить JRE.

Поэтому я переключился на копирование файлов JRE. Мне удалось создать MSI со всеми элементами, но он занимает колоссальные 60 МБ! Это около 33 МБ для моего приложения, а остальное - JRE. Мой обычный файл setup.exe, который связывает JRE, имеет размер около 30 МБ, поэтому я предполагаю, что в последнем случае сжатие намного лучше (я также использую сжатие Pack200).

Я использую WiX для создания MSI и включил сжатие .

Как лучше всего связать JRE с зависимым приложением внутри MSI?

5
задан Community 23 May 2017 в 11:44
поделиться