Java exe запуска с поддержкой Windows 7
Проблема
В настоящее время я использую exe4j 4.4.2 для переноса нашего клиентского приложения в собственный исполняемый файл Windows, но результат не очень хорошо интегрируется с Windows 7.
Например: когда я нажимаю правой кнопкой мыши на панели задач, он предлагает только всплывающее окно для закрытия приложения, но не привязывает его. Eclipse 'Equinox launcher, с другой стороны, делает это с бравадой.
Я ищу java exe launcher, который имеет следующие функции:
- Обтекает банки в исполняемых файлах Windows (без Java Web Start или аналогичных)
- Не извлекает банку из исполняемого файла
- Не требуется доступ для записи в "Program Files"
- Использует исполняемое имя файла как имя процесса (только один процесс)
- Интегрируется хорошо с Windows 7 (особенно на панели задач)
- Позволяет задавать аргументы JVM (особенно размер кучи)
- Гибкая настройка для поиска JRE
- Легкий вес
- Активно поддерживается
- Интегрируется хорошо в Ant build
- Предпочтительно свободный
Я проверил следующее:
exe4j
- Отсутствие интеграции Windows 7
- Это не дорого, но заказывать и
распространение лицензий на машины для сборки - боль.
- JRE поиск не достаточно гибкий
Eclipse Equinox
- Не легкий
- Кажется, делать все, что я хочу, кроме того, что я понятия не имею, как
использовать его с помощью приложения, отличного от затмения.
- Могу ли я использовать его вне OSGI, мира PDE-Build?
WinRun4J
- Поиск JRE не задокументирован.
- Похоже, что не используется, несмотря на невероятный набор функций, чего мне не хватает?
Launch4J
- Не поддерживает установку имени процесса в Windows 7 (идентификатор ошибки 3353972).
Существует патч (Bug ID 1670471), но он был отклонен с ссылкой
to jliftoff, который мертв.
- Поиск JRE не достаточно гибкий.
JSmooth
- Кажется, не следует активно поддерживать.
- Последняя версия выпущена с 2007 года, задолго до Windows 7.
Есть ли другие варианты?
Есть ли возможность использовать пусковую установку Eclipse с не-Eclipse-базовым приложением?
Ответы
Ответ 1
Я доволен WinRun4J. Поиск JRE отлично подходит для меня. Иногда он иногда дросселирует на 64-битных системах, если несколько множественных JRE и JDK установлены и зарегистрированы в реестре Windows, но это обычно можно устранить, предоставив правильный путь в соответствующем файле .ini.
Я не использовал Launch4J, потому что он создает новый (временный).exe в установочной папке JRE, который мне кажется немного странным. Преимущество этого метода состоит в том, что он может использовать один .exe для 32 и 64-битных JVM, хотя
Ответ 2
Попробуйте расширенный установщик http://www.advancedinstaller.com/java.html (в этом доступно бесплатное издание).
Ответ 3
Мне кажется, что вам просто нужно пойти с Launch4J. Имя процесса совпадает с именем .exe, с которым вы запускаете. Отличным примером программы, которая завернута таким образом, является "Keystore Explorer 4.01".
Ответ 4
Я бы создал файл bat. Оберните этот файл bat в exe. Вы можете создать exe с иконкой и всем остальным. Попробуйте эту летучую мышь для конвертера exe:
http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html
Таким образом, вам лучше контролировать. Размер exe очень мал.
Изменить: Кроме того, создание exe - это одно время.