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


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

Функция MsiSourceListForceResolutionEx удаляет регистрацию свойства LastUsedSource. Эта функция не влияет на зарегистрированный список источников. Всякий раз, когда установщик требует от источника переустановить продукт или исправление, он сначала пытается зарегистрировать источник как LastUsedSource. В случае сбоя или отсутствия регистрации установщик выполняет поиск в других зарегистрированных источниках, пока не найдет допустимый источник или пока список источников не будет исчерпан. При очистке регистрации LastUsedSource установщик должен выполнить разрешение источника для зарегистрированных источников в следующий раз, когда потребуется источник.

Синтаксис

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

Параметры

[in] szProductCodeOrPatchCode

Код продукта или 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 PARAMETER. При ссылке на текущую учетную запись пользователя szUserSID может иметь значение NULL , а dwContext — MSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.

[in] dwContext

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

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

[in] dwOptions

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

Flag Значение
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.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

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

ProductCode

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