crear instalador de java

9
Ejecutable en Java 1. Primero descomprime el archivo JavaExe.zip 2. Ingresa a la carpeta., esta carpeta tiene varios archivos pero los más importantes son JavaExe.exe y MergeIco.ico 3. Ahora copia el icono que desees colocarle a tu programa y cámbiale el nombre al de JavaExe 4. Ahora ejecutas el MergeIco este automáticamente te cambiará el icono. 5. Ahora copiamos nuestro programa dentro de la carpeta de nuestro programa. 6. Ahora le cambiamos el nombre por la clase que tiene nuestra clase main. 7. Eso es todo ahora puedes aprovechar el programa ejecutable. Crea tu instalador para Java Para crear un instalador es necesario tener instalado NSIS y entender un poco como funciona este, primero debes saber que funciona como un script con extensión .nsi, este es el archivo más importante

Upload: ecosolid

Post on 17-Nov-2015

8 views

Category:

Documents


0 download

DESCRIPTION

inst

TRANSCRIPT

  • Ejecutable en Java

    1. Primero descomprime el archivo JavaExe.zip

    2. Ingresa a la carpeta., esta carpeta tiene varios archivos pero los ms importantes son JavaExe.exe y MergeIco.ico

    3. Ahora copia el icono que desees colocarle a tu programa y cmbiale el nombre al de JavaExe

    4. Ahora ejecutas el MergeIco este automticamente te cambiar el icono.

    5. Ahora copiamos nuestro programa dentro de la carpeta de nuestro programa.

    6. Ahora le cambiamos el nombre por la clase que tiene nuestra clase main.

    7. Eso es todo ahora puedes aprovechar el programa ejecutable.

    Crea tu instalador para Java

    Para crear un instalador es necesario tener instalado NSIS y entender un poco como funciona este, primero debes saber que funciona como un script con extensin .nsi, este es el archivo ms importante

  • para la creacin de un instalador, ya que daremos la informacin de donde se va ha instalar, si posee el desinstalador, adems de colocar los accesos directos al programa. 1. Instalacin de NSIS, esta instalacin no voy a llegar a detalles ya que solo es doble clic y seguir las ventanas que vayan saliendo.

    2. Ahora creamos un archivo .nsi, este lo pueden llamar Merge.nsi, en verdad el nombre no importa pero debe tener la extensin nsi, este archivo puede ser creado en cualquier editor en mi caso lo voy a hacer con el block de notas, ya que es el mas bsico y se encuentra en cualquier maquina que tenga instalado Windows.

    3.- El archivo Merge.nsi debe tener el siguiente cdigo, este cdigo puede ser modificado para que cada persona ponga los datos que deseen sin tener que crear un archivo nuevo cada ver que deseen crear un instalador:

    ; Merge.nsi ; ; Este instalador toma todos los archivos los instala en archivos de programas o en un directorio ; que el usuario seleccione, luego crea un desintalador adems de crear en el menú de inicio ; crea accesos directos uno para el programa y otro para el desinstalado. ; ;-------------------------------- ; Nombre del instalador Name "Merge" ; El Archivo de Salida OutFile "MergeInstall.exe" ; El directorio default para la instalacin InstallDir $PROGRAMFILES\Merge ; Clave en el registro de Windows chequeado para el directorio (Si existe, Este ; se sobre escribir en el viejo) InstallDirRegKey HKLM "Software\Merge" "Install_Dir" ; Requerir permisos para Windows Vista RequestExecutionLevel admin

  • ;-------------------------------- ; Paginas Page components Page directory Page instfiles UninstPage uninstConfirm UninstPage instfiles ;-------------------------------- ; El material para la instalacin Section "Merge (requerido)" SectionIn RO ; Toma el directorio de que se selecciono para la instalacin. SetOutPath $INSTDIR ; Pone los Archivos a instalar File "ClaseVector.class" File "Listas.class" File "numero.class" File "Tranformaciones.class" File "VentanaPrincipal.class" File "VentanaPrincipal.exe" ; Escribimos los registros de instalacin dentro del directorio del registro WriteRegStr HKLM SOFTWARE\Merge "Install_Dir" "$INSTDIR" ; Escribimos las claves de desinstalacin de Windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "DisplayName" "Merge" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "NoRepair" 1 WriteUninstaller "uninstall.exe" SectionEnd ; Seccin opcional (Pudiera ser deshabilitada pero en este caso necesitamos crear todo.) Section "Start Menu Shortcuts" CreateDirectory "$SMPROGRAMS\Merge" CreateShortCut "$SMPROGRAMS\Merge\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 CreateShortCut "$SMPROGRAMS\Merge\Merge (MakeNSISW).lnk" "$INSTDIR\VentanaPrincipal.exe" "" "$INSTDIR\VentanaPrincipal.exe" 0 SectionEnd ;-------------------------------- ; Desinstalador Section "Uninstall"

  • ; Remover las claves del Registro DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" DeleteRegKey HKLM SOFTWARE\Merge ; Eliminados los archivos y los desinstalamos Delete $INSTDIR\ClaseVector.class Delete $INSTDIR\Listas.class Delete $INSTDIR\numero.class Delete $INSTDIR\Tranformaciones.class Delete $INSTDIR\VentanaPrincipal.class Delete $INSTDIR\VentanaPrincipal.exe Delete $INSTDIR\uninstall.exe ; Eliminamos todos los accesos directos del men de inicio Delete "$SMPROGRAMS\Merge\*.*" ; Eliminamos las carpetas creadas RMDir "$SMPROGRAMS\Merge" RMDir "$INSTDIR" SectionEnd

    En este cdigo todo lo que esta con color rojo es lo mas importante, son las partes claves donde colocas los archivos del programa que necesitas para ejecutarlo. Ahora tambien puedes cambiar el nombre merge por lo del programa que este haciendo a continuacion voy a explicar cada linea es un poco tedioso y aburrido si lo desean pueden leerlo o pasen al punto N 4. Para una mayor explicacin en esta parte les voy a explicar un poco el cdigo como ya se habrn dado cuenta todo lo que se encuentra al inicio con un punto y coma son comentarios. Name "Merge" Es el nombre interno del instalador este puede ser cualquier nombre que le desees dar. OutFile "MergeInstall.exe" Es el archivo que nos va ha devolver al finalizar la compilacin, como yo deseo que el instalador se llama MergeInstall.exe. InstallDir $PROGRAMFILES\Merge Esta lnea especificamos en donde se va ha instalar el programa como nosotros sabemos toda computadora puede cambiar la localizacin de archivos de programas, entonces en este caso NSI, posee varias variables que toma la localizacin automticamente de cualquier computador, entre estas variables se encuentran: $PROGRAMFILES, $DESKTOP. Como se puede apreciar en este caso en particular vamos a instalar donde es comn en el archivo de programas, y para crear otra carpeta dentro de esta solo colocamos el nombre de la nueva carpeta en este caso Merge. InstallDirRegKey HKLM "Software\Merge" "Install_Dir" Esta lnea sirve para colocar dentro del registro de Windows la localizacin de instalacin de nuestro programa. Como podemos ver este se guarda en el registro en la carpeta Software/Merge, donde Merge es el nombre del programa y Install Dir va ha tomar automticamente donde se instalo el programa. RequestExecutionLevel admin Este instalador sirve tanto en Windows XP como para el Vista, pero la condicin es que el Windows Vista necesitas autorizacin para instalar por eso colocamos la lnea de RequestExecuteLevel. Page Esto son las partes ms importantes, ya que un instalador creado en NSI se divide por page o paginas cada pgina es una parte clave de la instalacin, un instalador por lo menos debe poseer 1 pgina, para una pgina se realiza de la siguiente manera:

    Page Nombre de la Pgina. En el ejemplo se declaran 3 paginas las cuales la primera es para recoger los componentes, la segunda colocar en los directorios y por ultimo instalarlos en su localizacin de instalacin.

  • Page components Page directory Page instfiles UninstPage El uninstpage tienen la misma percepcin de las pginas con la variante que estas no sern utilizadas para la instalacin sino para lo contrario que es la desinstalacin, ejemplo: UninstPage uninstConfirm UninstPage instfiles Section "Merge (requerido)" Esta lnea sirve para decir que comienza la pagina de instalacin, la cual la primera va ha ser la pagina de componentes segn nuestro ejemplo. En esto podemos cambiar el nombre el cual es Merge (requerido) por el que deseemos, esto es importante ya que aparecer en la primera parte del proceso de instalacin del programa. SectionIn RO Aqu indicamos la existencia de una pagina nueva que es interna, esta es la que le sigue de las que declaramos en este caso va ha ser la pagina de directorios. SetOutPath $INSTDIR En este paso especificamos el directorio receptor de los archivos. Pero este dato es una constante del NSI, poniendo $INSTDIR decimos que colocara en el directorio que seleccionamos al momento de instalar. File Aqu especificamos cada archivo que va ha tener el instalador en este caso por lo menos para java es de colocarle cada archivo .class, tambin podramos hacer un solo archivo jar, y aadir solo este, pero como necesitamos por lo menos en este ejemplo VentanaPrincipal.exe, ya que este ejecuta el programa. File "ClaseVector.class" File "Listas.class" File "numero.class" File "Tranformaciones.class" File "VentanaPrincipal.class" File "VentanaPrincipal.exe" Instalacin en el registro El registro es una parte muy importante al momento de realizar una instalacin ya que dir en que parte se instala, y donde va ha encontrarse su desinstalador, para el caso de desinstalar por medio del programa de Windows. A continuacin se muestra cada una de estas lneas. WriteRegStr HKLM SOFTWARE\Merge "Install_Dir" "$INSTDIR" Lnea que indica al registro donde va ha ser instalado. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "DisplayName" "Merge" En esta lnea se muestra el nombre que va ha mostrarse al momento de llamar al desinstalador de Windows, en nuestro caso va ha ser Merge, al momento de realizar sus instaladores coloquen el nombre de su programa donde se encuentra Merge. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "UninstallString" '"$INSTDIR\uninstall.exe"' Aqu indicamos en donde se localizara el desinstalador si este existe esto lo hacemos colocando $INSTDIR\uninstall.exe WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "NoModify" 1 WriteRegDWORD HKLM Esta opcin es para indicar que nuestro programa no puede ser modificado. "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" "NoRepair" 1 WriteUninstaller "uninstall.exe" Esta es la ultima lnea que se refiere al registro por lo menos a lo que se refiere a la instalacin, y significa que el programa no puede ser reparado, sino solo reinstalado encima. SectionEnd Aqu indicamos que se termino la seccin Merge (Requerido). Section "Start Menu Shortcuts"

  • Aqu indicamos que comenzamos otra seccin la cual es para crear los accesos en la barra de men de inicio. CreateDirectory "$SMPROGRAMS\Merge" Crea el directorio para los accesos directos. CreateShortCut "$SMPROGRAMS\Merge\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 Crea el acceso directo para el desinstalador CreateShortCut "$SMPROGRAMS\Merge\Merge (MakeNSISW).lnk" "$INSTDIR\VentanaPrincipal.exe" "" "$INSTDIR\VentanaPrincipal.exe" 0 Crea el acceso directo del Programa. SectionEnd Indicamos la terminacin de la seccin de accesos directos. Section "Uninstall" Comienzo de la seccin de desinstalacin. DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Merge" Primero eliminamos en el registro el desinstalador. DeleteRegKey HKLM SOFTWARE\Merge Despus indicamos que deseamos eliminar del registro la entrada de la localizacin del programa. Delete Ahora vamos a eliminar cada archivo que se instalo o que tenamos en el instalador como se puede ver a continuacin vamos eliminando cada clase y archivo que lo instalamos, adems el desinstalador, para esto colocamos el comando delete $INSTDIR\nombre del archivo. Delete $INSTDIR\ClaseVector.class Delete $INSTDIR\Listas.class Delete $INSTDIR\numero.class Delete $INSTDIR\Tranformaciones.class Delete $INSTDIR\VentanaPrincipal.class Delete $INSTDIR\VentanaPrincipal.exe Delete $INSTDIR\uninstall.exe

    Delete "$SMPROGRAMS\Merge\*.*" Ahora para no dejar basura que siempre se acostumbra al momento de desinstalar un programa se la delete $SMPROGRAMS\Merge\*.*, as eliminamos accesos directos del men de inicio. RMDir "$SMPROGRAMS\Merge" Ahora eliminamos la carpeta de acceso directo del men. RMDir "$INSTDIR" Eliminador la carpeta de instalacin. SectionEnd Aqu indicamos la finalizacin de la seccin de desinstalacin y del programa. Despus debes guardar este archivo en la misma carpeta del programa esto se debe ya que los .class y el .exe, el que sirve para ejecutar el programa, se encuentran en esta.

  • 4. Despus de crear el archivo Merge.nsi, este debe ser compilado para lo cual abrimos el NSIS

    5. Ahora damos en compile NSI scripts

    6. Luego de esto se abre la siguiente ventana, esta es el compilador el cual solo le debemos dar nuestro instalador.

    7. Para compilar solo damos en File > Open, y seleccionamos el archivo a compilar, como en este ejemplo creamos el Merge.nsi, es el que lo vamos a utilizar.

    8. Luego de seleccionar el archivo este ser compilado automticamente.

  • 9. Ahora abrimos la carpeta donde se encuentra nuestro programa y veremos que existe un nuevo archivo Mergeinstall.exe, el cual es el instalador ya creado, y listo eso es todo para crear el instalador.

    Prueba del Instalador

    Ahora si quieres ejecuta el archivo MergeInstall, o cpialo en el escritorio y ejectalo ah, de cualquier modo te presentara la siguiente ventana de instalacin:

    En este instalador puedes seleccionar los programas que deseas instalar a instalar, en este caso sabemos que el programa es necesario entonces el Merge no se puede quitar pero los accesos directos si por eso esta bloqueado la seleccin Merge. Tambin como todo instalador tenemos la opcin de seleccionar la direccin de donde vamos a instalar.

    Al finalizar la instalacin vas a encontrar en la barra de inicio de Windows y lo puedes ejecutar, pero adems te crea el desinstalador.

  • Si ejecutas el desinstalador te dars cuenta que es uno comn como cualquier instalador, el cual eliminara todos los archivos que se creo en la instalacin, adems de borrar del registro algunas entradas que creamos.

    Eso es todo amigos, este instalador es uno sencillo dentro del NSIS existen muchos mas instaladores mas profesionales, pero solo quera hacer algo sencillo que nos funcione a todos, igual hay como aplicarlo en nuestros instaladores solo copiando el archivo merge.nsi y modificarlo de acuerdo a sus necesidades.