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


Установка из INF-файла

После получения сведений об установке из INF-файла существует несколько функций обработки файлов, которые можно использовать для установки файлов, перечисленных в разделе INF. Низкоуровневые функции, такие как SetupInstallFile и SetupInstallFileEx , устанавливают один файл.

Существуют также функции для обработки сжатых файлов. Функция SetupGetFileCompressionInfo возвращает сведения о сжатых файлах. Эти сведения затем могут использоваться SetupDecompressOrCopyFile для копирования и, при необходимости, развертывания файла.

Высокоуровневые функции, такие как SetupInstallFromInfSection, SetupInstallFilesFromInfSection и SetupInstallServicesFromInfSection , обрабатывают операции установки в разделе Установка или Служба . Из них SetupInstallFromInfSection является наиболее универсальным, так как он может выполнять операции установки любого типа, перечисленные в разделе Установка INF-файла. Сюда входят операции реестра и INI, перечисленные в строках AddReg, DelReg, UpdateInis или UpdateIniField раздела Install .

Функции SetupInstallFilesFromInfSection и SetupInstallServicesFromInfSection помещает операции из раздела Install или Service соответственно в существующую очередь файлов. Обратите внимание, что необходимо вызывать SetupInstallFromInfSection и SetupInstallServicesFromInfSection отдельно для операций и служб очереди. Дополнительные сведения см. в разделе Очереди файлов.

В отличие от этого, функция SetupInstallFromInfSection создает и уничтожает собственную внутреннюю очередь. Обычно setupInstallFromInfSection вызывает его после успешного копирования всех файлов для выполнения транзакций реестра и INI.

В Windows 2000 DLL-файлы могут быть зарегистрированы самостоятельно путем вызова SetupInstallFromInfSection в INF-файле, который содержит директиву RegisterDlls в разделе Install . SetupInstallFromInfSection также может самостоятельно зарегистрировать 32-разрядные библиотеки DLL из 64-разрядного процесса.

В 64-разрядных операционных системах для выполнения операций с 32-разрядной частью реестра можно вызвать SetupInstallFromInfSection . Чтобы добавить раздел реестра в 32-разрядную часть реестра, включите флаг FLG_ADDREG_32BITKEY в строку AddReg inf. Чтобы удалить раздел реестра только в 32-разрядной части реестра, включите раздел FLG_DELREG_32BITKEY в строку DelReg . Чтобы задать или очистить двоичное значение только в 32-разрядной части реестра, включите FLG_BITREG_32BITKEY в строку BitReg .

Помимо перечисленных ранее функций, API установки включает функции, которые помещают в очередь операции установки файлов либо по файлам, либо по разделу INF. Дополнительные сведения см. в разделе Очереди файлов.