Creando Instalador con WiX

Hola a todos.

Esta noche quiero comentarles de esta poderosa herramienta para generar instaladores con Visual Studio, Actualmente esta en la versión 3.5, para descargarla la podremos hacer desde http://wix.codeplex.com/releases/view/60102, para mas información de esta herramienta la encuentran en http://wix.codeplex.com/ y en http://wix.sourceforge.net/.

Realmente es una poderosa herramienta que usa el lenguaje XML para hacer los paquetes de instalación, lo único es que el aprendizaje es algo lento, pero bueno eso es manejable.

Para instalarlo lo podremos hacer desde codeplex o desde el administrador de complementos, queda a su gusto.

image

Lo primero es generar un proyecto Windows Forms y generar lo que deseemos. por mi parte una app sencilla.

image

Después de eso vamos a agregar un proyecto nuevo, Como se muestra la grafica.

image

Lo primero es agregar la referencia a nuestro proyecto.

image

El código seria algo así

   1: <?xml version="1.0" encoding="UTF-8"?>

   2: <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

   3:     <Product Id="03e2a616-21e0-44b2-b0e2-7e87f2dc6b4c" Name="WiXApp" Language="1033" 

   4:            Version="1.0.0.0" Manufacturer="WiXApp" UpgradeCode="9c7b876a-4ee5-4a23-a5b3-2a2120602f46">

   5:         <Package InstallerVersion="200" Compressed="yes" />

   6:  

   7:         <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

   8:     <!--Definir el directorio-->

   9:     <Directory Id="TARGETDIR" Name="SourceDir">

  10:       <Directory Id="ProgramFilesFolder">

  11:         <Directory Id="ApplicationRootDirectory" Name="WiXApp"/>

  12:       </Directory>    

  13:       <Directory Id="ProgramMenuFolder">

  14:         <Directory Id="ApplicationProgramsFolder" Name="WiXApp"/>

  15:       </Directory>      

  16:       <Directory Id="DesktopFolder" Name="Desktop"/>

  17:     </Directory>

  18:     <!--Defenir el contenido del directorio-->

  19:     <DirectoryRef Id="ApplicationRootDirectory">

  20:       <Component Id="ApplicationFile" Guid="9c7b876a-4ee5-4a23-a5b3-2a2120602f46">

  21:         <File Id="ApplicationFile" Name="$(var.WiXApp.TargetFileName)" 

  22:               Source="$(var.WiXApp.TargetPath)" DiskId="1" KeyPath="yes"/>

  23:       </Component>

  24:       

  25:     </DirectoryRef>

  26:  

  27:      <!--Defenir el contenido del menu inicio-->

  28:     <DirectoryRef Id="ApplicationProgramsFolder">

  29:       <Component Id="ApplicationShortcut" Guid="a89a25ab-31ef-4ba1-8b2f-e07a80eb00f3">

  30:         <Shortcut Id="ApplicationStartMenuShortcut" Name="WiXApp" Description="WiXApp" 

  31:                   Target="[ApplicationRootDirectory]WiXApp.exe" 

  32:                   WorkingDirectory="ApplicationRootDirectory"/>

  33:         <Shortcut Id="UninstallProduct"

  34:                           Name="Desinstalar WiXApp"

  35:                           Description="Desinstalar WiXApp"

  36:                           Target="[System64Folder]msiexec.exe"

  37:                           Arguments="/x [ProductCode]"/>

  38:  

  39:         <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>

  40:         <RegistryValue Root="HKCU" Key="SoftwareMicrosoftWiXApp" Name="installed" Type="integer" Value="1" KeyPath="yes"/>

  41:       </Component>

  42:     </DirectoryRef>

  43:  

  44:     

  45:  

  46:     <Feature Id="ProductFeature" Title="WiXApp" Level="1">

  47:             <!-- TODO: Remove the comments around this ComponentRef element and the Component above in order to add resources to this installer. -->

  48:       <ComponentRef Id="ApplicationFile" />

  49:       

  50:       <ComponentRef Id="ApplicationShortcut"/>

  51:       

  52:  

  53:       <!-- Note: The following ComponentGroupRef is required to pull in generated authoring from project references. -->

  54:             <ComponentGroupRef Id="Product.Generated" />

  55:         </Feature>

  56:     </Product>

  57: </Wix>

Después compilamos. luego vamos al bin/DEbug y ejecutamos el instalador.

image

image

Ejecutamos.

image

Ahora si queremos desinstalar, lo podemos hacer desde la carpeta o vamos a desinstalar programas.

image

Como pueden ver es una poderos suite para generar instaladores.

Espero que les haya gustado.

Saludes.

Romny

Publicado por

Romny Duarte

Ingeniero de sistemas con experiencia en desarrollo web y móvil, geek, amante de la lectura y de la tecnología.

3 comentarios en “Creando Instalador con WiX”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *