Список установленных программ в Windows - PullRequest
2 голосов
/ 27 ноября 2010

Я хотел бы получить список уникальных установленных программ в Windows, например, в «Установка / удаление программ» в Windows. Но данные в HKLM \ Software \ Microsoft \ Windows \ Current Version \ Uninstall, есть некоторые дубликаты. Как их отфильтровать?

спасибо

Ответы [ 2 ]

2 голосов
/ 27 ноября 2010

Рекомендованный способ Win32 - использовать API установщика Microsoft. Нужная функция: MsiEnumProductsEx .

0 голосов
/ 17 декабря 2018

Проблема, с которой я столкнулся при использовании запроса «GetWmiObject» таблицы Win32_Product, заключается в том, что он ожидает, что установленные программы будут использовать стандартное имя ключа uuid, и я обнаружил, что не все поставщики называют свой ключ реестра таким образом.* С PowerShell я сделал это, чтобы просмотреть все ключи независимо от имени

$reg = Get-ChildItem "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" -Recurse
foreach ($a in $reg) {
    if ($a.GetValue("Publisher") -eq 'Publisher_Name') {
      Write-Output $a.GetValue("DisplayVersion")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...