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


Функция 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

См. также

функции управления базами данных

текстовых архивных файлов