Como desinstalar o pacote MSI perigoso

0

Estou desenvolvendo um programa em c #. Estou usando Advanced Installerpara criar o pacote de instalação MSI para o meu programa.

Version 1do meu pacote de instalação do MSI estava criando um atalho para o meu programa no Windows Start Menu. Na desinstalação, eu queria que ele excluísse esse atalho da pasta Menu Iniciar, mas cometi algo errado e ele exclui toda a Start Menupasta em vez de atalho para o meu programa.

Agora eu quero espalhar o Version 2meu pacote de instalação do MSI. Mas antes da instalação do Version 2 Version 1deve ser desinstalado primeiro - e aqui o problema vem à tona. Não quero que meus usuários percam suas Start Menu...

Existe alguma maneira de resolver esta situação?

Gabriel
fonte
2
As questões de programação estão fora de tópico aqui. Mas sua pergunta também é muito ampla. Como você acha que as pessoas podem responder sem conhecer seu código / configurações?
Máté Juhász
Por que ele precisa desinstalar? Você pode configurar o Adv Installer para instalar por cima do outro msi. Talvez defina opções de exclusão para remover itens que você não deseja manter e apenas atualize o que você faz.
21317 Joe Joe
@ MátéJuhász - Não é um broto questão de codificação, é um 'eu não testar algo corretamente e agora preciso de alguns conselhos' questão
Joe Taylor
Você está certo @JoeTaylor. Não testei corretamente primeiro. Esta poderia ser a solução para mim: configurar o Advanced Installer para instalar por cima de outros msi. Então, como posso fazer isso? (Eu não quero alterar meu GUID do produto.) #
222 Gabriel Gabriel

Respostas:

0

Você está executando uma ação personalizada no seu MSI que exclui o atalho? Nesse caso, a única maneira confiável que conheço é corrigir o produto instalado com uma pequena atualização do MSI para eliminar essa ação personalizada da execução na desinstalação. Quando esta atualização foi instalada, você pode desinstalar o produto e a ação personalizada do problema não deve mais ser executada.

Em termos técnicos, a atualização secundária transformará o banco de dados MSI em cache no sistema para que a ação personalizada de desinstalação não seja executada. Isso está bastante envolvido, se você não tiver feito isso antes, mas é um "procedimento de trabalho". Tudo depende do seu nível de habilidade MSI.

Qual é o tamanho da sua base de usuários?

Stein Åsmul
fonte