sexta-feira, 04 de dezembro de 2020
DVD
ConteÚdo
DOWNLOADS
Interação
dicas aleatórias
Artigos

Distribuindo aplicações Access

Uma das dúvidas mais freqüentes dos desenvolvedores Office é em relação à distribuição dos aplicativos Access: é possível gerar um executável de MDB? É possível instalar os aplicativos em máquinas que não tenham o MS-Access?

Por: Luiz Claudio C. V. Rocha ()
Publicado: 19/09/2004  Visitas: 19427
Dificuldade: Intermediário

Indicação de Artigo  Imprimir

Distribuindo aplicações Access

Uma das dúvidas mais freqüentes dos desenvolvedores Office é em relação à distribuição dos aplicativos Access: é possível gerar um executável de MDB? É possível instalar os aplicativos em máquinas que não tenham o MS-Access? Estas e outras dúvidas serão abordadas neste artigo, assim como as instruções passo a passo para a distribuição de aplicativos Access.

ADT, ODE, MOD, Runtime
Ao pesquisar sobre a distribuição de aplicativos Access, muitos desenvolvedores se deparam com estas diversas siglas e nomes, que muitas vezes causam confusão.

O primeiro termo a ser explicado é o Runtime, ou Access Runtime, o qual nada mais é que uma simples versão reduzida do Access. Como o próprio nome indica, o Runtime permite rodar MDBs e MDEs apenas em tempo de execução, sem acesso à estrutura dos objetos e ferramentas de design. Ou seja, trata-se de uma versão do Access que serve apenas para rodar aplicativos, e não para desenvolvê-los ou alterá-los.

A partir daí, outra dúvida pode surgir: para que serve uma versão do Access que não permite desenvolver e alterar aplicativos? A resposta também é simples: como o Access não é capaz de gerar executáveis (*.EXE), os MDBs e MDEs só rodam em máquinas que tenham o Access instalado. Visto que as licenças do MS-Office e do MS-Access são bastante caras, ficaria financeiramente inviável desenvolver um sistema no Access para rodar em máquinas que não tivessem o Office instalado, pois precisaria adquirir uma licença para cada computador só para rodar o aplicativo.

Para suprir tal deficiência, a Microsoft disponibiliza uma versão do pacote Office chamada Office Developer (Figura 1), que além de conter o Office Professional, inclui as ferramentas e a licença para que o desenvolvedor possa distribuir seus aplicativos juntamente com o Access Runtime, podendo instalá-lo em quantas máquinas quiser, sem pagamento de royalties.


Figura 1: Office XP Developer


Quanto às diversas siglas, cada uma se refere a uma versão da ferramenta:

ADK – Access 1.1 Distribution Kit: foi a primeira versão das ferramentas para distribuição de aplicativos Access, usado para distribuir sistemas feitos com o Access 1.0 e 1.1.

ADT – Access Developer’s Toolkit 2.0: é o upgrade do ADK, contendo uma versão do Access Runtime, do Graph, além de controles OLE (os antecessores dos ActiveX) e diversos manuais impressos. Era vendido como complemento do Access 2.0, não incluía o próprrio Access (full).

ADT – Access Developer’s Toolkit 7.0: pacote semelhante ao anterior, porém referente ao Access 95 (7.0). Os controles OLE incluídos nesta versão (Data Outline, Rich Textbox, Tab Strip, Common Dialog, etc.) já eram para o Windows 95.

ODE – Office 97 Developer Edition: esta passou a ser uma versão do próprio pacote Office (e não mais um complemento), pois além das ferramentas de distribuição, incluía também o Office 97 Professional. Entretanto, era possível comprar separadamente apenas as ferramentas como produto complementar, o chamado ODE Tools. Além da licença para distribuir o msaccess.exe em versão Runtime, graph8.exe e outros componentes distribuíveis do Access 97, esta versão passou a incluir as seguintes funcionalidades: Setup Generator com suporte a Dependency files (*.dep – facilitando a inclusão dos arquivos de suporte aos controles ActiveX), novos controles (Animation, Winsock, Internet Transfer), Replication Manager, entre outros recursos.

MOD – Microsoft Office 2000 Developer: esta versão inclui o Office Premium completo e as ferramentas de distribuição: Access Runtime (que inclui o Internet Explorer 5), Visual Source Safe 6.0, MSDE (com licença para redistribuição), Replication Manager, VBA Tools (Code Librarian, COM Add-in Designer, Data Environment Designer, Data Report Designer, Data-bound ActiveX Controls, Multi-Code Import/Export, Package & Deployment Wizard, VBA Code Comenter, VBA Error Handler, VBA String Editor, VBA Source Code Control, VBA WinAPI Viewer), Access Workflow Designer, entre outros recursos.

MOD – Microsoft Office XP Developer: além do recém lançado Office 2003, esta é a única versão ainda disponível no mercado. Inclui o Office XP Professional With FrontPage, e todos os recursos de desenvolvimento listados no MOD2000. Esta versão também inclui maior suporte a XML, além de um CD com o Exchange 2000 Developer Edition e SQL Server 2000 Personal Edition. O manual impresso Office XP Developer’s Guide é excelente, sobre tudo para os desenvolvedores avançados (boa parte do conteúdo está disponível no MSDN americano).

ADE – Access 2003 Developer Extensions: é a versão 2003 das ferramentas de distribuição do Access, e voltou a ser separado do pacote Office, integrando agora o pacote Visual Tools for the Microsoft Office System. Além do Package Wizard, esta versão inclui o Scanner Add-in, que permite localizar propriedades e nomes alterados nos objetos do Access. Oferece, ainda, o código-fonte dessas ferramentas para estudo e customização.


O sistema está pronto: como distribuí-lo?

Antes de fazer a distribuição, deve ser criado o pacote de instalação do aplicativo, usando o Package & Deployment Wizard (que é a principal ferramenta do Office Developer). Os passos do assistente são muito parecidos nas diferentes versões, então mostrarei aqui as telas da versão XP.

O Package & Deployment Wizard é um add-in do VBA. Para acessá-lo, basta abrir qualquer módulo do aplicativo que será empacotado e selecionar o menu Add-Ins > Packaging Wizard. Será aberta a janela inicial (“Welcome”) do assistente (Figura 2).


Figura 2: Tela de abertura do P&DW

Observação: se o Packaging Wizard não estiver disponível na lista de Add-Ins, basta adicioná-lo a partir do Add-Ins Manager.

A partir daí, como qualquer assistente, basta preencher as telas, conforme veremos a seguir.

1) Definição do projeto a ser empacotado e do nome do pacote (Figura 3). Como exemplo selecionei o banco de dados Northwind.mdb.


Figura 3: Local e nome do projeto de origem


2) Definição do nome e versão do aplicativo, nome da empresa e idioma do Setup (Figura 4).

Atenção: o idioma aqui definido é do Setup de instalação, e não do Access Runtime que será instalado. Não há opção para português.


Figura 4: Título e versão


3) Seleção dos arquivos que entrarão no pacote (Figura 5).

O assistente detecta automaticamente os arquivos que devem ser incluídos para o aplicativo funcionar corretamente, mas em alguns casos pode ser necessário acrescentar manualmente (por meio do botão Add File), então é sempre recomendável conferir a listagem de arquivos.


Figura 5: Arquivos a serem instalados


4) Definição do local de instalação de cada arquivo, e se o mesmo é compartilhado ou não (Figura 6). Se o arquivo for compartilhado, ao desinstalar o aplicativo será exibida uma mensagem solicitando confirmação do usuário antes de excluí-lo.


Figura 6: Local de instalação dos arquivos


5) Inclusão do Access Runtime, arquivos de sistema e seleção do idioma (Figura 7).

É possível gerar pacotes de instalação sem incluir o Runtime (para máquinas que já tenham o Access), mas na grande maioria dos casos, quem usa esta ferramenta o faz com a finalidade de distribuí-lo.

A opção de incluir arquivos de sistema (System Files) adiciona os componentes necessários ao funcionamento do Runtime, sendo recomendável selecioná-la caso haja alguma dúvida quanto à existência de tais arquivos na máquina onde será instalado o aplicativo.
É possível também incluir o Internet Explorer 5.1 no pacote, opção pouco usada.
Idioma: é possível gerar Access Runtime de qualquer idioma, desde que exista versão do Office correspondente. Este assunto será abordado na seção “Armadilhas”, mais adiante neste artigo.


Figura 7: Inclusão do Runtime

6) Seleção dos componentes de dados: MSDE e Replication Manager (Figura 8).

A opção MSDE deve ser assinalada para se trabalhar com MSDE/SQL Server (aumenta bastante o tamanho do pacote), e a segunda opção inclui o Replication Manager, usado para configurar a sincronização de réplicas.


Figura 8: Componentes de bancos de dados


7) Definição dos atalhos e linha de comando para abrir o aplicativo (Figura 9).


Figura 9: Atalho


8) Execução de comando após o término da instalação (Figura 10).


Figura 10: Linha de comando


É possível executar arquivos (com opções de comando) após o término do Setup.

9) Opção de criar o pacote ou apenas salvar o script para uso posterior (Figura 11).


Figura 11: Criação do pacote


Armadilhas

A geração do pacote de instalação é um processo bastante simples, praticamente um “Next > Next > Finish”. Entretanto, algumas armadilhas e limitações devem ser consideradas.

1) Requisito mínimo: para rodar o Access Runtime XP, é necessário ter Windows 98 SE ou superior, e para o Access Runtime 2003 é preciso ter Windows 2000 ou superior.

Cuidado: o Runtime XP às vezes pode até ser instalado no Windows 95, mas não vai funcionar.

2) Idioma: é possível gerar Access Runtime em qualquer idioma suportado pelo Office. Ao gerar o pacote, o P&DW procurará os arquivos correspondentes ao idioma selecionado na tela da Figura 7. Se não encontrar, ele pedirá o CD do Office Professional do idioma desejado (Figura 12). Não se trata do CD Office Developer, mas sim do CD do Office Professional mesmo.


Figura 12: Solicitação do CD com idioma escolhido


O problema aqui é o seguinte: cada filial da Microsoft tem autonomia para lançar uma versão local do Office Developer, incluindo o CD do Office Professional com idioma local + CD Office Developer (sempre em inglês). No Brasil a Microsoft optou por não lançar versão localizada, então o CD do Office Professional é em inglês. Logo, para gerar o Runtime em português, é necessário ter um segundo CD do Office Professional, com o nosso idioma.


3) Regional Settings: ao instalar o Access Runtime XP numa máquina com Windows 98, pode aparecer a seguinte mensagem:

“The Office System Pack cannot be installed on this system because the languages are not the same. Install the Office System Pack for the appropriate language on your computer. For assistance, contact your application provider”.

Para resolver este problema, altere os Regional Settings da máquina onde está sendo instalado o Runtime para que fiquem iguais aos da máquina de desenvolvimento. Após a instalação, pode restaurar as configurações anteriores.

4) Access Runtime em conjunto com outra versão do Access, na mesma máquina: este é seguramente o maior problema de se trabalhar com o Runtime. Os arquivos MDB, MDE e MDW são sempre associados à versão do Access mais recentemente utilizada na máquina, e não à versão de origem do arquivo. Assim, se eu executar o Access 97 e depois tentar abrir um MDB feito no 2000, o Windows chamará o Access 97, pois será o programa associado às extensões MDB/MDE/MDW naquele momento.

Uma solução é criar atalhos para os aplicativos especificando a versão do Access que deve ser utilizada (exemplo: "C:\Program Files\Microsoft Office 97\Office\msaccess.exe").

Outra solução é usar alguma ferramenta que detecte a versão usada para criar o MDB/MDE e chame o executável correto. Uma dessas ferramentas é o ACCVER (www.aylott.com.au/accver.htm), que tem preços bastante razoáveis.

Na edição 42 da Fórum Access foi publicado um artigo (do J. B. Tomé) ensinando a alterar o Setup.stf para instalar o Runtime 97 em registro independente no Windows, vale a pena ler este material.

Também existem scripts de instalação feitos pela empresa SageKey (www.sagekey.com), que tem soluções de excelente qualidade para Access, porém bastante caras.


Licenças

O Office Developer é uma ferramenta cujo principal atrativo é a licença para distribuir o Access Runtime e os componentes ActiveX incluídos no produto.

Há muitas dúvidas sobre a gratuidade do Access Runtime, principalmente após a Microsoft ter disponibilizado para download o Access 2000 Runtime Minimum, no artigo 243957 da Knowledge Base. Entretanto, conforme o próprio artigo explica, o download só é permitido para quem tem licença do Office 2000 Developer, caso contrário será pirata.

Outra dúvida que costuma aparecer é sobre a possibilidade de distribuição do Access Runtime contido no Office XP Professional. Para resolver esta questão, consultei o próprio departamento de licenças da Microsoft/EUA, e a resposta foi clara: para distribuir o Access Runtime, é necessário ter a licença do Office Developer da versão correspondente ao Runtime. Nenhum outro produto autoriza a distribuição do Access Runtime.

É muito importante que o desenvolvedor esteja atento a este requisito, caso contrário pode (mesmo que de boa-fé) estar instalando programas piratas em seus clientes, sem saber.


Conclusão

A possibilidade de instalar aplicativos feitos no Access em máquinas que não tenham o Office é um recurso essencial para quem desenvolve com esta ferramenta, caso contrário a distribuição ficaria bastante limitada. Entretanto, em razão das “armadilhas” descritas neste artigo, não é nada aconselhável distribuir indistintamente pacotes com aplicativo + Runtime, pois certamente muitos usuários enfrentarão situações que apenas um especialista saberia resolver. Problemas desta natureza, sem o devido suporte, comprometem a imagem da solução e do próprio desenvolvedor. Assim, minha regra de bolso é a seguinte: só distribua pacotes com Access Runtime para ambientes controlados (empresas e escritórios que tenham suporte qualificado para lidar com a ferramenta), não coloque livremente no mercado.


Data: dezembro/2003
Autor: Luiz Claudio C. V. Rocha
Microsoft MVP Office
http://www.access.online.pt

Links relacionados:
http://www.access.online.pt
http://www.sagekey.com
http://www.aylott.com.au/accver.htm

Artigos relacionados:
  Nenhum artigo relacionado



 

   Copyright © Ativo Access 2003 - 2020- Todos os direitos reservados   Política de Privacidade | Fale conosco