Passo 3: Configurando os redistribuíveis
Para fazer o deploy de um projeto para um banco de dados nós precisamos dos redistribuíveis do VsDbCmd redistributables instalados na máquina. Conforme mencionado anteriormente, estes arquivos estão em um local especial da solução. Isso nos permite conectar na estrutura de macros do Visual Studio.
No Solution Explorer, vá para o projeto de instalação e abra o arquivo VsDbCmd.wxi na pasta Components\Common.
Esta estrutura será repetida para cada projeto de banco de dados que fizer parte da instalação. Vamos avaliar este arquivo em detalhe para que seja possível melhor compreender o processo.
O primeiro trecho instrui ao WiX que este arquivo é um fragmento do arquivo maior Product.wxs. Lembre-se de que nós incluímos este arquivo no exercício anterior.
xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
IMPORTANTE
Há uma estrutura de registro específica que deve existir para que o VsDbCmd funcione. Isso é um erro do VsDbCmd na versão final do Visual Studio 2008. A ação a seguir nos permitirá criar as entradas de registro necessárias caso você esteja utilizando Visual Studio 2008.
Por que nós definimos uma CustomAction ao invés de utilizar o elemento ? Esta abordagem nos permite controlar quando uma criação de registro deve acontecer baseada em decisões por Funcionalidade ou Componente. Assim, se uma funcionalidade de banco de dados não for selecionada para uma instalação em suma máquina em particular, estas chaves não serão geradas desnecessariamente. Você verá como especificar essa condição no exercício de “Sequências”.
A seguir definiremos o componente e o colocamos em um diretório.
Nós criamos a estrutura de diretório no exercício anterior e agora iremos fazer referência a essa estrutura, extendendo-a para o Componente.
Adicione os arquivos e componentes que o VsDbCmd requer para execução. (Figura 74)
Por padrão, eles estão localizados \Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy. Esta solução possui uma cópia na pasta Solution\BuildSupportFiles\AnyCpu\VsDbCmd.
Figura 74 Arquivos necessários para executar o VSDBCMD incluídos no projeto de instalação
Para incluí-los no instalador é necessário alterar o XML conforme o script abaixo:
NOTA
Existem alguns pontos a serem destacados:
$(var.SolutionDir) Esta é a macro do Visual Studio que aponta para o diretório da Solução.
Os atributos Source e Name são específicos. Se o caminho Source não não coincidir você irá obter um erro de compilação. De toda forma, se o atributo Name estiver incorreto a instalação será feita com o nome incorreto, o que irá provocar erros em tempo de execução. Outro efeito é que serão exibidas mensagens de erro que poderão iludí-lo quanto ao real problema do contexto.
O atributo KeyPath é um requisito do WiX. Todo Componente deve ter pelo menos um arquivo com o atributo KeyPath.
Finalmente, existem alguns requisites do WiX que precisam ser incluídos para a realização de uma desinstalação.
Name="VsDbCmd.exe command prompt"
Description="VsDbCmd.exe command prompt"
WorkingDirectory="INSTALLDIR"
Advertise="yes"/>
Compartilhe com seus amigos: |