Desinstalar Programa através do Delphi

Delphi

04/04/2019

Pessoal, pesquisei em muitos lugares além desse fórum e não encontrei.

Meu cenário:
Na empresa que trabalho, possuímos um software que vou denominar nesse post de "SoftX".
Há muitos anos, foi criado um instalador do SoftX, ainda numa versão do InstallShield que vinha junto com o Delphi e este foi utilizado para instalação nos clientes.
Hoje, quando lançamos novas versões do SoftX, a atualização é automática no momento do login.

Devido a novas rotinas, alterações das existentes e mudança do "publico" que utiliza o mesmo, surgiu a necessidade de mudar o nome do SoftX para SoftY.
Todas as rotinas de atualização presentes no SoftX foram alteradas para conseguir enxergar e compreender que o SoftY em dado momento seria uma versão mais recente do SoftX.
No momento da atualização do X para o Y, as pastas de instalação são diferentes, então, o Y cria um novo atalho do programa, faz um backup da antiga instalação do X, e apaga a pasta, para evitar o acesso ao programa antigo.
Até aqui, tudo perfeito.

O problema ocorre quando, por algum motivo, o usuário criou um atalho do SoftX com qualquer outro nome que eu não tenha conhecimento.
Como não sabemos o nome desse atalho para removê-lo, ele permanece na área de trabalho ou qualquer outro lugar que o usuário o criou.
Se por engano o usuário executar o antigo SoftX por esse atalho, o windows faz o favor de reinstalar o SoftX, não sei como, já que a pasta que continha o .exe do SoftX foi removida.
Ai a máquina do usuário passa a contar com a versão do SoftY atualizada, e agora também com a versão antiga do SoftX.
Verifiquei que no painel de controle, ainda consta a instalação do SoftX, o que imagino que seja o motivo do windows reinstalar o programa.
Existe alguma rotina via Delphi que realize essa desinstalação sem a intervenção do usuário?

Muito obrigado!
Wesley Aip

Wesley Aip

Curtidas 0

Respostas

Wesley Aip

Wesley Aip

04/04/2019

Olá, ninguém?
GOSTEI 0
Artur Barth

Artur Barth

04/04/2019

Todo atalho aponta para o caminho absoluto do mesmo ou para outro atalho que por consequência pode apontar para o caminho absoluto.
Sabe quando você dá botão direito do Mouse » Abrir Local do Arquivo?
Ou quando você dá Botão Direito » Propriedades e está "Destino" ou "Iniciar em". Talvez tenha como capturar essa informação.

Acredito que tenha como fazer via WinApi. Eu particularmente nunca fiz nada do tipo e nunca me preocupei. Há programas que você desinstala e mesmo assim o atalho permanece na área de trabalho.

Acredito que isso te ajude.
GOSTEI 0
POSTAR