MSI atualizar e manter chaves de registro?

Temos um produto, 1.0, no campo. Eu estou tentando atualizar o instalador para que o produto possa instalar sobre a versão antiga, para instalar uma nova versão, 2.0. Estou usando um projeto de instalação do Visual Studio 2010 para fazer isso.

Mantive o UpgradeCode e configurei remover versões anteriores para true, e o novo instalador instalará com êxito o antigo, removendo o antigo.

No entanto, parece que a desinstalação do antigo MSI acontecedepois de a instalação do novo MSI. Ambas as MSIs implantam as mesmas chaves de registro (já que nosso código que as usa não foi alterado) ... mas isso significa que, quando o MSI antigo é desinstalado, ele remove essas chaves de registro. E desde que a desinstalação acontece após a instalação do novo MSI ... essas chaves acabaram de sair.

Existe uma maneira fácil de evitar isso? Este parece ser um caso de uso bastante normal, mas não consigo descobrir como devo manter essas chaves de registro se o instalador antigo as remover.

Edit: Então, eu descobri como mover a etapa RemoveExistingProduct no início do processo. E eu verifiquei novamente - sim, no VS2005 foi feito primeiro, em 2010 é feito quase por último. Não tenho certeza de como eles esperam que isso funcione, se o desinstalador antigo remover coisas que o novo instalador adiciona ... enfim, é só uma questão de obter o Orca e editar o número de sequência da etapa.

questionAnswers(1)

yourAnswerToTheQuestion