Comenzando con wix

Instalación o configuración

Descargue e instale WiX Toolset desde wixtoolset.org.

El instalador de WiX Toolset proporciona también la integración con Visual Studio. Después de la instalación, debería poder crear proyectos específicos de WiX.

Advertencias

Se necesitan derechos de administrador.

Algunas versiones de WiX son compatibles solo con una versión particular de Visual Studio:

  • V3.11 y posteriores no incluyen las extensiones para Visual Studio, debe descargar las extensiones para sus versiones de Visual Studio
  • V3.10 y anteriores no funcionan con Visual Studio 2017 pero incluyen las plantillas de proyecto para Visual Studio

Detalles

El instalador está construido con WiX y presenta una ventana inusual: Ventana del instalador de WiX

Está compuesto por 6 partes:

  • WiX Toolset: muestra la versión instalada por el instalador e inicia el sitio web de Wix Toolset al hacer clic
  • Licencia: mostrar la licencia
  • Instalar: iniciar la instalación
  • Actualizado: compruebe si hay una nueva versión disponible
  • Noticias: lanza las noticias de WiX
  • Salir: cerrar el instalador

Configuración sencilla

Este ejemplo asume que ya existe una solución con una aplicación llamada MyApp.

  • Agregar un nuevo proyecto a la solución: Agregar proyecto de instalación

  • En el proyecto de configuración, agregue una nueva referencia a MyApp desde la pestaña Proyectos: Agregar referencia de MyApp

  • En el archivo Producto.wxs, valorice el atributo Fabricante del nodo Producto con HelloWorld:

En el nodo Fragmento que contiene los nodos Directorio, ajuste el último con un nuevo Directorio:

<Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
    <Directory Id="INSTALLFOLDER" Name="MyApp.Setup" />
</Directory>

En el nodo ComponentGroup, descomente los nodos comentados y elimine TODO y luego agregue un nodo File en el Component:

<File Source="$(var.MyApplication.TargetPath)" />

El atributo Fuente especifica dónde encontrar el archivo para empaquetar durante la compilación. En lugar de codificar valores para estos atributos en nuestro código fuente, usamos las variables del preprocesador de WiX que se pasan al compilador de WiX.

  • Construir el proyecto WiX.

¡Eso es todo! Ahora tiene un instalador en funcionamiento que instala y desinstala la aplicación.


Archivo Producto.wxs completo:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="MyApp.Setup" Language="1033" Version="1.0.0.0" Manufacturer="HelloWorld" UpgradeCode="52f2c69b-5901-4d18-bb96-8c1c86cd1a3e">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
        <MediaTemplate />

        <Feature Id="ProductFeature" Title="MyApp.Setup" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
        </Feature>
    </Product>

    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
                    <Directory Id="INSTALLFOLDER" Name="MyApp.Setup" />
                </Directory>
            </Directory>
        </Directory>
    </Fragment>

    <Fragment>
        <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
            <Component Id="ProductComponent">
                <File Source="$(var.MyApp.TargetPath)" />
            </Component>
        </ComponentGroup>
    </Fragment>
</Wix>