Как сделать .exe файл для установщика izpack .jar file - PullRequest
10 голосов
/ 13 апреля 2011

Я делаю установщик с izpack .Это в .jar файле.Я хочу сделать это в файле .exe, чтобы распространять его.Как я могу сделать это простым способом?

Ответы [ 3 ]

8 голосов
/ 13 апреля 2011

Эндрю всегда любит продвигать Java Web Start технологии с самого начала :) Это хорошая технология.Но вам также нужно сначала изучить технические детали, прежде чем вы сможете начать с ним возиться.

В противном случае вы остаетесь с старой моделью дистрибутива EXE следующим образом ...

Iв любом случае я не знаком с Izpack .Но есть аналогичные отдельные инструменты для достижения объединенного результата в отношении того, что может izPack .Мои любимые инструменты для создания и установки EXE-файлов: Launch4J + InnoSetup + Задача Ant , запущенная из Eclipse IDE .

Launch4J - средство запуска приложений Java. InnoSetup - создатель установки Задача Ant помогает разработчикам на этапах сборки и интеграции.

Как использовать Launch4J + InnoSetup + задача сборки Ant + Eclipse IDE : http://www.eteks.com/tips/tipCreationExe.html (на французском языке - используйте Google переводчик)

Когда вы думаете о распространении настольного EXE-файла Windows для приложения Java, вам также нужно подумать о целевой среде,Это хорошо, когда вы ориентируетесь на Windows XP или более раннюю версию.Но это станет серьезным разочарованием, если вы захотите, чтобы он работал должным образом в Windows Vista и Windows 7.

Лучше не хранить конфигурации приложений, временные файлы и т. Д., Которые требуют сохранения в %ProgramFiles% под Windows Vista / Windows 7, поскольку теперь она становится папкой только для чтения .Для этого используйте папку профиля пользователя.

Конечно, вы можете обойти ее, запустив свое приложение с помощью «Запуск от имени администратора», но оно включает в себя следующие настройки:

Windows Vista иВ Windows 7 введена строгая политика доступа пользователей с помощью функции приглашения контроля доступа пользователей (UAC).Установка программного обеспечения должна выполняться с использованием учетной записи пользователя в группе «Администраторы».Все папки в системе Windows по умолчанию Program Files установлены только для чтения, и это может вызвать проблемы с учетными записями пользователей без прав администратора при попытке сохранить что-либо в нем.Чтобы запустить приложение Java с использованием учетной записи пользователя без прав администратора, в свойствах приложения должно быть включено Run as administrator.На рабочем столе должен быть создан ярлык, который также должен включать Run as administrator.

Как решить следующие проблемы:

(1) Проблема с AppUserModelID Для поддержки Java в Windows Vista / Windows 7 требуется следующее решение: Launch4j, NSIS и дублированные закрепленные значки панели задач Windows 7

(2) Проблема с Run as Administrator для приложения Java требуется следующее решение: Запрос прав администратора для приложения Java в Windows Vista

Кроме них, при запуске также необходимо проверить %ProgramFiles%под 64-битной версией Windows.Путь не одинаковый между 32-битной Windows и 64-битной Windows.Под 64-битной Windows все 32-битные приложения перейдут в %ProgramFiles(x86)%.

Поэтому будьте осторожны при использовании жестко запрограммированного пути к файлу к папке и подпапкам приложения Java, которые установлены в %ProgramFiles%.Лучше настроить Windows environment variable, который может быть сгенерирован с помощью InnoSetup в следующем фрагменте файла ISS.Используйте Java System.getenv("MYAPP_HOME"), чтобы получить переменную:

[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; Flags: uninsdeletevalue; ValueType: string; ValueName: "MYAPP_HOME"; ValueData: "{app}\"

[Tasks]
Name: modifypath; Description:"Add application directory to your environmental path"; Flags: unchecked

[Run]
Filename: "{app}\MyApp.EXE"; Parameters: """{app}""\"; WorkingDir: "{app}\"; Description: "Run MyApp"; Flags: postinstall nowait skipifsilent

[Code]

const
    ModPathName = 'modifypath';
    ModPathType = 'system';

function ModPathDir(): TArrayOfString;
begin
    setArrayLength(Result, 1)
    Result[0] := ExpandConstant('{app}');
end;
#include "modpath.iss"

Экспериментируйте и наслаждайтесь!

0 голосов
/ 22 августа 2012

winrun4j очень прост в использовании, моя единственная проблема в том, что если вы не распространяете встроенную JVM, вам, вероятно, придется обеспечить как 64-битную, так и 32-битную загрузку.

0 голосов
/ 13 апреля 2011

Если приложение. имеет графический интерфейс, и вы можете распространять его с веб-сайта, Java Web Start предлагает лучшее решение. JWS работает для всех платформ, поддерживающих Java, и поддерживается Oracle.

(Я слышал, что .Net хорошо работает для решений "только для Windows".)

...