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


Функция MsiSetTargetPathA (msiquery.h)

Функция MsiSetTargetPath задает полный целевой путь для папки в таблице каталогов.

Синтаксис

UINT MsiSetTargetPathA(
  [in] MSIHANDLE hInstall,
  [in] LPCSTR    szFolder,
  [in] LPCSTR    szFolderPath
);

Параметры

[in] hInstall

Дескриптор установки, предоставленного пользовательскому действию DLL или полученному через MsiOpenPackage, MsiOpenPackageExили MsiOpenProduct.

[in] szFolder

Указывает идентификатор папки. Это первичный ключ в таблице каталогов.

[in] szFolderPath

Указывает полный путь к папке, заканчивающийся разделителем каталогов.

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

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

Замечания

Функция MsiSetTargetPath изменяет спецификацию пути для целевого каталога, именованного в таблице каталога памяти. Кроме того, спецификации пути всех остальных объектов пути в таблице, которые являются подчиненными или эквивалентными измененному пути, обновляются для отражения изменения. Свойства каждого затронутого пути также обновляются.

MsiSetTargetPath завершается ошибкой, если выбранный каталог доступен только для чтения.

Если ошибка возникает в этой функции, все обновленные пути и свойства будут возвращаться к предыдущим значениям. Поэтому это безопасно для обработки ошибок, возвращаемых этой функцией как нефатальная.

Не пытайтесь настроить целевой путь, если компоненты, использующие эти пути, уже установлены для текущего пользователя или другого пользователя. Проверьте свойство ProductState перед вызовом MsiSetTargetPath, чтобы определить, установлен ли продукт, содержащий этот компонент.

См. вызов функций базы данных из программ.

Если функция завершается ошибкой, можно получить расширенные сведения об ошибке с помощью MsiGetLastErrorRecord.

Заметка

Заголовок msiquery.h определяет MsiSetTargetPath как псевдоним, который автоматически выбирает версию 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
целевая платформа Виндоус
заголовка msiquery.h
библиотеки Msi.lib
DLL Msi.dll

См. также

Функции расположения установщика