Я пытаюсь понять разницу между ключами GUID и не GUID в HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall.
Некоторые вещи имеют ключ GUID и ключ не GUID, с очень разными UninstallStrings. Например, Autodesk Revit имеет хорошую UninstallString в ключе GUID
MsiExec.exe /X{7346B4A0-1900-0510-0000-705C0D862004})
Но в ключе без GUID UninstallString на самом деле является строкой патча, я думаю.
C:\Program Files\Autodesk\Revit 2019\Setup\Setup.exe /P {7346B4A0-1900-0510-0000-705C0D862004} /M RVT /LANG en-US)
Но другие, такие как Autodesk Desktop App, не имеют ключа GUID, и UninstallString в ключе без GUID хорош.
C:\Program Files (x86)\Autodesk\Autodesk Desktop App\removeAdAppMgr.exe
Мне интересно, это нормально, или, может быть, что-то глупое, что делает только Autodesk? И есть ли хороший ресурс Microsoft, подробно описывающий, какая информация ожидается в различных папках удаления? Пока что не могу найти ничего подробного.
РЕДАКТИРОВАТЬ: На аналогичном примечании, я нахожу Microsoft делает дубликаты тоже, но не GUID против не. Вот три разных деинсталляции с тем же DisplayName, но указанными тремя разными GUID. Кроме того, это все установки x64, но они находятся в WOW6432Node. Разочарование.
Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {8CCEA24C-51AE-3B71-9092-7D0C44DDA2DF} /qb+ REBOOTPROMPT=""
Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {C3A57BB3-9AA6-3F6F-9395-6C062BDD5FC4} /qb+ REBOOTPROMPT=""
Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {F6F09DD8-F39B-3A16-ADB9-C9E6B56903F9} /qb+ REBOOTPROMPT=""