Distribuindo sua aplicação usando o Package and Deployment Wizard
Bem , você acabou de ler aquela 'Biblia' sobre o Visual Basic e já esta se sentindo um programador profissional ; mandou fazer os cartões com os dizeres: "Desenvolvedor Visual Basic" e já tem planos para conquistar o mercado com seus sistemas.Ai você lembrou que o livro não falou nada sobre como distribuir a sua aplicação; então você entrou em pânico e...
Calma, vamos abordar este assunto um tanto esquecido e procurar passar os conceitos básicos envolvendo a distribuição de sua aplicação Visual Basic , afinal seu talento não pode ficar escondido. Só vou pedir paciência pois não tenho tempo de escrever o artigo todo de uma vez (já perceberam isso , não é ???) , mas devagar chegamos lá. Então vamos começar pelo começo....
1- Definindo as propriedades do seu projeto
Uma das primeiras coisas que você , como um profissional , pode fazer é atribuir á sua aplicação informações sobre: o nome de sua empresa, o número da versão , o número da revisão e etc... O Visual Basic permite a você armazenar todas essas informações através da utilização do objeto App . O objeto App é um objeto pré-definido que não necessita ser criado pela sua aplicação.
A seguir na tabela 1, temos as propriedades mais comuns do objeto APP usadas para atribuir informação a sua aplicação.
Propriedade | Descrição |
Comments | Retorna uma string contendo comentários sobre a sua aplicação. Acessível em tempo de execução. |
CompanyName | Informa o nome da empresa ou do desenvolvedor. Acessível em tempo de execução. |
EXEName | Informa o nome do arquivo .EXE sem extensão . |
FileDescription | Uma string que descreve o propósito da aplicação. |
HelpFile | Define o arquivo de Help associado a aplicação. |
LegalCopyright | Informa a notificação de copyright notification string. |
Major | Informa a maior número da versão (Ex:, informa 3 em 3.2). |
Minor | Informa o menor número da versão (Ex: informa 3 em 4.3). |
Path | Informa o diretório de inicialização da aplicação. |
PrevInstance | Retorna um valor se uma instância da aplicação já esta sendo executada. |
Product Name | Retorna o nome do produto associado a aplicação. |
Revision | Informa o número da revisão da aplicação |
Esta propriedades são definidas na janela de diálogo Project Properties do Visual Basic.
Você pode definir as
propriedades de sua aplicação nos tópicos: 1-Version Number: a Maior (Major) a Menor(Minor) e revisão(Revision). Definindo também se elas serão autoincrementadas. 2-Application : o Titulo (Title) e o Ícone (Icon) 3-Version Information: Comments, Company Name, File Description, Legal Copyright, etc.. |
Após definir as propriedades podemos acessá-las quando o projeto estiver em execução usando código Visual Basic. Podemos acessar essas informações clicando com o botão direito do mouse sobre o arquivo EXE da aplicação e selecionando Propriedades do menu. Ver figura abaixo:
Propriedades definidas
para o projeto vbbrowser. Basta clicar com o botão direito do mouse sobre o arquivo EXE da aplicação e selecionar propriedades do menu suspenso. |
Os valores das propriedades do objeto App estão embutidas em formato binário dentro do arquivo EXE da aplicação e por isso não podem se alteradas em tempo de execução.
Vejamos como ler as propriedades atribuidas ao objeto App em tempo de projeto usando código Visual Basic
Private Sub Form_Load() Dim strVerNum strVerNum = CStr(App.Major) & "." & CStr(App.Minor) & "." & CStr(App.Revision) lblnome.Caption = App.ProductName lblversao.Caption = strVerNum lblpath.Caption = App.Path lblempresa.Caption = App.CompanyName lblcomentarios.Caption = App.Comments lbldescricao.Caption = App.FileDescription lbltrademark = App.LegalTrademarks lblcopy.Caption = App.LegalCopyright End Sub |
O código acima tem o seguinte resultado :
Percebeu a importância de conhecer as propriedades do objeto App ?
Compilando o seu projeto
Antes de ser compilado , o seu projeto é uma coleção de arquivos texto e gráficos que foram criados na Interface do Visual Basic (IDE - Integrated Development Environment ). Para poder executar o seu projeto independentemente da IDE , voce tem que transformar estes arquivos em um arquivo executável , a este processo chamamos compilação ou criação de um executável .
O Visual Basic 6.0 suporta dois formatos no qual você pode compilar o seu código: P-code ou native code.
Ao compilar o seu projeto na opção P-code, o arquivo executável gerado irá atuar como um código interpretado. Isto significa que o código será lido por um mecanismo, os arquivos DLL's de runtime, que determina qual instrução executar.
Compilando no modo native code , os arquivos do projeto são transformados em um código binário que usa as características do processador da sua máquina. Este código é executado com mais rápide , mas ainda vai precisar das Dlls de runtime, sendo que a única diferença é que as DLL são acessadas e usadas de modo diferente pelo arquivo executável criado.
Para compilar o seu projeto no formato Standard EXE , siga o roteiro abaixo:
Será gerado um arquivo com extensão .EXE que poderá ser executado fora do ambiente IDE do Visual Basic mas que ainda não esta completamente pronto para ser executado em um computador que não tenha o Visual Basic instalado.
Usando o Package and Deployment Wizard
Após criar sua aplicação você pode distribuí-la a terceiros , e pode fazer isto em discos, CDS , através de uma rede , em uma intranet ou na internet.
Você pode usar duas ferramentas para gerar o pacote de instalação e distribuir suas aplicações : The Package and Deployment Wizard ( antigo Setup Wizard) ou o Setup TooKit fornecido com o seu Visual Basic.
O Package and Deployment Wizard veio substituir o Setup Wizard , e com ele podemos criar nosso pacote de instalação para qualquer tipo de aplicação criada com o Visual Basic.
Para começar inicie o Visual Basic e no Menu Add-Ins , verifique se o Package and Deployment consta como uma opção do menu (fig 1.0) . Se esta opção não estiver listada , você vai ter que instala-lá clicando na opção Add-In Manager e selecionando o Package and Deployment para ser carregado ao iniciar o VB (Load on Startup).(fig.2.0)
Obs: Voce pode iniciar o Package and Deployment Wizard a partir do menu Programas -> Microsoft Visual Studio 6.0 -> Microsoft Visual Studio Tools - > Package & Deployment Wizard.
fig 1.0 - O Package and Deployment no menu Add-Ins |
fig 2.0 - Instalando o Package and Deployment Wizard no menu Add-Ins |
Criando um pacote para instalação
Para criar um pacote de instalação, vamos iniciar o Visual Basic e carregar o projeto para o qual desejamos gerar a instalação. Escolhemos o projeto App.vbp que exibe as propriedades app , as etapas são as seguintes:
1-) Inicie o Package and Deployment Wizard a partir do menu Add-Ins. O nome do projeto carregado é indicado em Active Project:
2-) Vamos selecionar a opção Package , pois queremos montar discos de instalação para distribuição em discos de 1.44 Mb. Se o projeto não foi compilado o wizard avisa o usuário e dá a opção para compilação
3-) A tela a seguir é exibida solicitando ao usuário que escolha entre criar um pacote para ser instalado pelo programa setup.exe - Standard Setup Package ; ou criar um um arquivo com uma lista de informações sobre os componentes exigidos pela aplicação - Dependency File.Vamos escolher a primeira opção.
4-) A próxima tela solicita que você indique em qual pasta voce vai armazenar os arquivos criados pelo wizard para montar o seu pacote de instalação.
5-) A seguir temos a tela onde os arquivos necessários para a instalação são exibidos. Para incluir outros arquivos necessários a sua aplicação tais como: arquivos de ajuda, banco de dados, etc... clique no botão Add... e selecione o arquivo que você vai incluir em seu pacote de instalação.
Existem três tipos de arquivos necessários que irão compor o pacote de instalação:
6-) Na próxima etapa devemos escolher o tamanho do arquivo para distribuição. Podemos escolher gerar um único arquivo cab ou múltiplos cabs . Esta última opção permiter gerar tantos cabs quantos necessários ao tamanho por nós escolhido. Vamos selecionar a opção Multiple cabs e para cab size 1.44 MB.
Obs: Os CABs (cabinets files) são um tipo de arquivo especial criado pela Microsoft ; eles são parecidos com os ZIP files. O WINZIP versão 7.0 permite visualizar o conteúdo de um arquivo CAB .
7-) A seguir indique o titulo que deseja usar em sua aplicação, ele será exibido durante a instalação.
8-) A tela a seguir especifica o grupo para os ícones e os ícones a serem criados. Eles identificarão sua aplicação e permitirão o acesso a sua aplicação. Como nossa aplicação terá somente um ícone , vamos remover o grupo gerado com o título dada aplicação e criar um grupo e item de programa com o nome do nosso projeto - App. Perceba que você pode finalmente escolher o grupo de programas e os itens pertecentes ao grupo.
9-) A proxima tela permite que voce altere a localização de cada arquivo que não for requerido pelo sistema. Todos os arquivos do sistema são automaticamente instalados no diretorio \Windows\System. Vamos deixar inalterado o local indicado pelo wizard.
O significado das macros mostradas em - Install Location - é dado na tabela abaixo:
Nome da Macro | Diretório de destino |
$(AppPath) | Diretório da aplicação informado pelo usuário |
$(ProgramFiles) | Diretório no qual as aplicações são geralmente instaladas |
$(CommonFiles) | Diretório de instalação dos arquivos compartilhados |
$(WinPath) | Diretório usado pelo Windows |
$(WinSysPath) | Diretório System do Windows |
$(MSDAOPath) | Local armazendo no registro do Windows para a DAO |
$(Font) | Diretório da Fontes |
10-) Certos arquivos tais como DLL's e OCXs são considerados arquivos compartilhados. Se estivermos instalandos estes arquivos como parte de nosso pacote de instalação podemos marcá-los como compartilhados de maneira que quando houver uma desinstalação da aplicação os arquivos compartilhados serão verificados antes de serem removidos. No nosso casso o arquivo app.exe não é compartilhado portanto vamos clicar em Next >.
11-) Finalmente podemos dar um nome ao script gerado e clicar no botão Finish. O wizard irá criar os arquivos cab necessários a sua instalação e irá gerar um relatório com algumas mensagens sobre a instalação. Leia e a seguir feche o relatório e o Wizard clicando em Close.
Pronto ! , os seus arquivos foram gerados no diretório package como indicado no wizard. Para o nosso caso os arquivos gerados estão listados na figura abaixo: App1.cab , App2.cab , setup.exe e setup.lst e o diretório Support. Voce pode escolher um nome para o arquivo de script, ele armazena todas as opções selecionadas por você e pode ser reutilizado para gerar novamente o seu pacote.
Para você montar os discos de instalação faça o seguinte:
Agora é so TESTAR e distribuir...
Descrevendo o contéudo do arquivo Setup.lst
O PDW usa a informação localizada no arquivo Setup.lst(ele é um arquivo texto que pode ser editado e visualizado por qualquer editor de textos) no processo de instalação. Este arquivo contém toda a informação sobre a aplicação que vai ser instalada ele é criado quando o PDW é utilizado para gerar o pacote de instalação e esta localizada no mesmo diretório que o arquivo Setup.exe.
O processo de instalação de uma aplicação tem basicamente duas partes:
O arquivo Setup.lst descreve todos os arquivos que precisam ser instalados e contém informação importante para o processo de instalação: nome dos arquivos, local de instalação , etc... Existem cinco secções principais no Setup.lst , as quais são:
[Bootstrap] SetupTitle=Install SetupText=Copying Files, please stand by. CabFile=Hello.CAB Spawn=setup1.exe Uninstal=st6unst.exe TmpDir=msftqws.pdw Cabs=1 |
Vejamos o significado de cada item:
[Bootstrap Files] File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,6/13/98 12:00:00 AM,103424,6.0.81.64 File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 12:00:00 AM,22288,4.71.1460.1 File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,6/11/98 4:07:22 PM,17920,2.30.4261.1 File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,6/11/98 4:07:22 PM,147728,2.30.4261.1 File5=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,6/11/98 4:07:23 PM,164112,5.0.4261.1 File6=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,6/11/98 4:07:24 PM,598288,2.30.4261.1 File7=@MSVBVM60.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,6/13/98 12:00:00 AM,1409024,6.0.81.64 |
Cada linha da secção acima é composta dos seguintes argumentos:
File#=Nome Arquivo, Install Macro, Registro, Compartilhar, Data, Tamanho, Versão
[Setup1 Files] File1=@Hello.exe,$(AppPath),,,6/17/98 11:58:25 AM,16384,1.0.0.0 ; The following lines may be deleted in order to obtain extra ; space for customizing this file on a full installation diskette. ; ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
[Setup] Title=Hello DefaultDir=$(ProgramFiles)\Hello AppExe=Hello.exe AppToUninstall=Hello.exe |
Cada item tem o seguinte significado:
[IconGroups] Group0=Hello PrivateGroup0=True Parent0=$(Programs) Group1=Another Group PrivateGroup1=True Parent1=$(Start Menu) [Hello] Icon1="Hello.exe" Title1=Hello StartIn1=$(AppPath) [Another Group] Icon1="Another.exe" Title1=Another Icon StartIn1=$(AppPath) |
Cada item tem o significado a seguir:
O Setup Toolkit
O Setup Toolkit é um projeto instalado com o Visual Basic que é usado pelo PDW quando ele cria o programa de instalação (Setup) . O projeto Setup Toolkit contém formulários e código que o programa de instalação criado usa para instalar os arquivos de sua aplicação no computador do usuário. Quando você usa o PDW, ele inclui o arquivo setup1.exe que o projeto Setup Toolkit cria. Este arquivo é usado como a principal aplicação do arquivo de instalação.
Podemos usar o Setup Toolkit para modificar as telas exibidas durante o processo de instalação , ou criar um programa de instalação diretamente. Podemos customizar o programa de instalação e adicionar alguma funcionalidade não incluida ou suportada pelo PDW.
O projeto do Setup Toolkit esta localizado no subdiretório \Wizards\PDWizard\Setup1 do diretório principal onde foi instalado o Visual Basic. (Antes de realizar qualquer alteração nos arquivos de projeto faça um backup destes arquivos)
Usamos o Setup Toolkit carregando o arquivo Setup1.vbp no Visual Basic e fazendo as modificações que desejamos. Isto é feito em duas etapas:
Para criar um programa de instalação customizado usando o Setup Toolkit você pode seguir os seguintes passos:
Como customizar minha instalação ?
Vamos dar um exemplo de como customizar a instalação , criando uma opção de instalação que irá perguntar ao usuário se ele deseja instalar o arquivo de ajuda. Vejamos como fazer isto passo a passo:
O código a ser incluído é o seguinte:
Dim LoadHelp As Integer LoadHelp = MsgBox ("Deseja instalar o arquivo de ajuda? ", vbYesNo) If LoadHelp = vbYes Then CalcDiskSpace "Help" EndIf If LoadHelp = vbYes Then cIcons = CountIcons("Help") EndIf If LoadHelp = vbYes Then CopySection "Help" EndIf |
[Help]
File1=MyApp.HL1,MyApp.HLP,$(AppPath),,,10/12/96,2946967,0.0.0
Se você esta pensando em executar e testar o programa alterado no Visual Basic para debugá-lo , vai ter uma surpresa. Você nao vai conseguir!!. Antes de rodar o projeto o arquivo Setup.exe deve copiar certos arquivos para locais diferentes , além disto ele chama o arquivo Setup1.exe com certos argumentos de linha de comando que voce vai precisar fornecer. Vejamos a rotina passo a passo:
Visual Basic 5.0 Localize a linha: Setup=setup1.exe substitua por: Setup="c:\program files\devstudio\vb\vb5.exe"_ "c:\program files\devstudio\vb\setupkit\setup1\setup1.vbp" /cmd --------------------------------------------------------------------- Visual Basic 6.0 Localize a linha: Spawn=setup1.exe Substitua por: Spawn=C:\PROGRA~1\MICROS~1\VB98\VB6.exe_ C:\PROGRA~1\MICROS~1\VB98\Wizards\PDWizard\Setup1\Setup1.vbp /cmd |
Obs: Se você sair do projeto ou se ele rodar sem erros o arquivo ao terminar , o arquivo setup.lst e o programa para desinstalação serão excluidos.
Acabei...
Leia também :
Package and Deployment Wizard - Gerando uma instalação em português
José Carlos Macoratti