Использование установщика Windows для инвентаризации продуктов и исправлений
Пользователи и приложения с правами администратора могут использовать функции установщика Windows для инвентаризации приложений установщика Windows, компонентов, компонентов и исправлений, установленных в системе.
Начиная с установщика Windows 3.0, пользователи и приложения с правами администратора могут перечислять приложения установщика Windows, компоненты, компоненты и исправления, установленные в системе всеми пользователями. Администраторы и приложения могут получать сведения о продукте или исправлении для конкретного пользователя или всех пользователей в системе. Приложения могут получить состояние функции или состояние компонента для конкретного пользователя.
Функции инвентаризации, доступные начиная с установщика Windows 3.0, могут ограничить область элементов, которые будут найдены контекстом установки и контекстом пользователя. Существует три возможных контекста установки: для каждого пользователя, для всех пользователей этого компьютера и управляемый пользователем. Контекст пользователя может быть конкретным пользователем или всеми пользователями в системе.
Версии функций инвентаризации установщика Windows, предшествующие установщику Windows 3.0, могут перечислять только элементы, установленные в системе в контексте машины или в контексте текущего пользователя. Это ограничение предотвращает полный список всех продуктов установщика Windows и исправлений, установленных в системе пользователями, кроме текущего пользователя.
- Перечисление товаров
- перечень исправлений
- получение сведений о продукте
- получение сведений о обновлении
- получение сведений о состоянии компонента
- получение сведений о состоянии компонента
Перечисление продуктов
Используйте функцию MsiEnumProductsEx для перечисления приложений установщика Windows, установленных в системе. Эта функция может найти все установки на компьютеры и установки приложений (управляемых и неуправляемых) для текущего пользователя и других пользователей в системе. Используйте параметр dwContext, чтобы указать контекст установки, который нужно найти. Можно указать любое или любое сочетание возможных контекстов установки. Используйте параметр szUserSid, чтобы указать контекст пользователя для найденных приложений.
Перечисление исправлений
Используйте функцию MsiEnumPatchesEx для поиска исправлений, применяемых для приложения. Эта функция может найти исправления, примененные для конкретного приложения или для всех приложений в системе. Эта функция может найти исправления, применяемые ко всем установкам на компьютер и установкам приложений (управляемых и неуправляемых) для текущего пользователя и других пользователей в системе.
Контекст установки и контекст пользователя можно использовать для ограничения перечисления исправлений в определенном контексте или во всех контекстах. Используйте параметр dwContext, чтобы указать контекст установки, который нужно найти. Можно указать любое или любое сочетание возможных контекстов установки. Используйте параметр szUserSid, чтобы указать контекст пользователя для найденных приложений.
Перечисление исправлений, примененных ко всем продуктам, объявленным или установленным всеми пользователями в системе
- Вызовите функцию MsiEnumPatchesEx .
- Используйте NULL для значения параметра szProductCode.
- Используйте s-1-1-0 для значения параметра szUserSid.
- Используйте "MSIINSTALLCONTEXT_ALL" для значения параметра dwContext.
Перечисление исправлений, примененных ко всем продуктам, объявленным или установленным всеми пользователями в системе
Вызовите функцию MsiEnumProductsEx.
- Используйте NULL для значения параметра szProductCode.
- Используйте s-1-1-0 для значения параметра szUserSid.
- Используйте "MSIINSTALLCONTEXT_ALL" для значения параметра dwContext.
Функция предоставляет код продукта, контекст пользователя и контекст установки для каждого найденного приложения.
Для каждого приложения, перечисленного на шаге 1, вызовите MsiEnumPatchesEx для перечисления исправлений.
Используйте коды продуктов, а также контексты пользователей и установки, полученные из MsiEnumProductsEx, для установления значений szProductCode, szUserSid, dwContextи для каждого вызова функции MsiEnumProductsEx.
Получение сведений о продукте
Используйте функцию MsiGetProductInfoEx для получения сведений о приложениях, объявленных или установленных в системе, и свойств, которые можно получить. Эта функция может получить сведения об экземпляре приложения, установленного под учетной записью пользователя, отличающейся от текущего, но не может запрашивать экземпляр продукта, разрекламированного в контексте неуправляемого уровня для учетной записи пользователя, отличной от текущей.
Контекст установки и контекст пользователя можно указать, чтобы ограничить сведения для приложений, установленных в определенном контексте. Используйте параметр dwContext, чтобы указать контекст установки, который нужно найти. Можно указать только один из возможных контекстов установки. Используйте параметр szUserSid, чтобы указать контекст пользователя для найденных приложений.
Получение сведений о исправлении
Приложение может вызвать функцию MsiGetPatchInfoEx для запроса сведений о применении исправления к указанному экземпляру продукта. Свойства, такие как LocalPackage, Transformsи State, можно получить с помощью этой функции. Не все значения свойств гарантированно будут доступны для неуправляемых приложений для каждого пользователя, если пользователь в данный момент не вошел в систему на компьютере. Можно указать только один из возможных контекстов установки.
Контекст установки и контекст пользователя можно указать, чтобы ограничить сведения исправлениями, применяемыми к приложениям, установленным в определенном контексте. Используйте параметр dwContext, чтобы указать контекст установки, который нужно найти. Можно указать только один из возможных контекстов установки. Используйте параметр szUserSid, чтобы указать контекст пользователя для найденных приложений.
Получение сведений о состоянии компонента
Приложения могут вызывать функцию MsiQueryComponentState, чтобы получить установленное состояние компонента. Эта функция определяет, установлен ли компонент локально или установлен для запуска из источника. Функция может запрашивать компонент экземпляра приложения, установленного под учетными записями пользователей, отличных от текущего пользователя, при условии, что продукт не отображается в контексте неуправляемого использования для учетной записи пользователя, отличной от текущего пользователя.
Можно указать контекст установки и контекст пользователя, чтобы получить состояние компонентов для приложений, установленных в определенном контексте. Используйте параметр dwContext, чтобы указать контекст установки, который нужно найти. Можно указать только один из возможных контекстов установки. Используйте параметр szUserSid, чтобы указать контекст пользователя для найденных приложений.
Получение сведений о состоянии компонента
Приложения могут вызывать функцию msiQueryFeatureStateEx, чтобы получить установленное состояние для компонента продукта. Эта функция определяет, объявлена ли функция, установлена ли локально или установлена для запуска из источника. Функцию можно использовать для запроса любой функции экземпляра приложения, установленного под учетной записью компьютера, или любого контекста в текущей учетной записи пользователя или управляемого контекста для каждого пользователя в любой учетной записи пользователя, отличной от текущего пользователя. Эта функция не может запрашивать приложение, установленное в неуправляемом контексте для учетной записи пользователя, отличной от текущего пользователя. Можно указать только один из возможных контекстов установки.
Вы можете указать контекст установки и контекст пользователя, чтобы получить состояние компонентов для приложений, установленных в определенном контексте. Используйте параметр dwContext, чтобы указать контекст установки, который нужно найти. Можно указать только один из возможных контекстов установки. Используйте параметр szUserSid, чтобы указать контекст пользователя для найденных приложений.