Generación de paquetes MSI mediante Snapshot

La instalación desatendida de paquete "msi" es sin duda un gran avance para los administradores de red que no se ven obligados a ir equipo por equipo llevando a cabo el tedioso proceso de instalación de software.

Hoy en día cada vez más productos se adaptan a esta tecnología, de modo que puedan ser instalados remotamente paquetes "msi" en las estaciones de trabajo clientes del dominio de un modo sencillo, pero la pregunta que surge a este respecto es inmediata: ¿qué ocurre si el software que pretendemos distribuir no dispone de un fichero "msi" que lo lance?; para dar respuesta a este problema disponemos de aplicaciones gratuitas que nos permiten generar paquetes "msi" de aquellas aplicaciones que no disponga de ellas, concretamente en nuestro caso utilizaremos "WinInstall LE", que actualmente puede ser descargada desde la URL http://www.scalable.com/WinINSTALL_LE.aspx.

NOTA: Existen múltiples aplicaciones comerciales que sirven para generar paquetes "msi", siendo además mucho más completas que "WinINSTALL LE", pero hemos utilizado ésta por ser gratuita y muy sencilla de utilizar.

Una vez que hayamos descargado la aplicación en cuestión, copiaremos el fichero "WinINSTALL_LE.exe" al Escritorio del equipo "SERVIDOR", haciendo a continuación doble clic sobre el mismo para proceder a la instalación de dicha aplicación, pasando a ser mostrada la primera ventana del asistente de instalación en la que pulsaremos directamente sobre el botón "Next".

En la siguiente ventana mostrada por el asistente activaremos el radio botón "I accept the terms in the License Agreement" para aceptar los términos de la licencia, y posteriormente pulsaremos sobre el botón "Next".

A continuación debemos especificar cierta información de registro de la aplicación, para lo cual rellenamos los campos correspondientes en la ventana de la imagen siguiente, desactivando además la casilla "Sign me up for a free copy of WinINSTALL News, ..." mostrada en la parte inferior de dicha ventana, para finalmente pulsar sobre el botón "Next".

NOTA: En la ventana de la imagen superior debemos introducir una dirección de correo de un domino existente, pues sino obtendremos un mensaje de error y el proceso de instalación se bloquearía hasta que se proporcionara una dirección de correo válida en la caja de texto "E-mail Address".

En la siguiente ventana se nos pregunta por el nombre con el que deseamos compartir la carpeta "WinINSTALL" para que sea accesible desde los equipos clientes, a fin de poder en su momento generar el paquete "msi" correspondiente, dejando en nuestro caso  en la caja de texto "Share Name" el valor "WinINSTALL" ofertado por defecto por el asistente.

A continuación el asistente de instalación de la aplicación nos indica la ruta donde será instalada la misma, permitiéndonos además modificarla si no fuera de nuestro agrado, aunque en nuestro caso aceptaremos la ruta de instalación ofertada por defecto por el asistente pulsando directamente en la ventana de la imagen inferior sobre el botón "Next".

En este instante el asistente nos informa de que se encuentra preparado para instalar la aplicación "WinINSTALL LE", así pues pulsaremos sobre el botón "Install" en la ventana de la imagen inferior para proceder.

Dará pues comienzo en este instante la instalación de la aplicación, proceso que concluirá en breves instantes.

Una vez completada en su totalidad la instalación de la aplicación, se nos mostrará la siguiente ventana, en la que pulsaremos sobre el botón "Finish" para dar por cerrado satisfactoriamente dicho proceso de instalación.

Tras completarse la instalación, procederemos a eliminar el fichero "WinINSTALL_LE.exe" del Escritorio del equipo "SERVIDOR".

Una vez instalada la aplicación hemos de asignar permisos de acceso remoto a la carpeta compartida "WinINSTALL" ubicada en la ruta "C:\Archivos de Programa\OnDemand\WinINSTALL", de modo que eliminaremos al grupo "Todos" de entre los que disponen de permiso de acceso remoto a esta carpeta, e incluiremos al grupo "Administradores" con el permiso de "Leer", tal y como vemos en la imagen inferior.

Una vez que tenemos el software de generación de paquetes "msi" instalado y correctamente configurado en el equipo "SERVIDOR", podremos generar un paquete "msi" para el software que deseemos que no disponga de él; en nuestro caso vamos a generar un paquete "msi" para la aplicación cliente de FTP "FileZilla", si bien podríamos hacerlo para cualquier otra aplicación.

Antes de comenzar con la ejecución de la aplicación "WinINSTALL LE", vamos a sintetizar el funcionamiento de la misma.

  1. Se indica el nombre y la ubicación de red donde se almacenará el paquete "msi" a generar, en nuestro caso en una carpeta que colgaremos de "E:\Software" del equipo "SERVIDOR", donde estamos almacenando todo el software administrado.
  2. Se hace una "foto" inicial del estado del equipo sobre el que se va a instalar el software.
  3. Se instala la aplicación deseada sobre dicho equipo.
  4. Tras la instalación de la aplicación se hace una "foto" final del equipo con el software ya instalado.
  5. Las diferencias entre la "foto inicial" y la "foto final" son los cambios que se han producido en el equipo como resultado de la instalación de la aplicación en cuestión, y por tanto lo que se almacena automáticamente en la ruta especificada en el primer paso, incluyendo el paquete "msi" que haya sido generado.

NOTA: El equipo donde vayamos a realizar todo el proceso de instalación de la aplicación para crear el paquete "msi", NO debe tener instalada la aplicación de la que pretendemos generar el paquete "msi", pues en caso de ser así, las diferencias entre las fotos inicial y final no reflejarían los cambios reales que realiza la aplicación en su proceso de instalación; habitualmente utilizaremos cualquier máquina "limpia" del dominio para dicho fin, y tras realizar la foto final correspondiente, procederemos a desinstalar de dicho equipo la aplicación de la que partimos para generar el paquete "msi" desde "Agregar y quitar programas" del "Panel de Control", con el fin de finalmente dicha aplicación sea instalada en ese equipo, pero como resultado de la distribución del paquete "msi" generado, y no como fruto de la instalación manual realizada para generar el paquete "msi".

Así pues, en este instante vamos a comenzar con la creación de un paquete "msi" para la aplicación "FileZilla 2.2.15", para lo cual en primer lugar crearemos una carpeta de nombre "FileZilla 2215" en la ruta "E:\Software" del equipo "SERVIDOR", lugar donde ubicaremos el paquete "msi" que generaremos con posterioridad.

 

Tras ello procederemos a la descarga del fichero ejecutable de instalación de la aplicación "FileZilla 2.2.15", que podemos descargar desde el CD pulsando sobre este enlace.

Una vez que dispongamos del fichero "FileZilla_2_2_15_setup.exe" de instalación de la aplicación "FileZilla 2.2.15", arrancaremos una estación de trabajo del dominio, autenticándonos en la misma con las credenciales del usuario "Administrador" del dominio, y copiando posteriormente el fichero descargado en el Escritorio de dicho equipo.

A continuación lanzaremos "Ejecutar" desde el botón "Inicio" del equipo cliente donde nos hayamos autenticado, tecleando tras ello en la caja de texto correspondiente la instrucción "\\SERVIDOR\WinINSTALL\Bin\Discover.exe", pasando a ser mostrada como resultado de dicha acción la siguiente ventana del asistente de creación de paquetes "msi", en la que pulsaremos directamente  sobre el botón "Next".

En la siguiente ventana debemos indicar el nombre que vamos a asociar al paquete "msi" que vamos a generar, "FileZilla 2.2.15" en nuestro caso, así como la ruta de red donde almacenaremos el paquete que vamos a crear, especificando en nuestro caso la ruta "\\SERVIDOR\Software\FileZilla 2215\Filezilla2215.msi", tras lo cual pulsaremos sobre el botón "Next".

A continuación se nos pregunta por la unidad donde se almacenarán los ficheros temporales que la aplicación necesita crear para generar la "foto inicial", dejando asociada la unidad "C:" ofertada por defecto por el asistente, y pulsando directamente sobre el botón "Next".

Posteriormente se nos pide que indiquemos las unidades que deben ser analizadas para realizar la foto inicial; en nuestro caso dado que vamos a instalar la aplicación "FileZilla" sobre la unidad "C:" de nuestro equipo cliente, bastaría con incluir dicha unidad entre las que van a ser analizadas, así que seleccionamos la unidad "[-c-]" de entre las unidades mostradas en "Available Drivers", y pulsaremos posteriormente sobre el botón "Add >", para añadir dicha unidad en el apartado "Drives to Scan", tal y como vemos en la siguiente imagen.

En el siguiente apartado debemos indicar los ficheros que serán excluidos del análisis; en nuestro caso aceptaremos las opciones propuestas por el asistente por defecto y pulsaremos directamente sobre el botón "Next".

A continuación debemos indicar las entradas de registro que serán excluidos del análisis; en nuestro caso aceptaremos las opciones propuestas por el asistente por defecto y pulsaremos directamente sobre el botón "Next".

NOTA: Habitualmente para que el paquete "msi" sea correctamente generado, no deberemos hacer ninguna modificación en las opciones de exclusión de ficheros y entradas de registro que por defecto nos ofrece el asistente, tal y como es el caso que nos ocupa,

Finalmente se muestra la siguiente ventana en la cual pulsaremos sobre el botón "Finish" para comenzar la generación de la "foto inicial" del equipo en el que vamos a instalar la aplicación.

La aplicación comienza a generar la foto inicial del sistema, según vemos en la imagen inferior.

NOTA: En el tiempo comprendido entre la ejecución de este proceso y la ejecución del proceso de la foto final, es CRÍTICO ejecutar únicamente el software de instalación del paquete "msi" a generar, pues cualquier modificación que realizáramos en dicho periodo temporal, al margen de la propia de instalar el software correspondiente del que deseamos generar el paquete "msi", se grabaría en el paquete "msi" obtenido, cuando realmente no formaría parte de las modificaciones que realizó dicha aplicación durante su instalación

Una vez que la foto inicial haya sido realizada, se mostrará la siguiente ventana, en la que pulsaremos directamente sobre el botón "Aceptar".

Tras pulsar sobre el botón "Aceptar" en la ventana de la imagen anterior, se nos muestra otro cuadro de diálogo en el que seleccionaremos el fichero de instalación de la aplicación de la que vamos a generar el paquete "msi", en nuestro caso la aplicación "Filezilla_2_2_15_setup.exe" ubicada en el Escritorio del equipo cliente, y tras ello pulsaremos sobre el botón "Abrir".

Como resultado de la acción anterior dará comienzo la instalación de la aplicación "FileZilla 2.2.215", proceso que llevaremos a cabo de modo manual hasta su finalización, seleccionando las opciones deseadas en el proceso de instalación.

Una vez que hayamos completado el proceso de instalación de "FileZilla 2.2.15" en el equipo cliente, volveremos a ejecutar "\\SERVIDOR\Software\Bin\Discover.exe", mostrándose en este instante la siguiente ventana, en la que se nos pregunta si deseamos generar la foto final, o bien queremos crear una nueva foto inicial; como la foto inicial ya fue creada anteriormente, dejaremos seleccionado el radio botón "Perform the 'After' snapshot now", que es la opción por defecto.

Como resultado de la acción anterior, pasa a ser ejecutado el proceso de creación de la foto final del sistema tras la instalación de la aplicación, proceso este que puede durar varios minutos.

Una vez se complete dicho proceso, la siguiente ventana nos informará de que la foto final ha sido completa, pulsando en ella sobre el botón "Aceptar" para proceder a su cierre.

NOTA: Dependiendo de la aplicación de la que estemos creando el paquete "msi", puede ocurrir que anteriormente a la ventana de la imagen anterior aparezca alguna otra ventana con "Warnings" (avisos) que han ocurrido durante la elaboración del paquete "msi", los cuales habitualmente no tienen importancia alguna en la validez final del paquete creado.

En este instante procedemos a eliminar el fichero "FileZilla_2_2_15_setup" del Escritorio del equipo cliente desde el cual hemos generado el paquete "msi" de dicha aplicación.

Podemos confirmar que el paquete ha sido creado correctamente en el equipo "SERVIDOR", yendo a la carpeta "E:\Software\FileZilla 2215" y comprobando que todos los ficheros necesarios para distribuir "FileZilla" por medio del paquete "Filezilla2215.msi" se encuentran en dicha ubicación.

El último paso que nos quedaría para distribuir el paquete "msi" creado a las estaciones de trabajo del dominio, sería ubicarnos sobre el objeto "directiva de grupo software" del dominio "MiCentro.edu", pulsando a continuación sobre el botón "Editar", pasando a ser mostrada como resultado de dicha acción la siguiente ventana, en la que asociaremos a la directiva de grupo de "Instalación de software" ubicada en "Configuración del equipo -> Configuración de software", un nuevo paquete de instalación de software, de igual modo que hicimos anteriormente para el paquete "msi" de la aplicación "Microsoft Office 2000".

Finalmente, y antes de que se distribuya el software "FileZilla 2.2.15" como resultado de la aplicación de la directiva de grupo creada, desinstalamos dicha aplicación de la estación de trabajo donde hemos generado el paquete "msi" a través de la opción "Agregar o quitar Programas" del "Panel de Control" de dicho equipo, y tras ello reiniciaremos dicha máquina, para comprobar que el nuevo software administrado se distribuye adecuadamente.

NOTA: Si el programa a partir del cual vamos a generar el paquete "msi" no dispone de fichero de instalación, sino que dicha instalación se reduce simplemente a la copia de las carpetas correspondiente en el disco duro de la máquina cliente, seguiremos el mismo proceso llevado a cabo anteriormente, sólo que cuando finalice la creación de la foto inicial y se nos pida que indiquemos el fichero ejecutable que lanza la instalación de la aplicación, cancelaremos esa ventana de diálogo, y posteriormente sobre la máquina cliente copiaremos las carpetas en cuestión en el lugar deseado, tras lo cual obtendremos la instantánea de la foto final, completándose exitosamente el proceso de generación del paquete "msi".

No queremos cerrar este apartado sin hacer referencia a la consola de la aplicación "WinINSTALL LE", que permite modificar distintos valores de cualquier paquete "msi" generado previamente por dicha aplicación, ofreciendo además posibilidades tales como añadir nuevos ficheros a los generados por el paquete, cambiar su número de licencia, editar y modificar las distintas entradas que el paquete incluirá en el registro de Windows, etc.

La consola se instala con el propio software generador de paquetes "WinINSTALL LE", estando accesible en el equipo "SERVIDOR" desde "Inicio -> Todos los Programas -> Scalable WinINSTALL -> WinINSTALL LE", mostrándose la siguiente ventana como resultado de su ejecución.

Seleccionando la opción "File -> Packages Directory", se nos mostrará una ventana en el que indicaremos la ruta donde se encuentran ubicados los paquetes "msi" que queremos analizar, en nuestro caso indicaremos la ruta "\\SERVIDOR\Software", pasando en ese instante a ser mostrados los paquete allí ubicados, pudiendo seleccionar uno de ellos, por ejemplo el paquete "FileZilla 2215" creado anteriormente, para ver o modificar las distintas entradas que conforman el paquete elaborado.

NOTA: Nuestra recomendación es NO modificar ninguno de los valores de las entradas que forman el paquete "msi" obtenido, a no ser que se esté muy seguro de que la modificación que va a realizarse es adecuada y necesaria para la correcta instalación desatendida de dicha aplicación.