Visual Studio alm rangers


Passo 2: Criando a Informação da Aplicação



Baixar 7.59 Mb.
Página39/62
Encontro30.10.2016
Tamanho7.59 Mb.
1   ...   35   36   37   38   39   40   41   42   ...   62

Passo 2: Criando a Informação da Aplicação


O Windows Installer provê um banco de dados das aplicações instaladas na máquina chamado ARP (Add Remove Programs). Este é um ótimo mecanismo para gerenciamento de do processo de instalação. Se todos os seus deployments forem feitos através do Windows Installer, você pode utilizar este banco de dados para determinar qual é a versão instalada da sua aplicação de banco de dados. Isto lhe permitirá gerenciar pré-requisitos de banco de dados, por exemplo.

O Windows Installer define Produtos que contém Funcionalidades que são constituídas de Componentes. Você pode estruturar seu produto de diversas maneiras. Este exemplo explorar uma funcionalidade principal no projeto Server e funcionalidades dependentes no projeto Database. A vantagem dessa estrutura é que ela garante que o projeto Server será instalado quando qualquer projeto de banco de dados for selecionado. Isolando os projetos de banco de dados em funcionalidades separadas é possível reutilizar o projeto de setup mesmo que apenas um dos projetos mude.

Este exercício irá explorar os pontos principais de um arquivo .msi. As tarefas em alto nível são:


  • Criar uma definição de Produto

  • Criar as Funcionalidades e Componentes

  • Criar a estrutura de Diretório

  • Criar a Interface de Usuário



  1. No Solution Explorer, abra o arquivo “Product.wxs” no projeto do instalador. (Figura 69)

A primeira seção deste arquivo define variáveis que nos ajudam a gerenciar as diferenças entre as plataformas x86 e x64. Você verá referências a estas variáveis em outras seções da instalação.

********************************************************************************************

Define variables to be used during install

******************************************************************************************** -->













































*************************************************************************************** -->
A próxima seção define Product(name). No nosso caso, o nome do produto é WiXDBProSample.

Name="!(loc.ProductName)"

Language="1033"

Version="$(var.Version)"

Manufacturer="!(loc.ProductManufacturer)"

UpgradeCode="1e9672fc-86de-4073-957b-5fb712688b04">




O atributos em Name, Version e Manufacturer serão exibidos na seção Programas e Recursos do Painel de Controle. (Figura 72)

Figura 72 Exemplo da informação exibida no Painel de Controle após a instalação

O trecho $(var.Version) faz referência a propriedade version que definimos na seção de variáveis.

Você também irá notar que nós localizamos algumas variáveis !(loc.ProductName) as quais você pode reconhecer através do prefixo .loc. As traduções estão definidas no arquivo específico para localização Strings.wxl. (Figura 69)



  1. No Solution Explorer, abra o arquivo Strings.wxl que está na pasta Resources.



WiXDBProSample v1.0

WiXDBProSample

Microsoft

!(loc.ProductNameNoVersion)

!(loc.ProductName)

!(loc.ProductNameNoVersion)

http://codeplex
Databases

Customers

Sales

Customers Server Settings

Você pode criar versões diferentes deste aquivo alterando o atributo Culture="en-us" para o idioma desejado.



  1. Na sequeência iremos definir algumas propriedades. As propriedades que estão em caixa alta são denominadas “public properties” e você pode definir os seus valores ao executar o arquivo .msi a partir da linha de comando. Iremos demonstrar essa opção adiante.

*****************************************************************************************************

Define General Use Properties. Properties specific to components are in the individual component .wxi files

****************************************************************************************************** -->

general purpose properties for detecting OS and Framework-->

wixNetFxExtension generated properties that we want to use-->

This property is used to detect the presence of SQL 2008-->


Key="$(var.SoftwareKey)\Microsoft\Microsoft SQL Server\100" Name="VerSpecificRootDir" />




************************************************************************************************* -->
As propriedades que nos interessam agora são:


CUSTOMERSDB É utilizado para definir o nome do banco de dados Customers. Esta opção é muito útil em desenvolvimento e teste, uma vez que é possível executar o instalador diversas vezes para criar bancos de dados específicos para desenvolvimento ou teste.



SALESDB É utilizado para definir o nome do banco de dados Sales.

SQLINSTANCE É utilizado para definir o valor da instância SQL.

IMPORTANTE

Embora o VsDbCmd lhe permita controle do servidor para o qual você irá fazer o deploy, NÃO FAÇA deploy para um servidor diferente de localhost. O efeito disso seria registrar o software como tendo sido instalado na Maquina1 quando na verdade o software foi instalado em Maquina2. Além disso, podem haver problemas como controle da conta de usuário e de delegação de acesso (double hop). Adicionalmente, você irá perder todas as vantagens de gerenciamento do Windows Installer.

A próxima seção define uma série de pré-requisitos para a instalação.

*****************************************************************************************************

Define General Prerequisite conditions.

****************************************************************************************************** -->

Require Administrator privileges-->

Privileged




If Installer is 64 bit require 64bit OS-->



VersionNT64






If Installer is 32 bit require 32bit OS-->



VersionNT And Not VersionNT64






Require Windows Vista or Windows Server 2008 or higher-->

Installed Or VersionNT >= 600




Require .Net Framework 2.0 SP2-->

Installed Or (NETFRAMEWORK20 And NETFRAMEWORK20_SP_LEVEL >= "#2")




Require .Net Framework 3.5 SP1-->

Installed Or (NETFRAMEWORK35 And NETFRAMEWORK35_SP_LEVEL >= "#1")





************************************************************************************************* -->
NOTA

É importante notar que estas condições se aplicam para toda a instalação. Algumas condições aplicam-se somente para Funcionalidades especifícias ou para Componentes. Mais adiante demonstraremos uma forma de determinar se o SQL Server está instalado quando a funcionalidade Database é selecionada.

A próxima seção define a estrutura de diretório onde iremos copiar os arquivos do nosso programa.

*****************************************************************************************************

Define the directory structure where files should be installed

****************************************************************************************************** -->



install the files under Program Files or Program Files x86-->



the !loc.* values are localization variables that define the friendly names displayed to the user-->


















Add a Menu Item to the All Programs structure-->







Key="$(var.SoftwareKey)\Microsoft\!(loc.ProductKey)">



Type="string"

KeyPath="yes" />



Target="[$(var.SystemFolder)]msiexec.exe"

Arguments="/x [ProductCode]"

Directory="ProductMenuFolder"

Description="Uninstalls !(loc.ProductName)" />

On="uninstall" />












NOTAS

  • O diretório SourceDir é uma funcionalidade embutida no WiX que refere-se ao drive de instalação.

  • O atalho UninstallProduct é uma forma conveniente de proporcionar a desinstalação do seu produto. Isto pode ser muito útil durante o desenvolvimento ou para debugging.

A próxima seção define as Funcionalidades e Componentes do produto.



É fácil visualizar estes itens através da interface definida na Figura 73. Funcionalidades e Componentes são grupos de arquivos que definem uma unidade coesa do programa. Quando você define os arquivos que fazem parte do Componente ou da Funcionalidade eles recebem GUIDS. Isto permite ao serviço de instalação rastrear esses arquivos do programa de forma que seja possível escrever upgrades ou correções pontuais que afetem apenas alguns arquivos específicos e não necessariamente o produto inteiro.

Figura 73 Interface de instalação de Componente que é renderizada a partir de propriedades especificadas no XML do instalador

Esta interface (Figura 73) é mapeada para a estrutura de diretório através da seção Features.

*****************************************************************************************************

Define the features to display in the UI

****************************************************************************************************** -->






















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




NOTA

Note a referência ao componente para o VsDbCmd e para o DatabaseServer1. Eles são definidos como parte da funcionalidade Databases e serão instalados quando Database1 ou Database2 forem selecionados.


A próxima seção define as ações customizadas que iremos executar como parte da nossa instalação

O Windows Installer não foi de fato desenvolvido para executar funcionalidades customizadas. Ele realiza um excelente trabalho de mapeamento entre arquivos, componentes e banco de dados com chaves de registro associadas. Apesar disso, você precisa utilizar passos alternativos caso queira adicionar funcionalidades especiais. Os elementos Custom actions definem as informações que são necessárias para executar o comando. Os comandos atuais são executados no arquivo “Sequences.wxi”'>Sequences.wxi”.



**************************************************************************************************************

Define General purpose CustomActions. CustomActions specific to Components are defined in the component.wxi

files.

******************************************************************************************************************* -->



Some prerequisites depend on whether a particular feature and/or component is installed.

You cannot use Condition for this. Conditions apply to the entire install. You can set a property

through a CustomAction and then condition when the CustomAction is executed.

Use this approach if you want an install with multiple features that don't necessarily need SQL Server -->




These custom actions create the SERVER property used by VsDbCmd. All installs are made on the local machine.

DO NOT try to run an .msi on Machine A to deploy to Machine B. Therefore the server is always localhost.

We do need to provide a way to deploy to specific instances on a SERVER -->




A ação PrerequisitesExSql08 irá disparar um erro caso as Custom Actions sejam executadas. Explicaremos mais sobre este ponto ao explorarmos o arquivo Sequences.wxi.

As outras duas ações são utilizadas para construer o nome do servidor ao executarmos o VsDbCmd. No arquivo Sequences nós iremos utilizar expressões condicionais para definir a propriedade SQLServer para localhost ou localhost\.

As seções finais fazem referência ao arquivo Sequences.wxi e aos arquivos de interface para definir a sequência de ações customizadas e de formulários a serem exibidos.

************************************************************************************************* -->



****************************************************************************************************

Define the references to the UI of this install.

****************************************************************************************************** -->

use this to invoke UI\* defined customized version of WixUI_FeatureTree -->





************************************************************************************************* -->


  1. Por último, nós precisamos fazer referência a todos os demais arquivos que fazem parte do projeto WiX.

Nós iremos explorá-los em detalhe nos exercícios seguintes.













Catálogo: 2012
2012 -> Fapesp e inpe promovem workshop para discutir relatório do ipcc sobre Riscos de Extremos Climáticos e Desastres nas Américas do Sul e Central
2012 -> Anima Mea Concerto no Convento Corpus Christi, 14junho2015
2012 -> Branches e merge com Visual Studio Team Foundation Server 2012
2012 -> Perfil: Time de Qualidade, Testadores
2012 -> Lista de Biologia Vanessa / Frente a volume 2
2012 -> CÂmara municipal de sapopema estado do paraná cnpj: 77. 774. 487/0001-94 Av. Manoel Ribas, 520, cep – 84. 294-000 Fone/Fax (43) 3548-1258
2012 -> Instituto nacional de estudos e
2012 -> Gabinete do ministro
2012 -> Indice de leis complementar 2012 lei 114 À 154 lei complementar 114 de 19 de janeiro de 2012
2012 -> Agenda do presidente do Ibram, Angelo Oswaldo de Araújo Santos 30 de dezembro de 2014

Baixar 7.59 Mb.

Compartilhe com seus amigos:
1   ...   35   36   37   38   39   40   41   42   ...   62




©bemvin.org 2020
enviar mensagem

    Página principal
Prefeitura municipal
santa catarina
Universidade federal
prefeitura municipal
pregão presencial
universidade federal
outras providências
processo seletivo
catarina prefeitura
minas gerais
secretaria municipal
CÂmara municipal
ensino fundamental
ensino médio
concurso público
catarina município
Dispõe sobre
reunião ordinária
Serviço público
câmara municipal
público federal
Processo seletivo
processo licitatório
educaçÃo universidade
seletivo simplificado
Secretaria municipal
sessão ordinária
ensino superior
Relatório técnico
Universidade estadual
Conselho municipal
técnico científico
direitos humanos
científico período
espírito santo
pregão eletrônico
Curriculum vitae
Sequência didática
Quarta feira
prefeito municipal
distrito federal
conselho municipal
língua portuguesa
nossa senhora
educaçÃo secretaria
segunda feira
Pregão presencial
recursos humanos
Terça feira
educaçÃO ciência
agricultura familiar