Сначала убедитесь, что у вас есть правильные разрешения для доступа к серверу. Затем помните (это дало мне пару раз), что вместо c: \ path вы использовали бы общий ресурс администратора для доступа к удаленному компьютеру, который является \ remotecomputer \ c $ \ path.
Я полагаю, что Ваш синтаксис использует класс Win32_Product в WMI. Одна причина состоит в том, что этот класс только отображается, продукты, установленные с помощью Windows Installer (, Посмотрите Здесь ). Ключ реестра удаления является Вашим лучшим выбором. Вот некоторый код для контроля ключа реестра.
ОБНОВЛЕНИЕ ДЛЯ КОММЕНТАРИЕВ:
Ключ реестра Удаления является стандартным местом для списка то, что установлено и что не установлено. Это - местоположение, которое Добавить/Удалить список Программ будет использовать для заполнения списка приложений. Я уверен, что существуют приложения, которые не перечисляют себя в этом месте. В этом случае необходимо было бы обратиться к другому более сырому методу, такому как поиск каталога Program Files или взгляд в Списке Программ Меню "Пуск". Оба из тех путей определенно не идеальны.
, По-моему, смотря на ключ реестра лучший метод.
Все, что Добавляет/Удаляет Программы, действительно делает, читает этот Ключ реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall