Запросить Windows, если приложение установлено с помощью UpgradeCode - PullRequest
1 голос
/ 22 июня 2009

Я пытался запросить Window (XP и Vista), чтобы проверить, установлена ​​ли какая-либо версия одного из наших пакетов программного обеспечения с UpgradeCode (в этом случае UpgradeCode является единственным статическим GUID от версии к версии). Я пытался сделать это с помощью WMI и объекта WindowInstaller.Installer, но безуспешно. Я должен написать этот запрос из C #. Спасибо за любую помощь или направление, которое вы можете предоставить.

1 Ответ

1 голос
/ 21 июля 2010

Вам необходимо использовать функцию MsiEnumRelatedProducts из MSI.DLL. Эта ссылка описывает, как его использовать:

http://msdn.microsoft.com/en-us/library/aa370103(VS.85).aspx

Это неуправляемая DLL, поэтому вам нужно ее импортировать. Я использую его в VB.net для проверки кода.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...