Поделиться через


Функция MsiSourceListForceResolutionExA (msi.h)

Функция msiSourceListForceResolutionEx удаляет регистрацию свойства LastUsedSource. Эта функция не влияет на зарегистрированный список источников. Когда установщику требуется переустановить продукт или исправление, сначала он пытается использовать источник, зарегистрированный как LastUsedSource. Если это не удается, или если эта регистрация отсутствует, установщик выполняет поиск других зарегистрированных источников, пока не найдет допустимый источник или пока не будет исчерпан список источников. Очистка регистрации LastUsedSource заставляет установщик выполнять разрешение источника для зарегистрированных источников при следующем запросе источника.

Синтаксис

UINT MsiSourceListForceResolutionExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions
);

Параметры

[in] szProductCodeOrPatchCode

ProductCode или GUID исправления продукта или исправления. Используйте строку, завершаемую значением NULL. Если строка длиннее 39 символов, функция завершается ошибкой и возвращает ERROR_INVALID_PARAMETER. Этот параметр не может быть значение NULL.

[in, optional] szUserSid

Этот параметр может быть строковым идентификатором безопасности, который указывает учетную запись пользователя, содержащую продукт или исправление. Идентификатор безопасности не проверяется или не разрешается. Неверный идентификатор безопасности может возвращать ERROR_UNKNOWN_PRODUCT или ERROR_UNKNOWN_PATCH. При ссылке на контекст компьютера szUserSID необходимо null и dwContext должен быть MSIINSTALLCONTEXT_MACHINE. Использование идентификатора безопасности компьютера (S-1-5-18) возвращает ERROR_INVALID ПАРАМЕТР. При ссылке на текущую учетную запись пользователя szUserSID можно NULL и dwContext можно MSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.

[in] dwContext

Этот параметр указывает контекст экземпляра продукта или исправления. Этот параметр может содержать одно из следующих значений.

Тип контекста Значение
MSIINSTALLCONTEXT_USERMANAGED
Экземпляр продукта или исправления существует в контексте, управляемом пользователем.
MSIINSTALLCONTEXT_USERUNMANAGED
Экземпляр продукта или исправления существует в контексте, неуправляемом пользователем.
MSIINSTALLCONTEXT_MACHINE
Экземпляр продукта или исправления существует в контексте каждого компьютера.

[in] dwOptions

Значение dwOptions определяет интерпретацию значения szProductCodeOrPatchCode.

Флаг Значение
MSICODE_PRODUCT
szProductCodeOrPatchCode — это код продукта.
MSICODE_PATCH
szProductCodeOrPatchCode — это код исправления.

Возвращаемое значение

Функция MsiSourceListForceResolutionEx возвращает следующие значения.

Ценность Значение
ERROR_ACCESS_DENIED
У пользователя нет возможности изменять указанный исходный список. Не указывает, найден ли продукт или исправление.
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INSTALL_SERVICE_FAILURE
Не удалось получить доступ к службе установщика Windows
ERROR_INVALID_PARAMETER
Недопустимый параметр был передан функции.
ERROR_SUCCESS
Регистрация LastUsedSource была снята.
ERROR_UNKNOWN_PATCH
Исправление не найдено.
ERROR_UNKNOWN_PRODUCT
Указанный продукт или исправление не найден.
ERROR_FUNCTION_FAILED
Непредвиденный внутренний сбой.

Замечания

Администраторы могут изменить установку продукта или экземпляра исправлений, существующего в контексте компьютера или в собственном контексте для каждого пользователя (управляемого или неуправляемого).) Они могут изменить установку продукта или экземпляра исправлений, существующего в контексте, управляемом пользователем. Администраторы не могут изменить установку другого пользователя продукта или экземпляра исправлений, существующего в контексте другого пользователя, неуправляемого пользователем.

Неадминистрированные пользователи не могут изменить установку продукта или экземпляра исправлений, существующего в контексте другого пользователя (управляемом или неуправляемом).) Они могут изменять установку продукта или экземпляра исправлений, существующего в собственном контексте для каждого пользователя. Они могут изменять установку продукта или экземпляра исправлений в контексте компьютера или собственный контекст, управляемый пользователем, только если они включены для поиска продукта или источника исправлений. Пользователи могут быть включены для поиска источников, задав политику, дополнительные сведения см. в разделе DisableBrowse, AllowLockdownBrowseи политики AlwaysInstallElevated.

Заметка

Заголовок msi.h определяет MsiSourceListForceResolutionEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows 3.0 или более поздней версии в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

не поддерживается в установщике Windows 2.0 и более ранних

ProductCode

устойчивость источника