Estou tentando descobrir como o Windows (XP a 7) está lidando com a instalação e desinstalação de arquivos MSI. Surgi em situações em que o Windows Installer não pode desinstalar porque está faltando o arquivo MSI original, o que me leva a acreditar que ele armazena uma cópia de todos os pacotes MSI instalados em algum lugar. Onde?
Eu tive algumas teorias.
Ele espera que ele resida na mesma pasta em que foi instalado. As chaves do registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
apontam para a pasta de instalação original e as mensagens de erro quando o arquivo MSI está ausente geralmente apontam para isso. A remoção do arquivo MSI desta pasta não impede o processo de desinstalação, por isso recusei essa teoria.C:\Windows\Installer
. Na verdade, essa pasta contém vários arquivos MSI aparentemente aleatoriamente nomeados. Mas esta lista está incompleta. Eu encontro entradas na chave do registro mencionada em 1) que não possui uma cópia MSI nesta pasta.
Então, como isso funciona? Como o Windows Installer pode desinstalar aplicativos instalados pelo MSI, mesmo que o MSI não esteja em 1) e não em 2)?