Pré-requisitos
Para trabalhar com os projetos instalados (.wixprj) você vai precisar instalar o Windows Installer XML Toolset 3.5. Como trata-se de um projeto do Codeplex, você pode fazer o download através do site do Codeplex em Windows Installer XML (WiX) toolset.4 Se você estiver utilizando o HOL pré-instalado, o toolset já estará instalado na máquina. Também está disponível na sua máquina em C:\HOL\Prerequisite Software\Prerequisite\Wix35.msi.
Objetivos do Cenário
Saber como utilizar as funcionalidades do Wix para fazer deploy de banco de dados
Customizar a interface do instalador
Customizar sequências de instalações
Incluir redistribuíveis para o deployment do banco de dados
Duração estimada: 90 minutos
Passo 1: Estruturando a solução
Inicie o Visual Studio 2010.
Abra a solução. No menu principal clique em File e então clique em Open project. Vá para o camimnho em C:\HOL\DatabaseProjectGuidance\BuildAndDeploy\WiXDBProSample.
Abra o aqrquivo de solução WiXDBProSample.sln.
IMPORTANTE
Se você receber um erro alertando que o projeto .wixproj não pode ser aberto porque o tipo de projeto não é suportado, você provavelmente não possui o Windows Installer XML Toolset 3.5 instalado. Dê uma olhada na seção de pré-requisitos para obter instruções de como instalar o toolset.
Figura 67 Mensagem de erro caso você não possua o WiX installer toolset instalado
A solução tem uma estrutura específica. Esta estrutura irá auxiliá-lo a manter a rastreabilidade às referências de arquivo no seu projeto WiX. A estrutura importante está na pasta BuildSupportFiles que abriga todos os redistribuíveis do VsDbCmd. Por padrão, estes redistribuíveis são instalados pelo instalador do Visual Studio 2010 em $(VisualStudioInstallDir)\VSTSDB\Deploy.
Esta solução contém um projeto do tipo server e um do tipo CLR. O projeto Sales faz referência ao projeto Customers que por sua vez faz referência ao projeto CustomersCLR. Ambos os bancos de dados são publicados no mesmo servidor representado por CustomerServer. Nós podemos explorar uma série de cenários de instalação através desta solução. O que não está coberto são os cenários envolvendo projetos parciais e projetos compostos. Você pode ter uma visão geral do projeto na Figura 68.
Figura 68 Visão geral da solução do projeto
O projeto de instalação consiste de diversos arquivos, mostrados na Figura 69.
Figura 69 Visão geral do projeto de instalação resultante
A maior parte das funcionalidades do instalador estão no arquivo Product.wxs.
Os arquivos na pasta Common e Databases são os arquivos os quais precisamos empacotar e instalar.
Os arquivos na pasta UI definem a interface de usuário.
Os arquivos em Resources são arquivos de apoio.
O arquivo Sequences.wxi define a ordem na qual ações especiais devem ocorrer.
Faça referência aos projetos dependentes no projeto Setup. Quando fazemos referência a um projeto a partir de um projeto Wix é possível acessar o diretório desse projeto referenciado. Essa característica torna o gerenciamento de arquivos mais simples.
No Solution Explorer, localize o projeto com o nome Setup. Clique com o botão direito na pasta References e selecione Add reference. O diálogo Add Reference será exibido (Figura 70).
Figura 70 Diálogo Add Reference para os projetos dependentes
Selecione todos os projetos exceto o projeto CustomersCLR. Como o projeto Customers faz referência ao projeto CustomersCLR o assembly .dll correspondente será copiado no diretório de destino do projeto Customers.
Clique em Add para adicionar as referências e cliquem em OK para aplicar as mudanças e fechar o diálogo.
Após definir as referências de projeto você poderá fazer referência aos arquivos de saída dos projetos.
Projetos de banco de dados e projetos de servidor geram a saída de um build para a pasta \sql\$(configuration), onde $(configuration) define a configuração de build utilizada, por exemplo, Debug ou release. (Figura 71) Você pode exibir os arquivos e pastas na estrutura de pastas que não estão sob controle do projeto clicando no ícone Show all files no topo do Solution Explorer.
Figura 71 Pasta de saída dos artefatos resultantes do build
Estes são os arquivos que iremos publicar utilizando o VsDbCmd. Para fazer referências a arquivos que estão em projetos referenciados utilizamos a seguinte forma:
Source="$(var.Customers.TargetDir)Customers.dbschema"
Quando fazemos referência a um projeto o WiX automaticamente criar uma variável var.
. A partir daí é possível utilizar macros padrão do MSBuild como TargetDir, ProjectDir, SolutionDir, etc.
Compartilhe com seus amigos: |