Функция MsiProvideAssemblyA (msi.h)
Функция
Синтаксис
UINT MsiProvideAssemblyA(
[in] LPCSTR szAssemblyName,
[in] LPCSTR szAppContext,
[in] DWORD dwInstallMode,
[in] DWORD dwAssemblyInfo,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Параметры
[in] szAssemblyName
Имя сборки в виде строки.
[in] szAppContext
Задайте значение NULL для глобальных сборок. Для частных сборок задайте для szAppContext полный путь файла конфигурации приложения или полный путь к исполняемому файлу приложения, к которому была выполнена частная сборка.
[in] dwInstallMode
Определяет режим установки. Этот параметр может быть одним из следующих значений.
Ценность | Значение |
---|---|
|
Предоставьте компонент и выполните любую установку, необходимую для предоставления компонента. Если файл ключа компонента в запрошенной функции или родитель компонента отсутствует, переустановите функцию с помощью MsiReinstallFeature со следующими битами флагов: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA и REINSTALLMODE_SHORTCUT. |
|
Укажите компонент только в том случае, если эта функция существует. В противном случае возвращается ERROR_FILE_NOT_FOUND.
Этот режим проверяет, существует ли файл ключа компонента. |
|
Укажите компонент только в том случае, если эта функция существует. В противном случае возвращается ERROR_FILE_NOT_FOUND.
Этот режим проверяет, зарегистрирован ли компонент и не проверяет, существует ли файл ключа компонента. |
|
Укажите компонент, только если состояние установки компонента INSTALLSTATE_LOCAL. Если состояние установки компонентов INSTALLSTATE_SOURCE, вернитесь ERROR_INSTALL_SOURCE_ABSENT. В противном случае возвращается ERROR_FILE_NOT_FOUND. Этот режим проверяет, зарегистрирован ли компонент и не проверяет наличие файла ключа. |
|
Укажите компонент, если компонент существует из любого установленного продукта. В противном случае возвращается ERROR_FILE_NOT_FOUND. Этот режим проверяет, зарегистрирован ли компонент и не проверяет, существует ли файл ключа компонента. Этот флаг аналогичен флагу INSTALLMODE_NODETECTION, за исключением того, что с этим флагом мы проверяем любой продукт, который установил сборку в отличие от последнего продукта, как и в случае с флагом INSTALLMODE_NODETECTION. Этот флаг можно использовать только с MsiProvideAssembly. |
|
Вызовите MsiReinstallFeature, чтобы переустановить функцию, используя этот параметр для параметра dwReinstallMode, а затем укажите компонент. |
[in] dwAssemblyInfo
Сведения о сборке и тип сборки. Задайте одно из следующих значений.
Ценность | Значение |
---|---|
|
Сборка .NET |
|
Сборка Win32 |
[out] lpPathBuf
Указатель на переменную, получающую путь к компоненту. Этот параметр может иметь значение NULL.
[in, out] pcchPathBuf
Указатель на переменную, указывающую размер буфера в символах, на который указывает параметр lpPathBuf. В входных данных это полный размер буфера, включая пробел для конца символа NULL. Если буфер, переданный слишком маленьким, возвращаемое число не включает завершающий символ NULL.
Если lpPathBuf имеет значение NULL, pcchPathBuf может иметь значение NULL.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Данные конфигурации повреждены. |
|
Функция отсутствует или нарушена. Эта ошибка возвращается для dwInstallMode = INSTALLMODE_EXISTING. |
|
Сбой установки. |
|
Запрошенный компонент отключен на компьютере. |
|
Недопустимый параметр был передан функции. |
|
Функция успешно завершена. |
|
Идентификатор компонента не определяет известную функцию. |
|
Идентификатор компонента не указывает известный компонент. |
|
Код продукта не определяет известный продукт. |
|
Нераспознанный продукт или имя функции было передано функции. |
|
Возвращается переполнение буфера. |
|
В системе недостаточно памяти для завершения операции. Доступно в Windows Server 2003. |
|
Не удалось обнаружить источник. |
Дополнительные сведения см. в разделе Отображаемые сообщения об ошибках.
Замечания
При успешном выполнении функции
Параметр INSTALLMODE_EXISTING нельзя использовать в сочетании с флагом REINSTALLMODE.
Компоненты с компонентами, содержащими поврежденный файл или неправильную версию файла, должны быть явно переустановены пользователем или путем вызова приложения MsiReinstallFeature.
Заметка
Заголовок msi.h определяет MsiProvideAssembly как псевдоним, который автоматически выбирает версию 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 в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time". |
целевая платформа | Виндоус |
заголовка | msi.h |
библиотеки |
Msi.lib |
DLL | Msi.dll |
См. также
функций