Где на самом деле хранятся записи Win32_Product в вариантах Server2K12 или Win*?

Из какой базы данных Windows или источника данных Win32_Product извлекает информацию, если не из реестра? Например,

if(Get-WmiObject -Class Win32_Product -Filter "Name like '%PRODUCT%'") {
    echo  Write-Host "PRODUCT IS Installed" 
    exit 0;
} 

возвращает много информации об установленном продукте (хотя этот метод имеет другие проблемы https://stackoverflow.com/questions/25268491/alternative-to-win32-product)

Теперь мне любопытно, но я не смог найти много подробностей о том, откуда wmi на самом деле берет эту информацию.

Фон:

Попав в небольшую путаницу с поврежденным деинсталлятором для клиента резервного копирования, который конфликтует с другим клиентом резервного копирования, который мне нужно установить, я попытался удалить клиент вручную, что включало в себя:

  • перемещение / удаление файлов программы c:\Program Files\ для клиента (резервное копирование)
  • копаться в реестре и удалять записи, такие как: {HKCU|HKLM}\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall (Установка и удаление программ)
  • отмена регистрации клиентских сервисов с помощью "sc delete "
  • Удаление папки C:\Windows\Installer\{GUID} (резервная копия)

Запрос к Win32_Product показывает, что программное обеспечение все еще установлено, но, разумеется, "Установка и удаление программ" не выполняется (поскольку я удалил записи реестра).

Я могу более подробно рассказать о том, что я пробовал, прежде чем идти по ручному маршруту, если это необходимо.

0 ответов

Другие вопросы по тегам