2011-07-19 16 views
5

Esto es similar a How can I create a .msi file for a Java program ? (eclipse) pero específicamente trata de agrupar un JRE también.Cómo agrupar una aplicación dependiente de Java con un JRE en un MSI

Actualmente estoy trabajando en la creació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 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 JRE's silent installer, sin embargo resultó que debido a que el JRE se instala a través de otro MSI, debajo de las coberturas, la regla de instalación de MSI-one-running-at-once 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 forma de agrupar un JRE, con aplicación dependiente, dentro de un MSI?

Respuesta

4

En mi humilde opinión, simplemente debe agregar el directorio JRE completo (desempaquetado) a los archivos de su instalador. 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í.

Cuestiones relacionadas