Buscar

Instalando o bde com o inno setup

Código

Em determinadas situações, nosso cliente resolve que precisa formatar o disco rígido e, prudentemente, faz um backup dos dados e da atual instalação do nosso software.

Após, formata o HD e restaura os backups, e o programa simplesmente deixa de funcionar, surgindo a famosa mensagem:

"An error ocurred while attempting to initialize the Borland Database Engine (error $2109)"

Tal erro acontece com programas que usam Paradox e dBase e que têm como mecanismo de acesso aos dados a Borland Database Engine (BDE), que foi durante anos o principal meio de se trabalhar com tabelas em aplicativos Delphi.

O sumiço se deve, geralmente, ao técnico que o cliente contratou para formatar a máquina (ou o próprio cliente, algum funcionário, amigo ou filho "entendedor do assunto"), e que em geral nunca ouviu falar da BDE, e não faz cópia de nada, muito menos se preocupa com a necessidade de reinstalar esta peça vital no funcionamento dos nossos programas.

É um problema que ocorre com certa frequência, e foi um dos motivos pelos quais abandonei o uso do BDE.

Desenvolvi, então, módulos de migração para o DBISAM - engine que atualmente faz o acesso aos dados nos meus softwares - que, adivinhe só, não funcionaram porque não há meios de abrir os antigos arquivos Paradox, já que a BDE está ausente ou mal-instalada.

Portanto, para poder rodar os módulos de importação de dados, tem que reinstalar o BDE no cliente. Mas, como instalar o BDE sozinho, sem nenhum outro software? E, importante, fazer de forma que esteja de acordo com as normas de distribuição da Borland, que reza que seja feito por um instalador homologado pela empresa? Melhor ainda, com mensagens em português (onde for possível) e sem que nosso usuário leigo se atrapalhe?

Pela frequência com que semelhante pergunta se repete nesse e em outros grupos de discussão sobre Delphi, resolvi escrever algo a respeito, contando como solucionei o problema, usando o Inno Setup para gerar o programa de instalação.

Passo 1:

Instale o Inno Setup. Faça o download gratuito em http://www.jrsoftware.org/

Passo 2:

Baixe as mensagens em português daqui (note os espaços no nome):
http://kylix.virtualave.net/forum/Jr PT-Br 3.06.isl

Passo 3: (passos 3 e 4 traduzidos da página do Inno Setup)

Baixe o programa MiniReg.exe para o diretório origem de sua instalação, a partir do endereço http://www.jrsoftware.org/files/MiniReg.exe

MiniReg é um utilitário que Jordan Russel (autor do Inno Setup) escreveu, e que contém um subconjunto das funcionalidades do programa REGSVR32.EXE, da Microsoft. (REGSVR32.EXE não é usado porque não vêm preinstalado em algumas versões do Windows 95).

Passo 4: Extraia o arquivo BDEINST.DLL do arquivo BDEINST.CAB, localizado (geralmente) em Arquivos de ProgramasArquivos ComunsBorland SharedBDE. Para isso, use o WINZIP ou digite "extract BDEINST.CAB" na linha de comando. Se o BDEINST.CAB não existir, e nem em seu CD do Delphi, baixe-o daqui http://www.jrsoftware.org/files3/bdeinst.cab

Passo 5: Mova o arquivo BDEINST.DLL para o diretório origem de sua instalação.

Passo 6: Coloque as linhas abaixo no seu script do Inno Setup e compile:



[Files]
Source: MiniReg.exe; DestDir: {tmp}
Source: BdeInst.dll; DestDir: {tmp}

[Run]
Filename: {tmp}MiniReg.exe; Parameters: """{tmp}BdeInst.dll"""

[Setup]
OutputDir=C:DelphiBDE
OutputBaseFilename=bde_setup
MessagesFile=C:DelphiInnoJr PT-Br 3.06.isl
Compression=bzip
AppName=Borland Database Engine
AppVerName=Borland Database Engine 5.1.1
DisableProgramGroupPage=true
DefaultDirName={tmp}
DisableDirPage=true
DisableStartupPrompt=true
Uninstallable=false
CreateUninstallRegKey=false
UpdateUninstallLogAppName=false
DisableFinishedPage=true



Feito isso, você terá um instalador certificado, já que será o próprio BDEINST.DLL, da Borland, que fará a instalação dos arquivos e a criação das entradas apropriadas no registro do Windows e não o seu instalador.

 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 05/05/05
Por: Miguel Machado
Visualizada: 8342 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009