msi - jre java
Cómo agrupar una aplicación dependiente de Java con un JRE en un MSI (1)
Esto es similar a ¿Cómo puedo crear un archivo .msi para un programa Java? (eclipse) pero específicamente trata de agrupar un JRE también.
Actualmente estoy trabajando en la construcción de una MSI para mi producto, por lo que se puede instalar como un complemento con Windows Home Server. El instalador debe ser un instalador silencioso de MSI.
Mi producto depende de Java 1.6. Quiero agrupar Java dentro de la MSI pero no necesariamente instalar el JRE, simplemente copiar los archivos a mi directorio de productos y ejecutar desde allí estaría bien.
Inicialmente intenté instalar el JRE de todos modos como primer paso. Usé el instalador silencioso de JRE , sin embargo resultó que debido a que el JRE se instala a través de otro MSI, bajo las coberturas, la regla de instalación de MSI -única ejecutada a la vez- se rompió, por lo que no se pudo instalar un JRE.
Así que cambié a copiar los archivos JRE en su lugar. He logrado crear un MSI con todos los elementos, ¡pero tiene 60 MB! Eso es alrededor de 33MB para mi aplicación y el resto es JRE. Mi setup.exe normal, que agrupa el JRE, es de unos 30 MB, así que supongo que la compresión es mucho mejor en este último caso (también uso la compresión Pack200 allí).
Estoy usando WiX para construir el MSI y tengo la compresión activada.
¿Cuál es la mejor manera de agrupar un JRE, con aplicación dependiente, dentro de un MSI?
En mi humilde opinión, simplemente debe agregar todo el directorio JRE (desempaquetado) a sus archivos instaladores. Luego ejecuta tu JRE desde la ruta dada, conocida. Muchos productos (por ejemplo, DB2, Oracle 11g e incluso WebSphere Application Server) lo están haciendo exactamente así.