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


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

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

Синтаксис

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

Параметры

[in] hInstall

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

[in] szFolder

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

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

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

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