Serkin70
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Структура .INF файла и описание основных разделов и команд (ключей): INF-файлы представляют собой текстовые файлы в формате ASCII, состоящие из нескольких разделов. Каждый раздел предназначен для выполнения определенной задачи. Имена разделов обязательно заключаются в квадратные скобки. Типичные элементы представляют собой ключ и значение, соединенные знаком равенства. В раздел можно включить одно или несколько значений. Кроме того, в состав элемента можно включать комментарии, отделяя их символом точки с запятой, например: [section] keyname=value ;эта часть строки является комментарием В нижеприведенных таблицах описаны все ключевые слова и значения, ассоциированные с конкретными разделами. Синтаксис раздела [Version] приведен ниже. Квадратные скобки используются для обозначения начала нового раздела. Для того чтобы настройки INF-файла были понятны Windows и реестру, квадратные скобки обязательно должны присутствовать. [Version] Signature="$CHICAGO$" Class=name_of_class Provider=%File_creator% LayoutFile=filename.inf Имя ключа Значение Описание Signature $Chicago$ Задает операционную систему для INF-файла. На момент написания большинства INF-файлов кодовое название Windows было следующим: Chicago. Class name_of_class Указывает класс, который будет определен в реестре. Список общих классов устройств, которые вы можете ввести сюда, приведен в данном приложении ранее. LayoutFile filename.inf Эта строка определяет имя INF-файла, содержащего имена исходного диска и файлов, которые должны быть включены для инсталляции этого устройства. Если его не определить, то по умолчанию файл имеет имя LAYOUT.INF. Если вы не включите эти данные в раздел Version, то должны будете включить в INF-файл разделы SourceDiskName и SourceDiskFiles. Синтаксис раздела [Manufacturer] приведен ниже. [Manufacturer] "manufacturer" %string_value%=manufacturer_section Информация раздела [Manufacturer] Имя ключа Описание "manufacturer" Имя производителя этого устройства, заключенное в кавычки. Сюда можно включить любую строку. Это ключевое слозо является необязательным. %string_value% Указывает имя строки, включенной в раздел Stings INF-файла. Строки должны быть заключены в символы процента (%). manufacturer_section Указывает на раздел Manufacturer Name в INF-файле. Раздел [Manufacturer Name] включает описания устройства для указанного устройства Ключевые слова, используемые в этом разделе, описаны в таблице. Синтаксис этого раздела выглядит следующим образом: [name_of_manufacturer] description of deviсe=install_section,ID_of_device[compatible_device_IDs,...] Информация раздела [Manufacturer Name] Имя ключа Описание description_of_device Описание инсталлируемого устройства. install_section Указывает имя раздела Install для этого устройства. ID_of_device Идентификатор (ID) инсталлируемого устройства. [compatible_device_IDs,...] Содержит cсылки на устройства, совместимые с данным. В этот список можно включить несколько устройств, разделив их запятыми. Раздел [File List] можно использовать для указания файлов, которые вы хотите скопировать, переименовать или удалить. В зависимости от элемента раздела [Install] вы можете использовать три следующих синтаксических параметра: [file_list section] new_filename, old_filename Эта конструкция используется для элементов RenFiles. Допускается включение любого количества элементов new_filename, old_filename. Для элементов DelFiles используется следующий синтаксис: [file_list section] filename Параметр filename обозначает имя файла, который вы хотите удалить. Для элемента CopyFiles используется следующий синтаксис. Параметры source_filename и temporary_filename в этой конструкции являются необязательными. [file_list section] destination_filename, source_filename, temporary_filename Ниже приведен образец синтаксиса раздела [Install]. Этот раздел включает дополнительные разделы INF-файла, которые содержат описания устройства. В правой части выражения, после знака равенства, можно указать несколько значений, разделенных запятыми. [name_of_install_section] LogConfig=section_name Copyfiles=file_list_section Renfiles=file_list_section DelFiles=file_list_section UpdateInis=UpdateIni_section_name UpdateIniFields=UpdateIniFields_section_name AddReg=AddRegitry_section DelReg=DelRegitry_section Ini2Reg=IniToRegistry_section UpdateCfgSys=UpdateConfig_section UpdateAutoBat=UpdateAutoexec_section Reboot = 0 [1, 2, 3] Информация раздела [Install] Имя ключа Значение Описание [name_of_install_section] Содержит имя устройства, соответствующего информации, приведенной в этом разделе. В разделе ManufacturerName INF-файла должна присутствовать ссылка на этот раздел LogСonfig section_name Содержит информацию о разделах логической конфигурации устройства. Значения section_name указывают на разделы INF-файла в которых содержится информация о данном устройстве. CopyFiles file_list_section Содержит информацию, необходимую для копирования указанного файла или файлов в каталог, указанный в разделе File_List. Вы можете дать системе указание скопировать отдельный файл. Для этого перед именем файла необходимо включить символ @. При этом файл будет скопирован в каталог DefaultDestDir, определенный в разделе DestinationDir INF-файла. RenFiles fiie_list_section Позволяет переименовать указанный файл. Представляет собой указатель на раздел File_List INF-файла. DelFiles file_list_section Позволяет удалить указанный файл. Представляет собой указатель на раздел FileList INF-файла. UpdateInis UpdateIni_section_name Позволяет указать имя раздела в INI-файле, которое вы хотите изменить через INF-файл. Представляет собой указатель на раздел Update INI. UpdateIniFields UpdateIniFields_section_name Позволяет изменять, замещать или удалять отдельные ключи в INI-файле (в отличие от предыдущего параметра, который изменял весь раздел целиком). Этот параметр представляет собой указатель на раздел Update IniFields. AddReg AddRegistry_section Позволяет указать подключ или значение, которые требуется добавить в реестр. Представляет собой указатель на раздел Add Registry. DelReg Del_Registry_section Позволяет указать подключ или значение, которые требуется удалить из реестра. Представляет собой указатель на раздел DeleteRegistry Ini2Reg IniToRegistry_section Перемещает в реестр строки и разделы из INI-файла. Представляет собой указатель на раздел IniToRegistry. UpdateCfgSys UpdateConfig_section Содержит указатель на раздел Update Config. в этом разделе находятся команды, которые должны быть добавлены, удалены или переименованы в файле CONFIG.SYS. UpdateAutoBat UpdateAutoexec_section Содержит указатель на раздел Update AutoExec. В этом разделе находятся команды, которые модифицируют файл AUTOEXEC.BAT. Reboot 0 - без перезагрузки 1 - если необходимо, с подтверждением 2 - если необходимо, без подтверждения 3 - всегда Команды, вызывающие перезапуск системы или перезагрузку компьютера после завершения программы установки. Ниже приведен пример синтаксиса раздела [Logical Configuration]. Раздел [LogConfig] необходимо указать в разделе [Install]. Этот раздел содержит информацию о конфигурации системных ресурсов, включая IRQ, порты ввода/вывода, каналы DMA и т. д. Для каждого включаемого элемента программа Setup создает запись логической конфигурации в двоичном формате и включает эту информацию в реестр в раздел driver. INF-файлы могут содержать несколько (или ни одного) разделов [Logical Configuration]. Ключевые слова и значения этого раздела описаны в таблице. [LogConfig Section name] ConfigPriority=value_of_priority MemConfig=menory_range_settings I/OConfig=ioport_settings IRQConfig=irq_sectings DMAConfig=dma_settings Имя ключа Значение Описание ConfigPriority value_of_priority Содержит значение приоритета конфигурации для данного устройства. MemConfig memory_range_settings Указывает диапазон памяти для данного устройства. I/OConfig ioport_settings Позволяет указать для устройства конфигурацию портов ввода/вывода IRQConfig irq_settings Содержит СПИСОК допустимых IRQ для данного устройства. Если устройство не использует IRQ, не следует включать эту строку в INF-файл. DMAConfig dma_settings Указывает допустимые значения DMA для данного устройства. Для параметров настройки, перечисленных в таблице, можно указывать не один, а несколько ресурсов. Однако, в процессе инсталляции будет использован только один из ресурсов, приведенных в списке. Чтобы указать несколько ресурсов для одного устройства, вам потребуется создать соответствующее число записей для каждого из ресурсов. Ниже приведен пример синтаксиса раздела [Update AutoExec]. Имя раздела [UpdateAutoBat] должно быть указано в разделе [Install]. Этот раздел содержит команды, манипулирующие строками в файле AUTOEXEC.BAT. Ключевые слова и значения этого раздела приведены в таблице. [Update_autobat_section] CmdDelete=command CmdAdd=command UnSet=environmentvariablename PreFixPath=%ldid% RemOldPath=%ldid% TmpDir=%ldid% Имя ключа Значение Описание CmdDelete command Указывает команду, которая должна быть удалена из файла AUTOEXEC.BAT. Эта строка обрабатывается перед строкой CmdAdd. CmdAdd command Указывает команду, которую требуется добавить в файл AUTOEXEC.BAT. UnSet environmentvariablename Указывает переменную окружения, которую вы хотите удалить из файла AUTOEXEC.BAT. PreFixPath %ldid% Позволяет включить предопределенную фиксированную переменную path в форме логического идентификатора каталога (logical directory identificator, LDID). RemOldPath %ldid% Позволяет указать путь, который должен быть удален из файла AUTOEXEC.BAT. TmpDir %ldid% Позволяет указать временный каталог на время установки. Ниже приведен пример синтаксиса раздела [Update Config]. Имя раздела [Update_config_section] должно быть задано в разделе [Install]. Этот раздел содержит команды манипуляции со строками в файле CONFIG.SYS. Ключевые слова и значения этого раздела описаны в таблице. [Update_config_section] DevRename=current_name, new_name DevDelete=driver_name DevAddDev=driver_name, configkeyword Stacks=dos_stack_values Buffers=dos_buffer_values Files=dos_buffer_values LastDrive=dos_lastdrive_value Имя ключа Значение Описание DevRename current_name,new_name Позволяет переименовать драйверы устройств, вызываемые из файла CONFIG.SYS. Раздел может содержать несколько строк DevRename. Записи DevRename обрабатываются первыми, прежде, чем начнется обработка каких-либо других записей раздела. DevDelete driver_name Позволяет указать драйверы устройств, которые должны быть удалены из файла CONFIG.SYS. Раздел может содержать несколько записей DevDelete. DevAddDev driver_name, configkeyword Позволяет указать новый драйвер, который должен быть добавлен в файл CONFIG.SYS. Раздел может содержать несколько записей DevAddDev. Stacks dos_stack_values Указывает значение Stacks=хх в файле CONFIG.SYS. Buffers dos_buffer_values Указывает значение Buffers=хх в файле CONFIG.SYS. Files dos_file_values Указывает значение Files=хх в файле CONFIG.SYS. LastDrive dos_lastdrive_value Указывает значение lastdrive= в файле CONFIG.SYS. Ниже приведен пример синтаксиса раздела [Update INI]. Раздел [Update INI] необходимо указать в разделе [Install] записью UpdateINIs. Этот раздел добавляет, удаляет или замещает записи в указанном INI-файле. Ключевые слова и значения для этого раздела описаны в таблице. [Update_ini_section] ini-file, ini-section, original_entry, new_entry, options Значение Описание options Необязательные флаги операции, которые могут принимать одно из следующих значений 0 Значение по умолчанию. Ищет ключ (имя записи) original_entry, игнорируя его значение. Если ключ присутствует, соответствующая запись заменяется на new_entry. Если original_entry равна NULL, new_entry добавляется безусловно. Если new_entry равна NULL, original_entry удаляется. 1 Ищет запись original_entry по ключу и значению. Обновление выполняется только в том случае, когда совпадают и ключ, и значение записи original_entry. 2 Ищет запись, ключ которой совпадает с указанным в original entry. Если запись уже существует, она не замещается значением, указанным вами в new_entry. 3 Ищет запись, ключ и значение которой совпадают с указанными в original_entry. Если такая запись существует, она замещается new_entry. Ниже приведена синтаксическая конструкция раздела [Update IniFields]. Имя раздела [UpdatelniFields] должно быть указано элементом [UpdateIniFields] в разделе [Install]. Утверждения этого раздела замещают, добавляют или удаляют поля в указанной записи INI-файла. В отличие от раздела [Update INI], команды из данного раздела работают с фрагментами записей, а не с записями в целом. [update_inifields_section] ini-file, ini-section, profile_name, old_field, new_field Если в строке INI-файла для указанной записи присутствовал комментарий, он удаляется. Модификаторы old_field и new_field являются необязательными. Раздел [Add Registry] позволяет добавлять в реестр ключи и значения. Кроме того, существует необязательная возможность установить фактическое значение. Имя раздела [add_registry_section] должно быть задано элементом AddReg раздела [Install]. Синтаксис раздела выглядит следующим образом: [add_registry_section] reg_root_string В этот раздел вы можете включить подключи, имена значений и (необязательно) сами значения. Раздел [Delete Registry] используется для удаления из реестра подключей и имен значений. Синтаксис этого раздела выглядит следующим образом: [del_registry_section] reg_root_string, subkey Имя этого раздела должно быть указано элементом DelReg в разделе [Install]. Каждый элемент, включенный в этот раздел, удалит из реестра подключ или значение. Раздел [IniToRegistry] позволяет перемещать в реестр строки и разделы из INI-файла. Эта операция или создает в реестре новый элемент, или подключ или значение. Имя раздела [ini_to_registry section] должно быть указано элементом Ini2Reg в разделе [Install]. Раздел [DestinationDirs] позволяет определить каталог назначения для раздела [File_List]. Ссылка на имя раздела [DestinationDirs] должна присутствовать в одном из следующих трех элементов раздела [Install]: DelFiles, CopyFiles или RenFiles. Синтаксис раздела приведен ниже. Более подробную информацию можно найти в таблице. [DestinationDirs] file_list=ldid, subdirectory DefaultDestDir=ldid, subdirectory Имя ключа Значение Описание file_list ldid, subdirectory Указывает имя раздела FileList. subdirectory Указывает каталог, находящийся в каталоге ldid. Это значение необязательно. ldid Указывает логический идентификатор диска. Список допустимых значений ldid приведен далее. DefaulDestDir ldid, subdirectory Позволяет указать каталог-приемник по умолчанию для всех неупомянутых разделов File_List. Этот параметр не является обязательным. По умолчанию Windows использует каталог LDID_WIN. Раздел [SourceDisksFiles] используется для указания исходных файлов и исходных дисков, содержащих эти файлы, используемых в процессе инсталляции. Синтаксис раздела очень прост: [SourceDisksFiles] name_of_source_disk=disk_number Элемент disk_number определяется в разделе [SourceDisksNames], который использует следующий синтаксис: [SourceDisksNames] disk_ordinal=description_of_disk, label, serial_number Раздел [ClassInstall] устанавливает новый класс устройства в разделе реестра [Class]. Синтаксис раздела [ClassInstall] приведен ниже. Подробную информацию о значениях и элементах, которые используются в этом разделе, можно найти в таблице выше. [ClassInstall] CopyFiles=fils_list_section RenFiles=fils_list_section DelFiles=fils_list_section UpdateInis=UpdateIni_section_name UpdateIniFields=UpdateIniFields_section_name AddReg=AddRegistry_section DelReg=DelRegistry_section Наконец, последним разделом INF-фаила является раздел [Strings]. Этот раздел определяет один или несколько строковых ключей. Синтаксис этого раздела приведен ниже. [Strings] %string_key%="valve" Имя ключа %string_key% обозначает строковый ключ, составленный из буквенно-цифровых символов, например: %MfgName%. Хотя раздел [Strings] обычно является последним в INF-файле, строковые ключи можно использовать везде, где допустимо употребление строк. Программа Setup подставляет вместо строкового ключа строку, заданную элементом "value" и в дальнейшем использует именно ее, например: %MSFT%="Microsoft" Встречая строку %MSFT%, программа установки интерпретирует ее как "Microsoft". Значения LDID В таблице перечислены допустимые значения LDID (logical disk identifier), которые вы можете использовать в INF-файлах. ID Указывает на каталог 00 Пустой LDID; используется для создания нового LDID 01 Исходное устройство:\путь 02 Временный каталог Setup; используется только в процессе установки Windows 03 Каталог Uninstall 04 Каталог Backup 10 Каталог Windows 11 Каталог SYSTEM 12 Каталог Iosubsys 13 Каталог COMMAND 14 Каталог Control Panel 15 Каталог Printers 16 Каталог Workgroup 17 Каталог INF 18 Каталог Help 19 Каталог Administration 20 Каталог Fonts 21 Каталог Viewers 22 Каталог VMM32 23 Каталог Color 25 Каталог Shared 26 Каталог Winboot 27 Машинно-зависимый каталог 28 Каталог Winboot Host 30 Корневой каталог загрузочного устройства 31 Корневой каталог хост-диска виртуального загрузочного устройства 32 Каталог с прежней версией Windows (если есть) 33 Каталог с прежней версией MS-DOS (если есть) INF-файлы с расширенными возможностями Библиотека Advanced INF Installer (advpack.dll) включает в свой состав расширения Setup API, которые могут обеспечить следующие возможности: Выбор каталога при установке, определяемого пользователем Копирование файлов в каталог, указанный в реестре Проверка наличия необходимых приложений перед выполнением обновления Принудительное управление режимом установки (32 или 16-разрядный режим) Управление режимом перезагрузки системы после процесса установки Проверка наличия у пользователя прав для доступа к реестру (только для NT) Создание резервной копии файлов для операции отката к исходному состоянию Регистрация компонентов ActiveX Удаление каталогов, в том числе определенных пользователем Запуск приложений до и после процесса установки Вывод сообщений для пользователя перед началом и в конце процесса установки INF-файлы, которые используют команды библиотеки advpack.dll должны содержать в разделе [Version] следующую строку: AdvancedINF = 2.5, <сообщение об ошибке> Эта командная строка идентифицирует версию advpack.dll, которая будет использована при анализе и выполнении данного INF-файла. В данном случае требуется версия 2.5. Если нужная версия advpack.dll не будет найдена, то пользователю будет выведена строка <сообщение об ошибке>. Для выполнения INF-файлов с расширенными возможностями необходимо использовать следующую команду: rundll32.exe advpack.dll, LaunchINFSectionEx (путь и имя inf-файла) [, имя раздела] [, имя cab-файла] [, флаг] [, режим перезагрузки] Синтаксис команды: (путь и имя файла) - обязательный параметр, может включать полный путь к файлу, например "C:\Windows\Inf\Myfile.inf"; [, имя раздела] - раздел, с которого будет начато выполнение файла; необязательный параметр [, имя cab-файла] - имя cab-файла, содержащего файлы для установки; необязательный параметр [, флаг] - может принимать следующие значения (необязательный параметр): 4 = Quiet Mode (режим без вывода на экран промежуточных результатов) 8 = No GrpConv (преобразование групп не выполняется) 16 = Force Self-Updating on User`s system (принудительное самообновление в системе пользователя) 32 = Backup Data before Install (выполнение резервного копирования данных перед установкой) 64 = Rollback to Previous State (откат к предыдущему состоянию) 128 = Validate the Backup Data (выполнять проверку данных резервной копии) 256 = Bypass Building File List (обход операции построения списка файлов) 512 = Force Delay of OCX Registration (принудительная задержка регистрации OCX) [, режим перезагрузки] - определяет режим перезагрузки после установки; необязательный параметр. Ниже приведен перечень и краткое описание команд библиотеки advpack.dll. CustomDestination Синтаксис [InstallSection] . . . CustomDestination = CustomUserDir [CustomUserDir] <номер LDID пользователя> = CustomLDIDSection, <флаг> [CustomLDIDSection] '<корневой раздел реестра>', '<подраздел реестра>', '<имя параметра>', '<сообщение пользователю>', '<каталог по умолчанию>' <флаг> - значение: 1 - вывод окна диалога для указания каталога пользователем; 5 - без вывода окна (используется значение по умолчанию; Параметры <корневой раздел реестра>, <подраздел реестра> и <имя параметра> указывают ключ реестра, где храниться или будет храниться путь каталога выбранный пользователем и отображаемый в окне диалога, если не указан параметр <каталог по умолчанию>. Параметр <номер LDID пользователя> может иметь значения от 49000 до 50000. RequiredEngine Синтаксис RequiredEngine = <режим установки>, '<сообщение об ошибке>' Параметр <режим установки> может принимать два значения: setupapi - 32-разрядная версия библиотеки обработки inf-файлов (advpack.dll); setupx - 16-разрядная версия библиотеки обработки inf-файлов (setupx.dll). Значение setupx не может использоваться с Windows NT. SmartReboot Синтаксис SmartReboot = <режим перезагрузки> Эта команда позволяет указать режим перезагрузки системы после процедуры установки и вывести окно диалога об этом пользователю. Задача по определению необходимости перезагрузки возлагается на библиотеку Advanced INF Installer. Возможны следующие значения параметра <режим перезагрузки>: Параметр Описание N Перезагрузка никогда не выполняется AS Перезагрузка выполняется всегда, без запроса пользователю IS Перезагрузка выполняется при необходимости, без запроса пользователю A Пользователю всегда выводится запрос о перезагрузке I Если перезагрузка необходима, то выводится запрос об этом CheckAdminRights Синтаксис CheckAdminRights = <флаг> Команда выполняет проверку наличия у пользователя прав доступа к элементу реестра (поддерживается только в Windows NT). <флаг> Описание 0 Проверка прав не выполняется и установку может произвести любой пользователь 1 Выполняется проверка прав пользователя на проведение установки BackupPath Синтаксис BackupPath = %LDID%\<каталог> Если для осуществления отката требуется выполнить резервное копирование в любой каталог, отличный от каталога по умолчанию, эта команда позволяет указать путь. BackupReg Синтаксис [DefaultInstall] BackupReg = BackupRegSection [BackupRegSection] HKLM, 'Software\MyCompany\MyApplication' Команда используется сохранения состояния указанного раздела реестра перед выполнением операций инсталляции или отката. RegisterOCXs, UnRegisterOCXs Синтаксис [DefaultInstall] RegisterOCXs = RegisterOCXSection [UnInstall] UnRegisterOCXs = RegisterOCXSection [RegisterOCXSection] %LDID%\<подкаталог>\<имя OCX-файла>, <флаг, '<параметр>'> Данная команда используется для регистрации элементов управления OCX после завершения инсталляции. При деинсталляции перед удалением элементов OCX можно удалить их записи из реестра. <флаг> Описание I Вызов функций DllRegisterServer и DllInstall N Вызов только DllInstall '<параметр>' - доступен только при использовании флага. Позволяет передать функции DllInstall строку в качестве параметра. RunPreSetupCommands Синтаксис [InstallSection] RunPreSetupCommands = CmdSection1 [: флаг] [, CmdSection2 [: флаг] [CmdSection1] Notepad.exe Explorer.exe [CmdSection2] Calc.exe Перед исполнением раздела [InstallSection] можно запустить любое количество команд. В этих командах могут использоваться стандартные LDID. Определяемые пользователем LDID использовать нельзя. Параметр <флаг> определяется следующим образом: <флаг> Описание 1 Без промежуточного вывода (Quiet) 2 Без ожидания вывода (No wait) По умолчанию используется промежуточный вывод и ожидание ответа команды. Разделы, указанные в команде RunPreSetupCommands, выполняются после раздела [BeginPrompt]. RunPostSetupCommands Синтаксис [InstallSection] RunPostSetupCommands = CmdSection1 [: флаг] [, CmdSection2 [: флаг] [CmdSection1] Notepad.exe Explorer.exe [CmdSection2] Calc.exe После исполнения всех команд раздела [InstallSection] можно запустить любое количество команд. В этих командах могут использоваться стандартные LDID и определяемые пользователем. <флаг> Описание 1 Без промежуточного вывода (Quiet) 2 Без задержки (No Delay) 4 Отсрочка исполнения команды (Delay command) Команды с отложенным исполнением будут добавлены или к ветви RunOnceEx или RunOnce аналогично методу отсроченной регистрацией OCX. Разделы, указанные в команде RunPostSetupCommands, выполняются после раздела [EndPrompt]. BeginPrompt, EndPrompt Синтаксис [InstallSection] BeginPrompt = BeginPromptSection EndPrompt = EndPromptSection [BeginPromptSection] Prompt = '<сообщение для пользователя перед установкой>' ButtonType = <Тип кнопок> Title = '<заголовок окна сообщения>' [EndPromptSection] Prompt = '<сообщение для пользователя после установки>' Эти команды определяют вывод сообщений пользователю до и после процесса установки. Ключ Title определяет заголовок окон диалога в обоих случаях. Параметр <Тип кнопок> имеет следующие значения: <Тип кнопок> Описание YESNO Кнопки Да/Нет (Yes/No) в окне диалога OKCANC Кнопки ОК/Отмена (OK/Cancel) в окне диалога DelDirs Синтаксис [InstallSection] DelDirs = DelDirSection [DelDirSection] %LDID%\<подкаталог> Команда удаляет папки, указанные в разделе [DelDirSection], если они пусты. Cleanup Синтаксис [InstallSection] Cleanup = 1 Данная команда удаляет INF-файл после окончания процесса инсталляции или деинсталляции. | Всего записей: 1451 | Зарегистр. 31-07-2003 | Отправлено: 01:39 13-02-2006 | Исправлено: Serkin70, 03:23 13-02-2006 |
|