Desenvolvimento - ASP. NET

Curso ASP.NET 3.5 em VB.NET e C# - Distribuindo sua Aplicação

Aplicações Web na sua maioria são instaladas em um único ou em alguns poucos servidores. Você pode simplesmente copia-la para o destino ou até mesmo gerar um instalador, como numa aplicação convencional.

por Fernando Amaral



Normalmente todo o software, depois de finalizado, deve ser distribuído. Aplicações convencionais na sua maioria são distribuídas através de instaladores específicos, o que permite que qualquer usuário possa instalar a aplicação em seu computador de maneira fácil, simplesmente seguindo alguns passos básicos.

Aplicações Web na sua maioria são instaladas em um único ou em alguns poucos servidores. Você pode simplesmente copia-la para o destino ou até mesmo gerar um instalador, como numa aplicação convencional.

Mas além de distribuir sua aplicação existem outros cuidados que você deve ter antes de colocar sua aplicação em produção.

Primeiramente quando você cria sua aplicação, por padrão ele vai estar com a depuração habilitada. A depuração é habilitada no arquivo web.config:

<compilation debug="false" strict="false" explicit="true" />

A depuração, como você deve imaginar, permite que você depure seu aplicativo. Isto tem um custo: Alguns arquivos temporários têm que ser mantidos e o desempenho da aplicação é afetado. Quando você roda seu aplicativo pela primeira vez, dentro da IDE do VS, uma caixa de dialogo informa que a depuração esta desabilitada. Você pode habilitá-la ou rodar a aplicação sem depuração, que seria o equivalente a executá-la fora da ambiente do VS:

Ao autorizar a habilitação de depuração, seu web.config é alterado:

<compilation debug="true" strict="false" explicit="true"/>

O que isto tem a ver com distribuição de aplicação? É importante lembrar de desabilitar a depuração quando compilar sua aplicação para distribuição, pois será gerado um código otimizado e mais compacto.

Outra dica importante é colocar a aplicação em modo de Realise, no próprio VS, como na imagem abaixo:

Utilizando Copy Web Site

A ferramenta Copy Web Site permite fazer uma copia de sua aplicação, seja para pasta em um sistema de arquivo, um servidor FTP ou até mesmo um diretório sobre o IIS.

Para utilzir a ferramenta clique no ícone  no solution Explorer.

A ferramenta possui uma interface simples, mostrando a esquerda os arquivos da sua apalicação e a direita os arquivos no destino:

O primeiro passo é apontar o destino, para isso clique em Connect. Neste exemplo escolhi uma pasta local em meu comutador:

Você pode agora tranferir normalmente um arquivo de um  lado para o outro.

Note que arquivos alterados e não atualizados sem marcados com uma seta Azul, arquivos escluidos com um icone vermelho:

O processo de copia porem simplismente copia a aplicação da forma em que ela se encontra. Para que possamos fazer uma copia para publicação, vamos utilizar o recurso especifico com este fim.

Publicação

A ferramanta de publicação cria uma cópia pré-compilada de seu site. Para aciona-la, basta clicar com o botão direito sobre o nome da aplicação no Solution Explorer e escolher Publish. A caixa de dialo de publicação é exibida:

A escolha do local é feita da mesma forma que a ferramenta de copia: pode ser uma pasta, um FTP ou mesmo um diretorio virtual do IIS.

Após escolhido o local, basta clicar em Publish. Observe no diretório de destinho que é gerado uma pasta de nome bin, com um assembly em seu interior. Note também que arquivos .vb ou .cs não são incluidos na publicação:

Criando um instaldor

Outra forma é criar um instaldor. O Visual Studio 2005 permite criar projetos de instação para praticamente qualquer tipo de aplicação.

Para criar uma instalador para um web site, clique com o botão direito sobre a solução,  selecione Add New Project.

Em Other Project Type selecione Setup and Deployment a esquerda, e em templates selecione Web Setup Project:

No projeto criado, a pasta WebApplicationFolder representa a aplicação a ser instalada. Para adicionar sua apliação ao instalador clique com o botão direito sobre esta pasta, selecione Project Output

 Na caixa de dialogo Add Projectt Output Grop são exibidos os projetos da solução, se existir apenas um como no exemplo abaixo, simplismente clique em OK.

Bom, neste ponto você já tem o instalador Pronto! Para testa-lo basta clicar com o botão direito sobre o projeto do instaldor e selecionar Install. O instalador do projeto é executado:

Durante a instalação você deve informar o nome do Site e do diretório virtual.

Após a instalação você pode desintala-la, para isso clique com o botão direito sobre o projeto do instalador e selecione Unistall.

Mais recursos de instalação

O que você fez foi criar um instalador sem praticamente qualquer configuração, mas as opções que você tem são enormes.

Primeiramente, ao clicar no projeto do instalador, veja que você pode personalizar diversas atributos do instalador, como autor, descrição, nome do produto etc.

Existem ainda diversos editores que podem ser acessados através do solution explorer, são eles:

· Properties: Permite configurar algumas caracteristicas do instalador.

· File System Editor: Permite adicionar ou remover arquivos ao instaldor, bem como atalhos para a aplicação na maquina de destino.

· Registry Editor: Permite manipular o registro do Windows durante a instalação.

· File Type Editor: Permite associar extensões de arquivo com a programa instalado.

· User Interface Editor: Talvez o mais interessante e trabalhosos, permite criar, remover e personalizar as janelas que serão exibidas durante o processo de instalação.

· Custom Action Editor: Permite executar ações personalizadas durante a instalação. A ação deve ser associada a uma fase, como Install, Commit, RollBack, Unistall

Lauch condition Editor: Permite avaliar condições para a instalação.

Fernando Amaral

Fernando Amaral - Certificado PMP pelo PMI, CDIA+ pela CompTia, MCP, MCAD, MCSD, MCDBA, MCT pela Microsoft. Pós Graduado em Gestão de Sistemas de Informação (UNIDERP) e Melhoria em Processos de Software (UFLA). Atualmente reside em Campo Grande, MS, onde presta consultoria, treinamentos e palestras na área de TI.
Blog:
http://www.fernandoamaral.com.br.