2013-12-02 7 views

ответ

2

Если у вас достаточно разрешений, вы можете сканировать локальный реестр. Соответствующие записи должны быть:

  • HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall

ниже приведен пример:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7BF61FA9-BDFB-4563-98AD-FCB0DA28CCC7}] 
"Comments"="" 
"DisplayVersion"="8.0.1557" 
"InstallDate"="20131119" 
"Publisher"="Microsoft Corporation" 
"DisplayName"="IIS 8.0 Express" 

Итерации через каждого ребенка и извлечение требуемой информации (например, DisplayName).

+0

Последующие действия: есть ли какая-либо гарантия, что я найду здесь все программное обеспечение, установленное с помощью какого-либо установщика? Или может случиться так, что если при создании установщика для приложения не указано ничего подобного, может быть, не может быть записи для этого приложения в локальном реестре? – GreatDane

+1

Насколько я знаю, до тех пор, пока установщик использует Setup API или установщик Windows, записи будут присутствовать; они требуются, если программа появится в списке «Программы и компоненты». Отдельные приложения, которые не требуют установки (и, следовательно, не имеют деинсталляции как таковой), не отображаются. – OnoSendai

Смежные вопросы