para - ¿Instalar Java manualmente en Windows?
java 64 bit (8)
Creo que esto al menos solía ser factible hasta cierto punto con versiones anteriores de Java, no sé si todavía lo es.
La mayoría de las entradas de registro se utilizan para cosas como complementos del navegador, como mencionó en la pregunta. Si solo quieres poder ejecutar Java (por ejemplo, desde un archivo por lotes), eso es una cosa, pero realmente instalarlo es un asunto diferente. Incluso si solo desea ejecutarlo, debe tener cuidado de usar siempre explícitamente el que desea, en lugar de usar el instalado accidentalmente para parte de su aplicación.
¿Cuál es tu caso de uso real? ¿Realmente necesitas un complemento de navegador? ¿Qué aspecto de la configuración le interesa? Gran parte de la configuración del panel de control tiene que ver con las actualizaciones y la integración del navegador. Se pueden controlar muchos otros aspectos utilizando las opciones de la línea de comandos para establecer propiedades específicas del sistema.
Esta pregunta ya tiene una respuesta aquí:
He visto muchos productos empaquetados con JDK, me pregunto si hay una forma en la que se pueda instalar JDK simplemente descomprimiendo el contenido de un directorio, por lo que no se crea ningún icono en los programas de agregar / eliminar, no hay entradas de registro, etc.
También en este caso: ¿Cómo podemos configurar el complemento de Java para los navegadores? ¿Y cómo podemos configurar los ajustes como se ve a través de la entrada del Panel de control para Java?
De acuerdo con this , creé un script por lotes para construir archivos jdk automáticamente.
Las partes esenciales del enlace son:
- Crear un directorio JDK de trabajo ("C: / JDK" en este caso)
- Descargue la última versión de JDK desde oracle (por ejemplo, "jdk-7u7-windows-i586.exe")
- Descargue e instale 7-zip (o descargue la versión 7-zip portable si no es administrador)
- Con 7-zip extraiga todos los archivos de "jdk- [6-7] u? -Windows-i586.exe" en el directorio "C: / JDK"
- En el shell de comandos (cmd.exe) haga lo siguiente:
- cambie el directorio al directorio C: / JDK.rsrc / JAVA_CAB10
- ejecutar comando: extrac32 111
- Descomprima C: / JDK.rsrc / JAVA_CAB10 / tools.zip con 7-zip
- En el shell de comandos (cmd.exe) haga lo siguiente:
- cambie el directorio a C: / JDK.rsrc / JAVA_CAB10 / tools /
- ejecute el comando: para / r% x en (* .pack) do. / bin / unpack200 -r "% x" "% ~ dx% ~ px% ~ nx.jar" (esto convertirá todos los archivos del paquete en un archivo jar)
- Copie el directorio completo y todos los subdirectorios de c: / JDK.rsrc / JAVA_CAB10 / tools "donde desee que esté su JDK y configure manualmente JAVA_HOME y PATH para que apunten a su directorio JDK y su subdirectorio BIN.
Realmente, no, al menos si quieres usarlo desde Windows y no desde, digamos, cygwin. Windows depende demasiado del registro; podría simular las actualizaciones de registro necesarias, pero el software que mueve los archivos al lugar correcto y actualiza el registro se denomina "instalador"; Solo estarías reinventando el instalador.
Sí, puede crear un JDK comprimido, descomprimirlo en la máquina de destino y ejecutar java, javac, etc. desde ese directorio hasta el contenido de su corazón.
La forma más fácil de crear un archivo zip de este tipo es instalar el JDK en una máquina y luego comprimir el contenido del directorio JDK. Hacemos esto en ciertas circunstancias donde necesitamos controlar exactamente qué configuración de Java se usará en nuestras implementaciones. En ese caso, nuestros scripts solo apuntan JAVA_HOME (o su equivalente) a nuestro JDK integrado en lugar de confiar en un administrador de sistemas para instalar exactamente lo que necesitamos antes de la llegada.
En términos de integración con los navegadores, eso puede ser un poco más problemático. La respuesta corta es no, no puede integrarse directamente con el navegador sin algún tipo de instalador.
Si solo desea proporcionar una JVM con su aplicación está bien, pero más de eso no lo recomendaría.
Solo descargue la versión del servidor Windows de Java desde la página de descargas de Oracle. Configure las variables JAVA_HOME y PATH por su cuenta.
Puede usar SysInternals RegMon y FileMon (ahora propiedad y dist by MS) para ver exactamente qué modifica el instalador de Java. Creo que habrá una cantidad de entradas de registro que querrá crear. Los productos como el instalador WISE, por ejemplo, también utilizan este tipo de enfoque bajo el capó para volver a empaquetar las instalaciones del producto (por ejemplo, como MSI).
Tenga cuidado, ya que el instalador también toma algunas decisiones dinámicas que pueden afectar lo que se instala (por ejemplo, en el servidor XP vs W2K3). Fui mordido por esta vez con respecto a las páginas de códigos instaladas No recuerdo los detalles precisos, pero el efecto fue que faltaba un archivo de página de códigos en mi JRE + JDK incorporado (solo parte legalmente redistribuible). Esto causó un error de tiempo de ejecución muy extraño y aparentemente sin sentido en mi código. No hace falta decir que lo mismo se aplica a las DLL de JVM de servidor vs cliente.
Si solo desea tener los archivos JDK (JRE), puede ejecutar el instalador dentro de sandboxie . Una vez instalado en el sandbox, simplemente copie los archivos de c:/sandbox
y listo.
Estoy usando esto para compilar y ejecutar aplicaciones Java heredadas que no se pueden migrar fácilmente a una versión más nueva de Java. Puedo señalar Eclispe a estos JDK y decirle que cumpla con Java 1.3.