MSI: Как проверить, что продукт действительно установлен - PullRequest
4 голосов
/ 08 августа 2011

У меня есть система, которая устанавливает через Интернет несколько продуктов MSI, и у меня есть ситуация - тестер удаляет папку с продуктом, но не ключи реестра, и моя система видит, что продукт существует через реестр, и он пытается обновить его, но продукт фактическине существует.

Существует ли какая-либо функция MSI, которая помогает мне определять состояние продукта в автоматическом режиме, а если пользователь удаляет файлы - удалить весь продукт?

1 Ответ

1 голос
/ 31 октября 2011

, если вам просто нужно проверить, зарегистрирован ли продукт с помощью установщика Windows - преобразуйте код продукта вашего пакета в упакованный формат guid (например, используя скрипт из http://www.dwarfsoft.com/blog/2010/06/22/msi-package-code-fun/) и найдите его в HKCR \ Installer \Продукты.

Для фактического удаления продукта из базы данных установщика Windows - самый простой способ - использовать MsiZap из http://msdn.microsoft.com/en-us/library/windows/desktop/aa370523(v=vs.85).aspx.

...