Проблемы с 32-битной /64-битной exe-оболочкой для Java в Windows

В моем INI-файле для java exe-оболочки winrun4j я установил vm.version.min=1.7, чтобы указать Java 7 в качестве требования. Но когда я запустил его, я не смог заставить winrun4j узнать, что у меня установлена ​​java 7 jre, хотя java -version из командной строки вернула его.

При дальнейшем исследовании я понял, что моя установка Java 7 была 64-битной, тогда как моя установка Java 6 была 32-битной. Затем я обнаружил, что winrun4j имеет некоторую 64-битную версию своих команд (т.е. rcedit64), и если я собрал appname64.exe, а не appname.exe, он больше не жаловался на Java 7.

  1. Так может кто-то подтвердить, что это была проблема, что мне нужен 64-битный exe для запуска 64-битной JVM
  2. Во-вторых, если это так, как я представляю это пользователю, я обертываю установщик как исполняемый файл, поэтому это означает, что мне нужно предоставить пользователю и installer.exe, и installer64.exe, и объяснить пользователю выбрать правильный, не основываясь на их процессоре, но основываясь на том, какую версию Java они установили 32-битную или 64-битную)

Редактировать: Звучит так, как будто я описал все, и использование launch4j может быть решением

Как лучше всего запускать Java-приложения в Windows 7?

1 ответ

Решение

что мне нужно 64-битный exe для запуска 64-битной JVM

Да. Вы не можете использовать 32-битный exe для запуска 64-битной JVM

Во-вторых, если это так, как я могу представить это пользователю, я обертываю установщик как исполняемый файл...

Не. Просто создайте установщик для 32-битной и 64-битной систем. В зависимости от целевой системы должен запускаться соответствующий установщик

Другие вопросы по тегам