[DELPHI] Como registrar um executável em

Delphi

Windows

05/02/2019

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

Curtidas 0

Melhor post

Hélio Devmedia

Hélio Devmedia

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.
GOSTEI 2

Mais Respostas

César Carvalho

César Carvalho

05/02/2019

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





GOSTEI 0
Hélio Devmedia

Hélio Devmedia

05/02/2019

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.
GOSTEI 0
POSTAR