Я не вижу, как это было бы полезно, все в добавления / удаления программ или appwiz.cpl находится в реестре в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall в качестве подраздела.
Установщики MSI записывают свой GUID в формате {AFF7153F-C4AA-4C48-AEE9-8611D276CE86}
На самом деле это не проблема, а сложность чтения ключей. Есть несколько способов прочитать их. Во-первых, есть имя значения DisplayName, которое будет иметь более дружественное значение (в этом примере) Quest ActiveRoles Management Shell для Active Directory (x64).
Другой подход заключается в том, что Windows записывает «сжатую и хэшированную» версию GUID в другую часть реестра.
Чтобы хэшировать значение, возьмите GUID {AFF7153F-C4AA-4C48-AEE9-8611D276CE86} и поменяйте местами каждый набор шестнадцатеричных значений.
AFF7153F становится F3517FFA, C4AA становится AA4C и включает GUID, пока у вас не появится следующее:{F3517FFA-C4AA-84C4-9EEA-68EC672D1168}
Теперь опустите {, -, и}, чтобы получить F3517FFAC4AA84C49EEA68EC672D1168 Теперь у вас есть сжатый и хешированный GUID, который вы можете сравнить с другим ключом.
Теперь вы сможете найти этот новый GUID по следующему адресу в реестре:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products
По сути, все удаление из appwiz.cpl или Установка / удаление программ - это вызов строки удаления HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, вы можете легко скопировать эту команду в командной строке и получить те же результаты.
Что касается потерянных файлов, которые сторонние деинсталляторы утверждают, что удаляют, я бы не стал воспринимать риск как достаточно низкий для небольшого выигрыша. Обычно то, что осталось, не имеет значения, ключ реестра с лицензионной информацией или ключом, или папка C:\Program Files\ApplicationName, которую я могу легко удалить самостоятельно. Я видел приложения, пытающиеся стереть совместно используемые файлы dll, и я бы в 10 раз больше беспокоился о том, что Рено поймает ссылку на общий dll и очистит ее для меня, нарушив другую установку.