Установщик Java - требуется помощь [закрыто]

Прежде всего привет и спасибо, что нашли время, чтобы помочь мне с моей проблемой.

Мне нужно разработать приложение на Java, которое будет использовать SQLite. Приложение должно быть кроссплатформенным (начиная с Windows XP и выше, Linux и MAC).

Мне нужно выбрать установщик (будь то бесплатный или платный), который будет проверять, установлена ли JRE на целевом компьютере, и если нет необходимости его устанавливать, устанавливать и создавать БД и устанавливать приложение.

Если у вас есть опыт работы с каким-либо инсталлятором, пожалуйста, порекомендуйте его и расскажите, в чем его плюсы и минусы. Мне нужно составить список и представить его моему менеджеру проекта, чтобы он мог предпринять соответствующие действия.

Заранее спасибо!

Постскриптум Многие люди рекомендовали IzPack. Это не вариант, потому что для работы уже требуется JVM.

 PC.09 окт. 2012 г., 11:27
Вы хотите создать приложение на Java. Поэтому человеку, который установит ваше приложение, определенно понадобится JVM для запуска вашего приложения. следовательноIzPack идеально подходит для вас.
 dngfng09 окт. 2012 г., 11:29
@PC Как он правильно указал, он хочет, чтобы установщик запустился и проверил, установлена ли JVM, и предпримет соответствующие действия, если JVM отсутствует.
 dngfng09 окт. 2012 г., 11:28
Не уверен, почему вы получили 3 отрицательных голоса - я нашел список установщиков Java здесь:java-source.net/open-source/installer-generators Надеюсь, поможет. Насколько я вижу, есть только JSmooth для Windows, который проверяет установленную JVM, вам может потребоваться предоставить несколько установщиков для разных платформ.

Ответы на вопрос(3)

Установщик OS X Для Windows кажется, чтоJSmooth делает то, что вы хотите.

Также вы можете внимательно посмотреть наBitRock Installer.

 09 окт. 2012 г., 15:37
Это не очень красиво, но если вы не можете найти какой-либо другой вариант, какой у вас есть выбор?
 Dragan09 окт. 2012 г., 13:58
Разве это не плохая практика? Использование разных инсталляторов для разных платформ или это нормально?

ether JRE is installed on the target machine and if it isn't to install it, to install and create the DB and install the application.

Я предлагаю стратегию из двух частей.

Check whether a suitable JRE is installed, and guide the user through upgrading if not. Surprisingly, this is best done using a JavaScript supplied/maintained by Oracle themselves. It is the deployJava.js. If you an accept that the tool to ensure a JRE is present is not part of the installer itself, that opens up the field of potential installers considerably, but I have a favorite. Install the rich client app. itself using Java Web Start. <disclaimer>JWS is just so great that I have to repeat the blurb I wrote on that info. page</disclaimer>.

Java Web Start (JWS) is the Oracle Corporation technology used to launch rich client (Swing, AWT, SWT) desktop applications directly from a network or internet link. It offers 'one click' installation for platforms that support Java.

JWS provides many appealing features including, but not limited to, splash screens, desktop integration, file associations, automatic update (including lazy downloads and programmatic control of updates), partitioning of natives & other resource downloads by platform, architecture or Java version, configuration of run-time environment (minimum J2SE version, run-time options, RAM etc.), easy management of common resources using extensions..

большинство упаковочных решений имеет возможность упаковать JRE в установщик. Таким образом, исполняемый файл, будь то exe, bin или rpm, будет поставлен с соответствующим JRE внутри. Это лучший подход, поскольку он сводит к минимуму количество непредвиденных проблем, с которыми вы можете столкнуться, если предположите, что JRE будет доступна в целевой системе, например: разрешения, место установки JRE, версия JRE и т. Д.

Исполняемый файл распакует JRE, с которым он был отправлен, и запустит Java-приложение (ваш установщик).

Существует множество мультиплатформенных упаковочных решений, как бесплатных / открытых, так и коммерческих.

Самый популярный рекламный роликInstallAnywhere по Flexera. Он поставляется с удобной IDE, конфигурацией bean-компонентов на основе XML (представьте, что bean-компонент - это один шаг или экран во время процесса установки на основе пользовательского интерфейса) и многими пользовательскими проверками, которые вы можете выполнить во время установки. Вы можете создать установку в режиме без вывода сообщений с файлом ответов, чтобы отправить ее на многие устройства внутри предприятия. У вас также есть возможность создавать пользовательские компоненты для вашей установки, которые будут выполнять пользовательскую логику.

install4j это также коммерческое решение - я не пробовал его, потому что он не поддерживает все платформы, которые мне нужны.

Другой коммерческий мастер установкиJExpress Денова. Он также полностью настраиваемый и имеет тот же охват поддержки платформы, что и InstallAnywhere, он поставляется с полным набором функций, но разработка пользовательской установки менее удобна и имеет меньшую интеграцию с ОС Windows (пока я играл с ней, я не удалось выполнить проверку реестра и на основании результата выполнить действие A или действие B).

Мастера упаковки с открытым исходным кодом, которые я пробовалlzpack это хорошо и гибко, но отсутствие хорошей документации влияет на время, когда вы делаете вещи.

InstallJammer Это еще один открытый исходный код, но он не поддерживает все платформы - только базовые платформы Windows и Linux, но я думаю, что этот проект был прекращен.

Удачи!

Ваш ответ на вопрос