[DELPHI] Como registrar um executável em

05/02/2019

0

Bom dia.

Estou criando um instalador em Delphi, uso alguns arquivos de recurso, durante a instalação eu baixo alguns arquivos de um FTP e está tudo certo.

Mas gostaria que a aplicação que está sendo instalada apareça em Programas e Recursos do Windows, para que seja possível desinstalar a aplicação por ali. Pelo que pesquisei, preciso registrar as chaves da aplicação em HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Uninstall

Aqui no DevMedia encontrei algumas formas de fazer isso, com o TRegistry e TRegIniFile.

Quando o Rootkey está em HKEY_CURRENT_USER, ambas as formas de registro funcionam, mas quando eu mudo para HKEY_LOCAL_MACHINE, o sistema me retorna um erro
Failed to set data for ''DisplayName''
.

Meu código de teste atual está assim:
procedure TfrmInstalador.AdicionarRegistros;
var
  reg        : TRegistry;
  xArquivo:String;
begin
  xArquivo:='SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Uninstall\\\\MeuSistema';
  reg := TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.OpenKey(xArquivo,True);
  reg.WriteString('DisplayName','Teste');
end;


Para registrar nesse root, preciso de alguma configuração ou código específico?
Ou se alguém souber indicar o caminho correto para a aplicação aparecer em Programas e Recursos, será muito válido também.

Desde já, obrigado!
César Carvalho

César Carvalho

Responder

Post mais votado

05/02/2019

Olá Cesar, tudo bem?

Para gravar estes comandos no registro, você tem que ir no menu Project -> Options e na cessão Application procure uma opção que diga que o programa irá executar como administrador.

Porém, só isto não é o suficiente para remover um programa do computador, você precisa de um executável que apague os arquivos. O melhor jeito é criar um instalador com uma ferramenta própria que já faz tudo isso pra você.

Sugiro que você use o inno Setup (http://www.jrsoftware.org/isdl.php) que usa pascal para gerar executável de instalação e como IDE pode usar o Inno Studio (https://www.kymoto.org/).

Ao aprender fazer um instalador com inno Setup você pode selecionar os arquivos, montar os icones no menu iniciar, e muitos outros recursos profissionais para instaladores e ao voce instalar seu programa com InnoSetup ele já cria tudo no painel de controle para você desinstalar depois...


Espero ter ajudado. Um forte abraçoe fique com Deus.

Hélio Devmedia

Hélio Devmedia
Responder

Mais Posts

07/02/2019

César Carvalho

Hélio, boa tarde amigo.

Muito obrigado pela ajuda, deu certo aqui e está show de bola!

A sua dica sobre rodar o instalador como administrador deu certo, tive que fazer um procedimento para criar um arquivo .manifest e depois vincular ele ao 'Project -> Options -> Application -> Custom Manifest', agora a aplicação exige permissão de adm para abrir.

Mas descobri que para que o programa possa aparecer em Programas e Recursos do Windows, não preciso necessariamente registrar em HKEY_LOCAL_MACHINE, em HKEY_CURRENT_USER já funciona, claro que só vai aparecer para o usuário atual, e não para todos os usuários da máquina, mas era exatamente o que eu precisava.

Criei também um desinstalador para apagar os arquivos da pasta de instalação e os registros e pronto. Agora minha aplicação aparece em Programas e Recursos e se eu clicar em Desinstalar/Alterar ele chama esse desinstalador e faz o serviço.

Preferi fazer o meu instalador/desinstalador ao usar uma aplicação do tipo InnoSetup pelo desafio e para ter maior controle sobre o processo.

Dessa forma também, durante as atualizações automáticas, eu consigo manter a versão do sistema sempre atualizada nos registros.

Obrigado novamente, abraço e fique bem!

=]c





Responder

08/02/2019

Hélio Devmedia

Que bom que você conseguiu, fico feliz por você...

Só quero lembrar pra não subestimar o InnoSetup porque ele é um gerador de Instalação baseado em linguagem de programação que aceita usar linguagem Pascal (a que deu origem ao Delphi) e na prática quase não há diferença com o Delphi.

O Inno Setup então te permite ter um total controle sobre a instalação do que você quer, e só utilizamos o Inno studio para fazer as partes mais repetitivas como selecionar ícones, arquivos ou criar grupos de instalação.

Desejo a você bons estudos e fique com Deus.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar