2009-12-07 1 views
3

Я пытаюсь связать Java как часть Java продукта, который должен быть установлен молча с одним щелчком мыши и некоторые проблемы:Java на Windows 32-битных систем

Моя установка имеет следующие требования : не имеет молчать и требуют никакого входа или действий пользователя не excpect с двойным щелчком на файл установки (без конфигурации и после установки шагов) Имеет для настройки Java, так что JAVA_HOME указует на установку Java SE с сервером JVM

Возможно ли это сделать в системе win32 с установщиками солнечных ящиков? Я знаю, что по умолчанию jre не соответствует серверу jvm. Но даже при установке jdk публичный jre, который установлен (и сопоставлен с JAVA_HOME), не содержит jvm сервера. В ВС собственный README файл (Sun README) они предлагают копировать файлы:

JRE \ Bin \ сервер \ на платформах Microsoft Windows, то JDK включает в себя как Java-HotSpot (TM) сервер VM и Java HotSpot Client VM , Однако среда Java SE Runtime Environment для платформ Microsoft Windows включает только виртуальную машину клиента Java HotSpot. Те, кто желает использовать виртуальную машину Java HotSpot с использованием Java SE Runtime Окружение может скопировать папку jre \ bin \ server JDK в каталог bin \ server в среде выполнения Java SE Runtime Environment.

Но это решение сложно автоматизировать изящно в бесшумной установке. Должен быть лучший способ сделать это без переупаковки всей java-рассылки. Кто-нибудь сталкивался с той же проблемой и придумал более элегантное решение?

+0

Такая же проблема, да, но нет хорошего решения. – Lucero

ответ

1

В последние годы я управляю Java следующим образом: я загружаю программу установки, устанавливаю ее где-то, упаковываю все файлы в ZIP и затем использую этот ZIP-файл для развертывания Java в любом месте. Установщик оставит много материала в реестре и% WinDir% и т. Д., Которые вам действительно не нужны. Это также позволяет мне перемещать некоторые файлы (например, bin\server\jvm.dll или связанные с безопасностью настройки).

Таким образом, я могу даже встроить Java в каталог приложения, независимо от любой уже установленной версии Java.

Просто установите JAVA_HOME в небольшой пакетный скрипт перед запуском приложения, и вы в порядке. Вы можете использовать %~dp0, чтобы сделать его полностью независимым (%~dp0 расширяется до пути, ведущего к пакетному файлу).

+0

«Установщик оставит много материала в реестре и% WinDir% и т. Д., Которые вам действительно не нужны». - это хорошо документированное поведение или просто основано на опыте? Что делать, если это изменение изменяется между версиями установщика?Загрязнение всей JRE, как это звучит привлекательно и страшно в то же время. –

+1

Я не уверен, что это где-то документально, но я уверен, что Солнце не может изменить это поведение. Ключи реестра только там, чтобы упростить внешний код для поиска JVM по умолчанию. Они не нужны для работы Java. Я согласен, что требуется скачок :) –

+0

Кто-нибудь знает причину, по которой вам нужно прыгать через обручи, чтобы получить рабочий сервер jvm на окнах? Я не вижу логики, почему jre on linux имеет сервер jvm, установленный по умолчанию, когда windows jre этого не делает. – Mans

1

Сделайте свой собственный установщик.

Я использую компилятор настройки inno, хорошо работает для своей цели. Если вам нужны записи в реестре, вы можете экспортировать их, включить их в программу установки, включить файлы и немного изменить здесь и там, и все готово. Тихий установщик, который настраивает все на точные спецификации, которые вам нужны.

Он поставляется с простым в использовании мастером скриптов.

Я упоминаю конкретный, потому что он бесплатный. В конечном счете, создание собственного установщика - это решение.

 Смежные вопросы

  • Нет связанных вопросов^_^