Fórum [DELPHI] Como registrar um executável em #600303
05/02/2019
0
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
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
Curtir tópico
+ 0Post mais votado
05/02/2019
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

Gostei + 2
Mais Posts
07/02/2019
César Carvalho
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
08/02/2019
Hélio Devmedia
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
Clique aqui para fazer login e interagir na Comunidade :)