Итак, я пытался понять, как работает установщик Windows, пытаясь решить эту проблему. В его нынешнем виде я иду в раздел «Установка и удаление программ» и удаляю программное обеспечение.
Я думаю, это вызываетmsiexec.exe /x {product id}
и удаляет программное обеспечение. Проблема в том, что единственное, что он действительно удаляет, - это значок на рабочем столе и пара файлов, и я думаю, один ключ реестра.
С тех пор я пытался понять, что именно msiexec.exe /x
делает при его вызове. Я думаю, он просматривает InstallExecuteSequence
таблицу в .msi
файле и выполняет все действия? Я действительно не уверен на 100%. Заглянув внутрь файла .msi
, я вижу, что есть таблица RemoveFile
иRemoveRegistry
, а также действие DeleteService, но я просто не понимаю, как все это сочетается друг с другом и почему он не удаляет все, что помещает, когда я устанавливаю программное обеспечение .
Конечная цель здесь - удалить службы, удалить ключи реестра и удалить корневую папку, созданную в файлах программы. Может ли кто-нибудь дать представление?