Функция MsiDatabaseImportA (msiquery.h)
Функция MsiDatabaseImport импортирует файл архива установщика в открытую таблицу базы данных.
Синтаксис
UINT MsiDatabaseImportA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szFolderPath,
[in] LPCSTR szFileName
);
Параметры
[in] hDatabase
Обработка базы данных, полученной из MsiOpenDatabase.
[in] szFolderPath
Указывает путь к папке, содержащей архивные файлы.
[in] szFileName
Указывает имя импорта файла.
Возвращаемое значение
Функция MsiDatabaseImport возвращает одно из следующих значений:
Замечания
При использовании функции MsiDatabaseImport для импорта текстовой архивной таблицы с именем _SummaryInformation в базу данных установщика вы записываете поток "05SummaryInformation". Этот поток содержит стандартные свойства, которые можно просматривать с помощью обозревателя Windows и определяются COM. Строки таблицы записываются в поток свойств в виде пар номеров идентификаторов свойств и соответствующих значений данных. См. набор свойств потока сводной информации. Дата и время в _SummaryInformation находятся в формате YYYY/MM/DD hh::mm::ss. Например, 1999.03.22 15:25:45. Если таблица содержит двоичные потоки, имя потока находится в поле данных, а фактический поток извлекается из файла этого имени в подпапке с тем же именем, что и таблица.
Текстовые архивные файлы, экспортированные из базы данных, MsiDatabaseExport предназначены для использования с системами управления версиями и не предназначены для редактирования данных. Используйте функции и средства API базы данных, предназначенные для этой цели. Обратите внимание, что символы управления в текстовых архивных файлах переводятся, чтобы избежать конфликтов с разделителями файлов. Если текстовый архивный файл содержит данные, отличные от ASCII, он помечен кодовой страницей данных и может быть импортирован только в базу данных этой точной кодовой страницы или в нейтральную базу данных. Нейтральные базы данных задаются на кодовую страницу импортированного файла. База данных может быть безусловно настроена на определенную кодовую страницу, импортируя псевдо таблицу с именем _ForceCodepage. Формат такого файла: две пустые строки, за которыми следует строка, содержащая числовую кодовую страницу, разделитель вкладок и точную строку: _ForceCodepage
Эту функцию нельзя вызвать из пользовательских действий. Вызов этой функции из пользовательского действия приводит к сбою функции.
Если функция завершается ошибкой, можно получить расширенные сведения об ошибке с помощью MsiGetLastErrorRecord.
Заметка
Заголовок msiquery.h определяет MsiDatabaseImport как псевдоним, который автоматически выбирает версию 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 |