Escolar Documentos
Profissional Documentos
Cultura Documentos
Parte 1
Atendendo milhares de pedidos resolvi mostrar como voc pode desenvolver uma
aplicao Windows no VB 2005 do incio ao fim. Ser uma aplicao que se prope a
gerenciar uma locadora de filmes (DVD e VHS) com recursos bsicos.
A APLICAO APRESENTADA EM 8 PARTES.
Primeiro quero deixar claro que tudo o que voc vai ler neste artigo e nos artigos
seguintes no de minha autoria. Tudo est baseado nos exemplos da MSDN
(MSDnVideo) que voc pode acessar no site da Microsoft. Eu apenas refiz os exemplos
citados com algumas adaptaes.
Para acompanhar esta srie de artigos voc vai precisar ter os seguintes recursos
instalados e funcionando no seu computador:
O objetivo principal deste artigo apresentar os novos recursos de acesso a dados a aplicao
ser bem simples de forma a tornar possvel, em um tempo razovel, a publicao dos artigos.
Portanto a modelagem de dados e a definio de requisitos, pontos fundamentais em qualquer
aplicao no estaro refletindo o que seria uma aplicao real de produo. A idia fornecer
os fundamentos bsicos para que voc possa expandir e melhorar a aplicao e tambm para
que os que esto comeando agora possam acompanhar os artigos sem muito trauma.
-1-
Na janela Solution Explorer clique com o boto direito do mouse sobre o nome do
projeto e selecione do menu suspenso a opo Add -> New Item, e na janela Add New
Item , selecione o Template SQL Database informando o nome de Locadora.mdf; a
seguir clique no boto Add. (figura abaixo)
-2-
Na janela Data Source COnfiguration Wizard, como vamos criar as tabelas clique no
boto - Finished. Voc ver, conforme figura abaixo, o banco de dados Locadora.mdf
criado e incorporado ao seu projeto. Isto uma novidade do VB 2005.
-3-
Vamos criar as tabelas do nosso projeto; na janela DataBase Explorer expanda o item
Locadora.mdf e clique com o boto direito do mouse sobre o item Tables, selecionando
a opo Add New Table.
-4-
Digite o nome e os tipos de dados de cada campo e a seguir salve a tabela com o
nome de Cliente, conforme figura abaixo:
Repita o procedimento adota acima e crie a tabela Filmes conforme figura abaixo:
-5-
-6-
Na janela Add Table, selecione cada uma das tabelas e clique no boto Add.
Para definir a chave primria para cada tabela clique com o boto direito do mouse
sobre o campo que deseja como chave primria e selecione a opo - Set As Primary
Key, aceitando o valor padro das telas seguintes.
Vamos definir os seguintes relacionamentos entre as tabelas:
1- Cliente (CodigoCliente) -->
UM-PARA-MUITOS
-7-
Ou seja:
1- Existe um relacionamento entre a tabela Cliente e a tabela Movimento entre as
chaves primrias CodigoCliente onde para cada Cliente da tabela Cliente eu posso ter
infinitos Clientes na tabela Movimento.
2- Existe um relacionamento entre a tabela Filmes e a tabela Movimento entre as
chaves primrias CodigoFilme onde para cada Filme da tabela Cliente eu posso ter
infinitos Filmes na tabela Movimento.
Nota: Esta modelagem foi adotada apenas com objetivo didtico e no deve ser usada
em uma aplicao de produo pois no est, como podem notar, corretamente
normalizada.
Pronto ! J temos o banco de dados criado no SQL Server 2005 e as tabelas Cliente,
Filmes e Movimento tambm criadas e com campos e relacionamentos definidos. Note
que tudo foi feito usando o VB.NET 2005 com ajuda dos seus assistentes.
-8-
Fontes de dados
O Visual Studio 2005 apresenta o conceito de fontes de dados em um projeto. Uma fonte de
dados representa os dados disponveis para um aplicativo. Esses dados no esto
necessariamente em um banco de dados, o Data Source Configuration Wizard (Assistente
para Configurao de Fonte de Dados) que voc usa para definir a fonte de dados permite obter
os dados de trs fontes diferentes:
1.Banco de dados pode ser um banco de dados baseado no servidor, como o SQL Server ou
o Oracle, ou um banco de dados baseado em arquivo, como o Access ou o SQL Server
Express. O Visual Studio gera automaticamente os DataSets de tipos, bem como outras
classes, e os adiciona ao projeto.
2.Objeto qualquer objeto com propriedades pblicas pode ser a fonte de dados. No
necessrio implementar nenhuma interface especial.
3.Servio da Web criar uma fonte de dados em um servio da Web cria objetos
correspondentes ao tipo de dados retornado por esse servio.
A finalidade da fonte de dados dupla. Em primeiro lugar, ela torna mais fcil especificar, criar e
gerar classes com rigidez de tipos que representam os dados do aplicativo. Em segundo lugar,
fornece um mecanismo flexvel, porm uniforme, de criao rpida de interfaces de usurio
WinForm e WebForms avanadas e altamente funcionais. Neste artigo, veremos o quanto isso
rpido, fcil e flexvel.
Tambm nos concentraremos na criao de fontes de dados de banco de dados (DataSet) e no
uso dessas fontes em aplicativos WinForms. No entanto, importante salientar estes dois pontos:
-9-
Aps a criao de uma fonte de dados, voc a utiliza da mesma maneira, independentemente
da origem dos dados. Ou seja, assim como voc pode facilmente (e graficamente) ligar uma
fonte de dados baseada em um Database a uma grade ou a um conjunto de controles,
tambm pode fazer isso com os dados cuja origem um servio da Web ou seus objetos
comerciais personalizados.
As fontes de dados so definidas da mesma maneira, independentemente de serem usadas em
um aplicativo WinForms ou WebForms. Os diferentes provedores de dados tambm so
abstratos; assim, se o seu acesso aos dados estiver exposto somente pelo uso de DataSets e
TableAdapters, para alterar o banco de dados real, bastar alterar a seqncia de caracteres
de conexo e gerar as classes novamente.
fonte MSDN - Novos recursos de DataSet no Visual Studio 2005 - Jackie Goldstein - Renaissance
Computer Systems
3- No prximo passo vamos criar uma fonte de dados do tipo DataSet para cada uma
das tabelas. Poderamos criar um DataSet com mais de uma tabela se desejamos
apresentar um relacionamento do tipo mestre-detalhes. Selecione ento a tabela
Clientes, informe o nome ClienteDS e clique no boto Finish.
- 10 -
Podemos navegar pelos objetos DataSet criados exibindo os campos de cada um deles
e tambm editar o DataSet. Para isto clique com o boto direito do mouse sobre o
DataSet e selecione a opo - Edit DataSet with Designer.
- 11 -
Ser exibido a representao do objeto MovimentoDS, conforme figura acima, onde temos a
tabela com seus respectivos campos e o objeto TableAdapter que permite alimentar, atualizar e
aplicar filtros a fonte de dados.
E chegamos ao final da primeira parte onde temos a base de dados e as entidades relacionadas
a esta base de dados que simbolizam os nossos objetos de negcios os quais so representados
pelas tabelas Cliente, Filmes e Movimento; temos tambm o adaptador que permite sincronizar
essas entidades em memria com a base de dados.
Nota:
O conceito de um TableAdapter, por outro lado, novo no Visual Studio 2005. A idia
subjacente que um TableAdapter com rigidez de tipos o equivalente com rigidez de tipos do
DataAdapter padro. Voc usa o TableAdapter para se conectar a um banco de dados e
executar consultas (ou procedimentos armazenados) nesse banco de dados, bem como para
preencher com dados um DataTable associado. Cada par DataTable-TableAdapter indicado
simplesmente como um TableAdapter
O TableAdapter essencialmente um invlucro ao redor de um DataAdapter padro, que
oferece vrios benefcios:
A mesma classe TableAdapter pode ser usada em mais de um formulrio ou componente para
que qualquer alterao em consultas/comandos seja automaticamente refletida em todas as
instncias. Essa situao diferente da existente, na qual cada componente que acessa o
banco de dados deve ter seu prprio DataAdapter configurado individualmente. Dessa forma,
fica muito mais fcil garantir a sincronizao de DataTables e DataAdapters.
Em vez de usar vrios DataAdapters (ou cdigo de comutao artesanal) para ter vrias
consultas/comandos para um nico DataTable, um TableAdapter permite definir facilmente
vrios comandos para um DataTable especfico.
Os comandos de preenchimento tm nomes legveis ("amigveis") e o TableAdapter inclui um
cdigo para preencher automaticamente as informaes de tipo e valor de todos os parmetros
desses mtodos de comando. Voc no precisa mais se preocupar em passar tipos de dados
especficos do provedor, como SqlInt.
fonte MSDN - Novos recursos de DataSet no Visual Studio 2005 - Jackie Goldstein Renaissance Computer Systems
- 12 -
Parte 2
Continuando o desenvolvimento do nosso projeto Locadora de Filmes no Visual Basic
2005 Express Edition este artigo ir mostrar como voc pode criar a interface com o
usurio usando alguns dos recursos disponveis no VB 2005. Se voc esta chegando
agora recomendo que leia a primeira parte em : VB.NET 2005 - Criando uma
aplicao completa : Locadora de Filmes I
Os principais formulrios que iremos criar para a aplicao so :
1. Principal.vb - formulrio MDI que apresenta a aplicao com um menu de
opes
2. Clientes.vb - formulrio usado para cadastrar os clientes
3. Movimento.vb - formulrio que gerencia as informaes sobre locaes de
filmes
4. Devolucao.vb - formulrio que gerencia as informaes sobre a devoluo de
filmes alugados.
- 13 -
Perceba que inclumos cones no menu. Fazemos isto selecionando o texto digitado e na janela
de propriedades clicando na propriedade Image do item. Na janela Select Resource podemos
ento selecionar a imagem como um recurso local ou como um recurso do projeto clicando a
seguir no boto Import... e selecionando a imagem:
- 14 -
Inclua um controle PictureBox no interior do controle Panel que voc acabou de inserir no
formulrio. Posicione o controle a direita do controle Panel e inclua uma imagem clicando na
propriedade Image e selecionando uma imagem via opo Import da janela Select
Resource, conforme mostrado na figura abaixo.
- 15 -
- 16 -
A seguir vamos incluir os componentes que achamos que sero comuns aos
formulrios que sero criados a partir deste modelo. Para no complicar vou definir o
formulrio modelo contendo apenas um controle Label e um controle GroupBox
conforme figura abaixo:
Altere as seguintes
propriedades do
formulrio modelo na
janela de propriedades:
Name =
FormularioModelo
BackColor = 192;
192; 255
ControlBox =
False
Font = Arial;
12pt; style=Bold
KeyPreview =
True
Text =
FormularioModelo
Altere as seguintes
propriedades do controle
Label1 :
- 17 -
Anchor = Top,
Left, Right
BackColor = Navy
Font = Arial;
18pt; style=Bold
ForeColor = White
Modifiers =
Protected
Defina a propriedade
Anchor do controle
GroupBox1 como sendo
igual a : Top, Bottom,
Left, Right
- 18 -
Agora compile o projeto na opo Build do menu, opo Build Locadora Filmes. A
seguir abra o formulrio Clientes.vb e altere a propriedade Text do controle Label1
para - Cadastro de Clientes, conforme abaixo:
- 19 -
- 20 -
Abaixo estou exibindo cada um dos respectivos formulrios com seu layout adotado:
- 21 -
formulrio Sobre.vb
Como vamos implementar o acesso restrito por chave e senha teremos que incluir um
novo formulrio chamado Acesso.vb que ir permitir a incluso destas informaes na
base de dados Usuarios (que vou criar em seguida).
Inclua um novo formulrio chamado Acesso.vb no projeto conforme o layout abaixo:
- 22 -
Os demais componentes do
formulrio so:
TextBox : txtUsuario,
TxtSenha e TxtSenha2
Button : btnRegistrar e
btnCancelar
Clientes.vb
Devolucao.vb
Entrada.vb
FormularioModelo.vb
Login.vb
Movimento.vb
Principal.vb
Sobre.vb
Banco de dados:
Locadora.mdf
Classes
Recursos
As imagens usadas no
menu
Parte 3
- 23 -
- 24 -
My.Settings.Usuario = UsernameTextBox.Text
My.Settings.Save()
Else
My.Settings.Usuario = ""
End If
If util.GeraHash(PasswordTextBox.Text).Equals(senhaID) Then
My.Forms.Principal.Show()
Me.Hide()
Else
MessageBox.Show("Senha/Usurio Incorreto(s)", "Senha incorreta",
MessageBoxButtons.OK, MessageBoxIcon.Information)
PasswordTextBox.Focus()
End If
Catch ex As SqlException
MessageBox.Show("Erro ao efetuar a conexo com a base de dados : " +
ex.Message)
conn.Dispose()
End Try
End Sub
Explicando o cdigo:
A linha de cdigo:
conn.ConnectionString = My.Settings.LocadoraConnectionString
- 25 -
My.Settings.Usuario = UsernameTextBox.Text
My.Settings.Save()
Else
My.Settings.Usuario = ""
End If
A seguir o mtodo GeraHash da classe util usado para gerar o hash da senha informada para
comparar com o hash armazenado no banco de dados.(isto ser feito via formulrio acesso.vb).
If util.GeraHash(PasswordTextBox.Text).Equals(senhaID) Then
My.Forms.Principal.Show()
Me.Hide()
Else
MessageBox.Show("Senha/Usurio Incorreto(s)", "Senha incorreta",
MessageBoxButtons.OK, MessageBoxIcon.Information)
PasswordTextBox.Focus()
End If
- 26 -
TextBox :
txtUsuario,
TxtSenha e
TxtSenha2
Button :
btnRegistrar e
btnCancelar
- 27 -
Neste cdigo estamos incluindo, via instruo SQL INSERT INTO, o nome do usurio
e a senha informada na tabela usuarios. Os parmetros so montados com os dados
das caixas de texto, e, o mtodo GeraHash() usado para gerar o hash do texto da
senha informado.
conn.Open()
comando.Connection = conn
comando.CommandText = "INSERT INTO Usuarios(nomeUsuario,senhaID)
values(@Usuario,@senha)"
comando.Parameters.AddWithValue("@Usuario", txtUsuario.Text)
comando.Parameters.AddWithValue("@senha", util.GeraHash(txtsenha.Text))
O mtodo executeNonQuery() usado para executar a consulta ao. Este mtodo usado
para executar um comando SQL que no retorna registros.
reg = comando.ExecuteNonQuery()
Nossa aplicao j possui uma forma de cadastrar os seus usurios via formulrio acesso.vb e
de permitir a validao dos mesmos para acesso a aplicao via formulrio login.vb.
Nota: Para permitir que a mudana de um campo para outro do formulrio seja possvel com o
pressionamento da tecla ENTER altere a propriedade KeyPreview do formulrio para True e
inclua o seguinte trecho de cdigo
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
e.Handled = True
SendKeys.Send("{TAB}")
End If
End Sub
- 28 -
Parte 4
1- Na janela DataSource,
expanda o DataSet ClienteDS
e a seguir selecione a tabela
Cliente
2- Altere a opo de exibio
para Details conforme figura
ao lado
- 29 -
- 30 -
- 31 -
Campos da tabela
Categorias:
1. Cdigo
2. Descrio da
Categoria
3.
Estado
(ativo/inativo)
- 32 -
Vamos alterar o modo de viso do Data Source CategoriasDS para Details e arrastlo para o formulrio Categorias.vb.
Quando fazemos esta operao o Assistente, alm de criar os campos no formulrio e
incluir os objetos : CategoriaBindingSource, CategoriaTableAdpater e
CategoriasBindingNavigator, cria tambm uma barra de navegao que permite, alm
da navegao pelos registros, realizar as operaes CRUD (read, update e delete) na
fonte de dados.
No vamos usar esta barra de navegao, vamos exclu-la do formulrio de forma a
ficar com o seguinte layout:
- 33 -
Acima temos o cdigo do boto Salvar da barra de Navegao e o cdigo que carrega
todos as categorias na carga do formulrio.
Vamos excluir todo este cdigo do formulrio e incluir dois botes de comando : Criar
e Cancelar, conforme abaixo:
- 34 -
Para que o cdigo acima funcione corretamente voc deve incluir um controle
ErrorProvider no seu formulrio.
Podemos querer exibir em um Grid todas as categorias cadastradas, para isto vamos
criar um formulrio chamado TodasCategorias.vb , e, arrastar o data source
CategoriasDS no formato GridView para o formulrio. O resultado ser o exibido na
figura abaixo:
Teremos que fazer um ajuste no menu permitindo duas opes para Categorias:
Incluir Nova Categoria e Exibir Categorias.
- 35 -
- 36 -
- O campo CodigoLocacao um
campo autonumerado (Identity) e por
este motivo no iremos gravar nada
neste campo visto que seu valor
incrementado automaticamente
Devemos registrar valores nos
seguintes campos:
- 37 -
- 38 -
- 39 -
- 40 -
Obs: Voc deve remover qualquer outro cdigo gerado pelo assistente no formulrio.
Neste cdigo eu estou usando do TableAdapter e a consulta FillByTitulo para extrair
dados do dataset Filmes segundo o valor informado na caixa de texto
TextBox1.Text. (eu sugiro que voc fornea nomes sugestivos aos controles)
Devemos ainda configurar algumas propriedades do DataGridView pois no desejamos
que o usurio altere o DataGridView ou inclua, exclua ou efetue uma seleo mltipla
- 41 -
A primeira linha abre o formulrio para selecionar o filme e a segunda obtm o valor
da varivel codigoFilme declarada como Public no formulrio SelecionaFilme.
Todo o procedimento acima dever ser repetido para o formulrio SelecionaCliente.
Deixo isto como tarefa para voc realizar.
O cdigo final do formulrio, antes de efetuar o registro da locao, ser o seguinte:
Public Class Movimento
Private Sub btnProcuraFilme_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnProcuraFilme.Click
My.Forms.SelecionaFilme.ShowDialog()
txtCodigoFilme.Text = My.Forms.SelecionaFilme.codigoFilme
End Sub
- 42 -
Para efetuar o registro da locao vou criar uma classe que ser responsvel por esta
tarefa. Mas isto assunto para o prximo artigo.
- 43 -
Parte 5
- 44 -
Uma primeira pergunta que talvez possa surgir seria: Porque eu no implemento o
cdigo de locao no prprio formulrio ?
Bem , primeiro porque a locao refere-se a ao negcio da locadora de filmes e por
este motivo bom separar a regra de negcio da interface do usurio.
Para criar a classe LocaFilmes.vb clique com o boto direito do mouse sobre o nome
do projeto e selecione a opo Add e a seguir New Item; informando a seguir o
nome do arquivo e clicando no boto Add.
- 45 -
claro que antes de efetuar a locao eu preciso verificar o estoque de filmes para ver
se existe o filme disponvel. Se houver terei que diminuir uma unidade , referente a
unidade locada e acrescent-la a tabela de locaes efetuadas : Movimento.
Antes de entrar no cdigo teremos que criar uma nova consulta relacionada com a
tabela Filmes que nos devolva um determinado filme conforme o seu cdigo.
Na janela Data Source vamos editar o DataSet FilmeDS e vamos incluir uma nova
consulta, conforme j vimos nos artigos anteriores, para filtrar os filmes selecionados
pelo cdigo do filme. Usando o Query Builder informamos o parmetro
@codigoFilme para montar a instruo SQL conforme abaixo:
Ao salvar a consulta acrescente o sufixo Codigo conforme tela da figura 1.0 abaixo.
Na figura 2.0 vemos o DataSet exibindo a nova consulta criada:
- 46 -
Figura 1.0 - Nomeando a instruo SQL para selecionar dados Figura 2.0 - O dataset exibindo a consulta criada
Vamos precisar criar tambm uma nova consulta de incluso de dados na tabela
Movimento usando a instruo SQL INSERT/INTO. Na janela Data Sources clique
com o boto direito do mouse sobre o DataSet MovimentoDS e selecione - Edit
DataSet with Designer. A seguir clique no dataset com o boto direito e selecione
Add e a seguir Query.
Usando o Query Builder construa a instruo SQL para inserir uma linha na tabela
Movimento , conforme figura abaixo:
- 47 -
- 48 -
- 49 -
- 50 -
Clicando na opo - Locao de Filmes- temos o formulrio onde iremos informar o cdigo
do filme e o cdigo do cliente. Lembre que implementamos os formulrio
SelecionaFilme.vb e SelecionaCliente.vb para podemos selecionar um cliente pelo
nome. Abaixo temos a exibio da tela do formulrio Movimento.vb e de
SelecionaFilme.vb aps clicarmos em Procurar:
- 51 -
Aps efetuar a seleo do Filme e do Cliente e clicar no boto registra a locao ser
efetuada. Podemos ver isto na opo Filmes Alugados:
- 52 -
Se consultarmos o estoque de filmes para o filme de cdigo igual a 1 iremos ver que
houve uma diminuio de uma unidade do estoque referente a locao efetuada.
Quando da devoluo deveremos repor o filme no estoque.
Dica : Sugiro que voc implemente uma transao no cdigo para que se algo der
errado durante o processo ele no seja concludo.
- 53 -
Parte 6
Neste artigo vou fazer alguns ajustes na interface do usurio j criada, alm de criar mais dois
formulrios nos mesmos padres j abordados em artigos anteriores da srie.
- 54 -
O
O
O
O
campo
campo
campo
campo
A estrutura das novas tabelas Precos e Status mostrada na figura 3.0 abaixo.
- 55 -
O prximo passo definir o preenchimento da combobox no formulrio; para isto vamos usar o
assistente da Smart Tag do controle:
- 56 -
Status.
No campo Midia no marque a opo - data bound items. Clique em Edit Items e informe os
valores na janela - String Collection Editor.
- 57 -
Voc percebeu que a medida que voc vai vinculando os controles, as respectivas instncias de
cada DataSet so incorporadas na base do formulrio.
O resultado obtido exibido na figura abaixo. Alm de facilitarmos a vida do usurio estamos
evitando que ocorra um erro na informao manual que anteriormente deveria ser feita via
digitao pelo usurio. Tudo isto sem digitar uma nica linha de cdigo.
- 58 -
- 59 -
Outro ajuste feito foi incorporar ao menu principal - Principal.vb - as novas opes conforme
abaixo:
- 60 -
Parte 7
Tudo comea quando o cliente apresenta o filme para devoluo. O funcionrio acessa
o sistema e exibe o formulrio de devoluo de filmes: devoluo.vb mostrado
abaixo:
- O funcionrio informe o
cdigo do cliente ou
efetua a busca acionando
o boto procurar.
- Aps selecionar o
cliente, o DataGridView
preenchido com a
relao dos filmes que o
cliente possui alugados.
- O funcionrio seleciona
um ou todos os filmes e
efetua o registro da
devoluo.
- 61 -
CType(txtCodigoCliente.Text, Integer))
End Sub
- 62 -
2.
- 63 -
- 64 -
E com isto fechamos o ciclo desta aplicao de exemplo onde o objetivo foi mostrar alguns dos
novos recursos do ADO.NET 2.0 e como voc pode criar uma aplicao Windows Forms de forma
rpida usando os novos assistentes para auxili-lo em tarefas que antes exigiriam muito cdigo.
No pode ser considerada uma aplicao de produo pois no me preocupei com os requisitos
fundamentais que uma locadora real deveria possuir para estar funcionando. Alis, quero
chamar a ateno para o fato de que o levantamento dos requisitos uma das fases cruciais e
que geralmente determinam o sucesso ou o fracasso de um projeto de software. Nossa aplicao
no resistiria a uma crtica a comear pela modelagem de dados. No entanto ela serviu aos
meus propsitos que foi poder mostrar o desenvolvimento de uma aplicao windows com
alguns recursos no Visual Basic 2005 Express.
- 65 -
Parte 8
Instalao da aplicao
A parte final do nosso projeto Locadora de Filmes no Visual Basic 2005 Express
Edition justamente montar o pacote de instalao da aplicao. Vamos criar o
pacote de instalao usando o Inno Setup, pois um software free e de grande
versatilidade e facilidade de utilizao.
Se voc no possui o Inno Setup pegue a ltima verso no stio :
www.innosetup.com. (A ltima verso estvel era a 5.17)
Se voc deseja distribuir a NET framework 2.0 junto com sua instalao vai precisar
do arquivo NET framework 2.0 redistributable package que pode ser baixado do
stio: http://www.microsoft.com/downloads/details.aspx?FamilyID=9655156b-356b4a2c-857c-e62f50ae9a55&DisplayLang=pt-br (So 22 MB)
Antes de iniciar o
processo de gerar
o pacote de
instalao voc
precisa localizar a
pasta onde sua
aplicao foi
gerada e criar nela
uma pasta
chamada Install e
outra pasta
chamada support
subordinada a
pasta Install.
A seguir copie o
arquivo
dotnetfx.exe para
a pasta support.
Para encerrar crie
uma pasta
chamada OutPut
na pasta Support.
Obs:O arquivo
dotnetfx.exe a
NET framework
2.0
redistributable
package (22 MB)
No esquea de compilar o seu projeto e deix-lo pronto para a instalao. Menu Build
- Build seu_projeto.
- 66 -
1.
2.
3.
4.
5.
6.
7.
VB.NET
VB.NET
VB.NET
VB.NET
VB.NET
VB.NET
VB.NET
2005
2005
2005
2005
2005
2005
2005
Criando
Criando
Criando
Criando
Criando
Criando
Criando
uma
uma
uma
uma
uma
uma
uma
aplicao
aplicao
aplicao
aplicao
aplicao
aplicao
aplicao
completa
completa
completa
completa
completa
completa
completa
:
:
:
:
:
:
:
Locadora
Locadora
Locadora
Locadora
Locadora
Locadora
Locadora
de
de
de
de
de
de
de
Filmes
Filmes
Filmes
Filmes
Filmes
Filmes
Filmes
I
II
III
IV
V
VI
VII
- 67 -
- 68 -
- 69 -
A seguir ser apresentada a tela onde voc pode definir um arquivo de licenciamento
para a aplicao. Se voc definir um arquivo de licena o usurio no poder
prosseguir com a instalao sem concordar com o contedo do arquivo.
A nossa aplicao no possui este arquivo clique em Next>
- 70 -
- 71 -
- 72 -
Este o script que esta preparado para realizar uma instalao bsica na mquina de
destino. Selecione a opo Save no menu File do Inno Setup e salve o script na pasta
Install do projeto.
Podemos dar suporte a incluso da .NET Framework na instalao da aplicao. O
arquivo dotnetfx.exe que foi baixado e copiado para a pasta Support precisa ser
includo no instalador para poder rodar como parte do processo. Isto vai aumentar o
tamanho do arquivo de instalao pois o dotnetfx.exe possui 22 MB de tamanho, mas
com isto estamos assegurando que se a mquina de destino no possuir o .NET
Framework 2.0 instalado o instalador o ir instalar.
Para fazer isto precisamos instruir o Inno Setup para incluir o arquivo dotnetfx.exe no
instalador pois queremos ter este arquivo disponvel na instalao como um arquivo
temporrio que ser deletado no final da instalao.
Os arquivos que fazem parte da instalao esto na seo [Files} do script. Ns
definimos a fonte e o destino para cada arquivo usando chaves especiais que indicam o
comportamento do arquivo. No nosso caso a fonte ser a pasta support/dotnetfx.exe e
o destino ser uma pasta especial chamada {tmp} que mapeia para o diretrio
temporrio na mquina de destino.
Inclua ento a seguinte linha na seo [Files] do arquivo de script:
- 73 -
- 74 -