5

Мне нужно создать инсталлятор, который выполняет следующие действия:Установщика JAR, который автоматически определяет, если Java есть и автозапуск приложению

  1. устанавливает мою баночку на клиенте.
  2. Автоматически определяет, установлен ли JRE (в этом случае он не переустанавливает его), в противном случае устанавливается без щелчка пользователем другой кнопки.
  3. Автоматическое запуск приложения при загрузке клиента.
  4. Работает через Windows, Mac и Linux.

Любая идея, как это сделать?

ответ

1

Коммерческие инструменты, такие как InstallAnywhere, могут это сделать. После установки JAR (и ссылок и т. Д.) Установщики могут проверить реестр, если Java уже установлен и продолжается или нет. Пока программа установки поддерживает все необходимые форматы, вы в порядке.

0

Не слышал ни о чем, что работает на всех этих платформах, но JSmooth может помочь (соответствует вашим потребностям в Windows). Я использовал его около 2 лет назад, и он работал нормально.

+0

Привет, abyx .. Мне нужна ваша помощь в JSmooth .. Вы можете мне помочь? – Venky

+0

@Venkatesh - Прошло 4 года с тех пор, как я в последний раз его использовал, и я не могу сказать, что что-то помню ... Извините :) – abyx

6

Если коммерческий инструмент в порядке, я могу порекомендовать install4j. 1, 2 и 4 легко сделать с ним, но около 3 я не уверен. Редактировать: Возможно, вы, возможно, достигнете этого, установив приложение как «сервис», который поддерживает install4j для всех платформ. Цитируя его Features страницы:

install4j предлагает полную поддержку генерации и установки служб (демонов). Для служб install4j создает исполняемые файлы служб на Windows, элементы запуска в Mac OS X и сценарии запуска/остановки на платформах Unix/Linux .

Редактировать: Что касается # 2, JRE обнаружения: install4 имеет довольно хорошие, гибкие возможности для JRE пакетирования/детектирования. Вы можете включить JRE (статически или динамически, совместно или нет) или предпочесть использовать уже существующий, с возможностью загрузки JRE из вашего установщика в качестве резервной копии. Проверьте эти документы для получения дополнительной информации: How Installers Find a JRE и JRE Bundles.

(More about my experiences with install4j.)

Для других инструментов, вы можете проверить некоторые из ранних Java installer вопросов на SO:

+0

Отмечая ответ Питера, я, конечно же, * обязательно * рекомендую выбрать install4j поверх InstallAnywhere, который завышенный и неуклюжий. Мы заменили InstallAnywhere на install4j; см. ссылку «больше о моем опыте» выше. – Jonik

1

You мог бы использовать launch4j, он не устанавливает автоматически java. Но, возможно, есть способ сделать эту работу, например, упаковывая JRE.

1

Вы также можете взглянуть на BitRock InstallBuilder, он предоставляет встроенные функции для выполнения того, что вы хотите. Мы будем рады создать образец для вас, просто напишите нам.

1

Я рекомендую загрузить исходный код скриптов сборки популярных программ Java, таких как limewire, и следовать их примеру. Конец.

... Или вы можете сделать, как я сделал:

  • Я сделал обнаружение JRE и При необходимости загрузки с NSIS на Windows,/установку распространяемого. Может быть, .msi лучше, чем installer.exe, который создает NSIS. Я считаю, что msi больше похожи на пакеты на mac, поэтому они позволяют надлежащие обновления. Возможно, NSIS создает MSI ... не уверен.
  • Mac это просто Java App пакет и указать JRE и другую информацию Java в info.plist и вы при желании можете создать pkg- файл, чтобы дать пользователю установки и укутаться в DMG с помощью командной строки dmg программ.
  • Я не сделал Linux и не планируется ... извините :)

Все это справедливый кусок работы. Сначала я сделал материал Windows, а через пару лет сделал материал Mac.

Вы можете интегрировать все это в скрипты сборки NSIS и Ant. Я не могу вспомнить, почему я не использовал install4j. Наверное, я был слишком дешев :)

 Смежные вопросы

  • Нет связанных вопросов^_^