NSIS - Не удается запустить приложение Java с 64-битной Java - PullRequest
4 голосов
/ 11 июля 2011

Мой установщик запускает командный файл в -post. Под 32 битами это работает нормально, но когда у меня установлена ​​64 битная JVM, я получаю эту ошибку:

«java» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.

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

Как мне получить переменные среды для 64-битной Java и использовать их в моем пакетном файле?

Ответы [ 2 ]

4 голосов
/ 28 октября 2011

Я предполагаю, что это работает под 64-битной версией Windows.

64-битная Windows делает «умные» вещи для обратной совместимости с 32-битной. Записи реестра и пути поиска файлов автоматически перенаправляются.

Используемая вами командная строка будет 64-битной.

Для запуска 32-битной командной строки запустите% windir% \ SysWoW64 \ cmd.exe. Вы должны быть в состоянии воспроизвести ваше состояние отказа там. 32-битный NSIS запустит пакетный файл в 32-битном режиме.

Вам необходимо определить, как файл java.exe находится в 64-битной версии. Если вы разместите здесь свой пакетный файл, должно быть что-то достаточно очевидное, что может быть отклонено.

1 голос
/ 03 ноября 2011

У меня была та же проблема, что и у вас!Я последовал совету этого парня

http://forum.ragezone.com/f428/add-fixing-java-recognized-internal-527269/

По сути, если бы мне пришлось подвести итог, посмотрите на ваши два Программных файла.Это должно быть где-то в C: \ Program Files (x86) \ Java \ jdk1.6.0_10 \ bin.Но я бы следовал инструкциям в этой ссылке!

...