Проблемы с 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.
- Так может кто-то подтвердить, что это была проблема, что мне нужен 64-битный exe для запуска 64-битной JVM
- Во-вторых, если это так, как я представляю это пользователю, я обертываю установщик как исполняемый файл, поэтому это означает, что мне нужно предоставить пользователю и installer.exe, и installer64.exe, и объяснить пользователю выбрать правильный, не основываясь на их процессоре, но основываясь на том, какую версию Java они установили 32-битную или 64-битную)
Редактировать: Звучит так, как будто я описал все, и использование launch4j может быть решением
1 ответ
что мне нужно 64-битный exe для запуска 64-битной JVM
Да. Вы не можете использовать 32-битный exe для запуска 64-битной JVM
Во-вторых, если это так, как я могу представить это пользователю, я обертываю установщик как исполняемый файл...
Не. Просто создайте установщик для 32-битной и 64-битной систем. В зависимости от целевой системы должен запускаться соответствующий установщик