Instaladores para Aplicações Windows/WiX
O WiX é um conjunto poderoso de ferramentas disponível para criar sua experiência de instalação do windows. Este conjunto de ferramentas permite que os desenvolvedores criem instaladores para o Windows Installer, que é o mecanismo de instalação do Windows.
O núcleo deste conjunto de ferramentas de compilação cria pacotes do Windows Installer usando os mesmos conceitos de compilação que o restante do seu produto. O seu código-fonte é compilado e, em seguida, vinculado para criar executáveis. Estes executáveis podem ser: pacotes de instalação do .exe, pacotes de instalação do .msi, módulos de mesclagem do .msm e correções do .msp. As ferramentas de compilação de linha de comando WiX funcionam com qualquer sistema de compilação automatizado. Além disso, o MSBuild é suportado a partir da linha de comando, Visual Studio e Team Build.
O WiX inclui várias extensões que oferecem funcionalidades além do Windows Installer. Por exemplo, o WiX pode instalar sites do IIS, criar bancos de dados do SQL Server e registrar exceções no Firewall do Windows, entre outros.
Com o Burn, o bootstrapper do WiX, você pode criar bundles de instalação que instalam pré-requisitos, como o .NET Framework e outros tempos de execução, junto com seu próprio produto. O Burn permite que você faça o download de pacotes ou combine-os em um único .exe para download.
O WiX SDK inclui bibliotecas gerenciadas e nativas que facilitam a gravação de código que funciona com o Windows Installer, incluindo ações personalizadas em C # e C ++.
Apresenta algumas diferenças em relação a outros instaladores em relação a sua syntax cuja descrição é mais declarativa do que imperativa e caracteriza-se por conter código fonte XML ao invés de Interface Gráfica como forma de montagem da aplicação.
Além disso oferece outro nível de integração com processo de desenvolvimento do setup, ou seja, é possível fazer modificações em paralelo ao desenvolvimento, sincronizando com a aplicação bem como oferecer suporte a equipes de produção do projeto, o que quebra com o paradigma de arquivos setup serem escritos somente quando a aplicação central for terminada.