Como criar um instalador de componentes

Veremos neste artigo como desenvolver um instalador de componentes para o Delphi a partir de uma aplicação VCL Forms, facilitando esse processo que geralmente toma bastante tempo das equipes de desenvolvimento.

Fique por dentro

Este artigo é útil para desenvolvedores e empresas que utilizam no Delphi componentes de terceiros, cuja instalação toma sempre algum tempo quando é necessário reinstalar ou iniciar um novo ambiente de desenvolvimento, devido à formatação das máquinas ou chegada de um novo membro na equipe.

Desenvolveremos aqui um instalador de componentes que irá simplificar a adição destes adicionais ao IDE.

Ao trabalhar com muitos componentes, começamos a ter dificuldades na hora de reinstalá-los devido à grande quantidade e às vezes incompatibilidades entre versões. Esse tipo de tarefa acaba por tomar tempo que poderia ser utilizado para atividades práticas de desenvolvimento.

Seguir os passos tradicionais para instalação de componentes não é uma tarefa fácil nem mesmo para programadores mais experientes, é um processo cansativo e programadores novatos não têm a experiência adequada para tal processo.

Componentes como JEDI, DevExpress, FastReport e ACBR têm uma coleção muito grande de pacotes principais e um número muito grande de pacotes dependentes, fazendo com que a instalação se torne mais cansativa, pois deve ser seguida uma ordem, que se não for respeitada pode acarretar erros para o projeto.

Como são distribuídos os componentes

Os componentes no Delphi podem ser distribuídos através da instalação de arquivos de extensão pas, dcu, dpk ou através de instaladores.

· PAS: Para arquivos pas, execute o Delphi e feche o projeto, acesse o menu “Component” e clique na opção “Install componente”. Na janela que se apresenta, acesse a aba “Into New Packages”, clique no botão “Browse” ao lado da caixa de texto “Unit File Name” e abra o arquivo com extensão *.pas. Dê OK e logo após “Compile” e “Install” e o arquivo criará uma aba na barra de componentes com um nome para a sua localização.

· DCU: Para arquivos com a extensão *.dcu, o processo é um pouco mais complicado. Acesse o menu “Component” e clique na opção “Install package”. Verifique se na lista “Design packages” existe a opção “Borland user componente”, se sim, clique no botão “Edit” e será aberta uma caixa de mensagens.

Clique no botão “Yes”. Na janela que aparece, clique no botão “Add” e na janela que se abrirá clique no botão “Browse” da caixa de texto “Unit file name”.

Na caixa de combinação “Files of type” escolha “Delphi compiled unit(*.dcu)” e depois na caixa de texto “File name” direcione o arquivo a ser instalado clicando no botão “Open”. Clique no botão “Ok” na janela que aparece e clique no botão “Install”.

· DPK: Para instalar pacotes de componentes, execute o Delphi e feche o projeto, acesse o menu “File” e clique na opção “Open”. Abra o arquivo que contém os componentes. Dê “Ok” e depois é só clicar em “Install”.

· Instaladores: Com instaladores tudo se torna mais fácil, basta usar o instalador disponível e utiliza o "next-next-finish".

Todo esse procedimento realiza a instalação de apenas um pacote, então em cenários reais onde se tem diversos pacotes a serem instalados, todo o trabalho é multiplicado.

Independente da forma como são instalados, o Delphi utiliza uma única forma para localizar os componentes e exibi-los em suas devidas paletas, para isso ele utiliza o registro do Windows. Para definir os componentes a serem exibidos, o Delphi verifica se se existe um registro na seção “HKEY_CURRENT_USER\Software\Embarcadero\BDS\<Versão>\Known Packages”, onde <Versão> seria a versão do Delphi que estamos utilizando.

Além disso ele utiliza a seção “HKEY_CURRENT_USER\Software\Embarcadero\BDS\<Versão>\Palette\Cache” para identificar os componentes do pacote que serão apresentados na paleta.

Dessa forma, para declarar um pacote e seus componentes no Delphi XE2, basta que declaremos a seção Known Packages, com isso, ao ler o método “Register” ele irá identificar seus componentes e registrá-los na seção Palette

Ao contrário de seu antecessor, o Delphi 7, no qual tínhamos que declarar os componentes manualmente, o XE2 possui recursos para facilitar essa operação.

Para o correto funcionamento dos componentes devemos adicionar os caminhos utilizados na nossa Library Path e para isso utilizamos o registro “HKEY_CURRENT_USER\Software\Embarcadero\BDS\<Versão>\Library\<Plataforma>\ Search Path”.

Aqui <plataforma> é a plataforma de compilação que o componente suporta, que pode ser OSX32, Win32, Win64 para Delphi XE2, e Android32, iOSDevice, IOSSimulator, OSX32, Win32, Win64 para o XE5.

Extensões de arquivos do Delphi

Para lidar corretamente com os diversos tipos de arquivos gerados pelo Delphi na criação de componentes, é preciso compreender para que serve cada uma das extensões utilizadas.

· PAS (Delphi Source File): Os arquivos PAS são sempre o código-fonte do programa e são os arquivos que contêm a maior parte do código em um aplicativo.

· DCU (Delphi Compiled Unit): É uma unidade PAS compilada. Por padrão, a versão compilada de cada unidade é armazenada em um arquivo no formato binário separado com o mesmo nome que o arquivo de unidade, mas com a extensão .DCU.

Por exemplo, Unit1.dcu contém o código e os dados declarados no arquivo Unit1.pas. Quando você compila um projeto, as unidades individuais não são recompiladas, a menos que seu arquivo fonte (.pas) tenha sofrido alterações desde a última compilação, ou caso os arquivos .dcu não possam ser encontrados.

· DPK (Delphi Package): Este arquivo contém o código-fonte de um pacote, que na maioria das vezes é uma coleção de várias unidades. Eles são utilizados para construir bibliotecas de ligação dinâmica (DLLs) especiais chamadas pacotes (BPL).

· BPL (Borland Package Library): Este arquivo é como uma DLL do Windows, porém com recursos específicos do Delphi integrados a ela.

O que é o registro do Windows

Também conhecido como registro do sistema, Registro do Windows é um banco de dados hierárquico central no sistema operacional Windows, usado para armazenar as informações necessárias à configuração do sistema para um ou mais usuários, aplicativos e dispositivos de hardware.

O registro contém informações às quais o Windows faz referência continuamente durante a operação, como os perfis de cada usuário, os aplicativos instalados no computador e os tipos de documentos que cada um pode criar, configurações da folha de propriedades para ícones de pastas e aplicativos, o hardware existente no sistema e as portas que são usadas.

O registro substitui a maioria dos arquivos .ini com base em texto usados nos arquivos de configuração do Windows 3.x e do MS-DOS, como o Autoexec.bat e o Config.sys, assim concentra todas as informações editáveis do sistema operacional e da maioria dos softwares instalados, tornando a administração dessas informações mais fácil. "

[...] continue lendo...

Artigos relacionados