Где все возможные местоположения записей реестра UninstallString?

Я пишу установщик на основе Wix, который должен обновляться со старых, не основанных на msi установок. Я нахожу экземпляры ранее установленных компонентов путем поиска непосредственно в реестре.

найти деинсталлятор для компонента, я смотрю в

 HKLMSoftwareMicrosoftWindowsCurrentVersionUninstallMyProgram

и получает UninstallString значение. Это нормально, но я понял, что для 32-битной установки на 64-битной машине запись фактически находится в

HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallMyProgram

есть ли где-нибудь еще я должен быть глядя?

2 ответов


есть третья запись:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall

Я проверил это, и это единственные два места. Второй используется для хранения 32-разрядных программ в 64-разрядной версии Windows. Других случаев, требующих проверки, нет.