Pergunta

Eu tenho um projeto de implantação .NET. Eu gostaria de adicionar uma ação de desinstalação personalizada que verifica certas condições e, opcionalmente, cancela a desinstalação. Isso é possível?

Tanto quanto eu descobri, é apenas possível definir ações personalizadas que não podem influenciar o próprio instalador principal.

Foi útil?

Solução

A resposta é realmente muito fácil mas também muito feio.

No ponto na ação personalizada onde eu quero cancelar a desinstalação Acabei de jogar uma ApplicationException:

//Nono. Don't uninstall. To abort uninstall, throw an exception
throw new ApplicationException(Constants.CONST_APP_NAME + @" can't be uninstalled because the preparation hasn't been completed.");

Outras dicas

Ele me surpreenderia se é possível. Na minha experiência, assim que você tentar usar o VS instalar projeto para fazer qualquer coisa que não pode ser drag'ndropped no designer, você está pedindo para ter problemas.

Em outras palavras, é uma porcaria, mas eu não sei se a grama é mais verde do outro lado (por exemplo, InstallShield), porque eu nunca usei isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top