Чем открыть inf. Расширение файла INF

В таблице ниже предоставляет полезную информацию о расширение файла.inf. Он отвечает на вопросы такие, как:

  • Что такое файл.inf ?
  • Какое программное обеспечение мне нужно открыть файл.inf ?
  • Как файл.inf быть открыты, отредактированы или напечатано?
  • Как конвертировать.inf файлов в другой формат?
  • Где могу найти спецификации для.inf ?
  • MIME-тип связан с расширением.inf ?

Мы надеемся, что вы найдете на этой странице полезный и ценный ресурс!

1 расширений и 0 псевдонимы, найденных в базе данных

Setup Information File

Описание (на английском языке):
INF file is a Setup Information File. INF files are text files that are separated into logical categories that contain one or more sections.

MIME-тип: application/x-inf

Другие типы файлов могут также использовать расширение файла .inf .

Расширение файла.inf часто дается неправильно!

По данным Поиск на нашем сайте эти опечатки были наиболее распространенными в прошлом году:

ing , ibf , in , nf , knf , int , inc , ijf , igf , nif , if , lnf , inv , inr , ind

Это возможно, что расширение имени файла указано неправильно?

Мы нашли следующие аналогичные расширений файлов в нашей базе данных:

Не удается открыть файл.inf?

Если дважды щелкнуть файл, чтобы открыть его, Windows проверяет расширение имени файла. Если Windows распознает расширение имени файла, файл открывается в программе, которая связана с этим расширением имени файла. Когда Windows не распознает расширение имени файла, появляется следующее сообщение:

Windows не удается открыть этот файл:

Пример.inf

Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия...

Если вы не знаете как настроить сопоставления файлов .inf , проверьте .

Можно ли изменить расширение файлов?

Изменение имени файла расширение файла не является хорошей идеей. Когда вы меняете расширение файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема заключается в том, что изменение расширения файла не изменяет формат файла.

Если у вас есть полезная информация о расширение файла .inf , !

Оцените нашу страницу INF

Пожалуйста, помогите нам, оценив нашу страницу INF в 5-звездочной рейтинговой системе ниже. (1 звезда плохая, 5 звезд отличная)

Самой частой причиной проблем с раскрытием файла INF является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате INF - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов INF.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом INF. Если это не произошло, то файл INF успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл INF, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл INF

Windows
Mac OS

Почему я не могу открыть файл INF?

Проблемы с файлами INF могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы INF не решит проблему. Причиной невозможности открытия, а также работы с файлом INF может быть также:

Несоответственные связи файла INF в записях реестра
- повреждение файла INF, который мы открываем
- инфицирование файла INF (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения INF из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение INF

Устранение этих проблем должно привести к свободному открытию и работе с файлами INF. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов INF. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе INF должны появится сортированные по названию файла.

INF-файлы (Setup Information Files) предназначены для создания сценариев инсталляций. Обычно INF-файлы используются для установки драйверов - устанавливать с их помощью приложения также допустимо, но неудобно.

Мы можем использовать INF-файлы для изменения параметров реестра. Преимущество INF-файлов перед REG-файламн заключается в том, что изменения, внесенные в реестр при помощи INF-файлов, можно отменить с помощью апплета Установка и удаление программ, который можно запустить с Панели управления, тогда как для возвращения параметров, модифицированных REG-файлом, вам придется искать их вручную. При этом если вы не знаете значений параметров по умолчанию, то вам поможет только точка восстановления системы, что тоже нежелательно, поскольку вместе с настройками, внесенными в реестр REG-файлом, могут быть удалены настройки программ, внесенные после применения REG-файла. В случае с INF-файлами таких неудобств нет.

Формат INF-файла

Формат INF-файла похож на формат INI-файла. В INF-файле, как и в INI-файле, есть разделы (или секции), а каждый раздел содержит элементы, обычно имеющие вид Имя=Значение.

Создать lNF-файл можно в любом текстовом редакторе - в частности, для этих целей идеально подходит Блокнот. Чтобы не создавать INF-файл каждый раз с чистого листа, вы можете создать шаблон, содержащий обязательные секции INF-файла.

Примечание

Как уже отмечалось, INF-файл может использоваться для установки драйверов и программ, поэтому в нем может быть секция копирования нужных файлов. В нашем случае такой секции не будет, поэтому приведенный шаблон INF-файла нельзя назвать полным.

Простейший шаблон INF-файла

Signature=

; действия при удалении

; добавляем данные в реестр

; удаляем данные из реестра

Секция является обязательной. Изменять ее нельзя. Вторая секция обычно называется . Можно изменить имя этой секции, но лучше этого не делать. Директивы AddReg и DelReg задают имена секций, в которых находятся разделы и параметры, которые нужно добавить или удалить из реестра соответственно.

Директивы AddReg и DelReg могут располагаться как в секции

Так И В , Причем в одной и той же

секции может быть указано несколько директив AddReg и DelReg:

; Действия при установке файла

; действия при удалении

Для сокращения длины INF-файла можно в одной директиве AddReg или DelReg указать несколько секций (через запятую):

; Действия при установке файла

AddReg=Addl,Add2,Add3

; действия при удалении

DelReg=Dell,Del2,Del3

Примечание

Названия секций (в приведенном выше примере - , и т. д.) должны быть уникальными в пределах INF-файла.

Добавление новых разделов и параметра реестра

Теперь поговорим о том, как задаются разделы и параметры реестра в секциях INF-файла. Общий формат такой:

корневой раздел, [подраздел], [параметр], [флаги], [данные]

Корневой раздел нужно указывать в любом случае. Допускается использование сокращенных имен: HKCU, HKLM, HKCR, HKU, НКСС. Подраздел можно не указывать - в этом случае все действия будут относиться к корневому разделу. Если вы не указываете подраздел, не забудьте поставить запятую, относящуюся к подразделу: корневой раздел, [параметр], [флаги], [данные]

[Параметр] представляет собой имя добавляемого или изменяемого параметра реестра, который уже существует. Имя параметра указывать необязательно.
Если значение не указано, но указаны флаги и данные, то при выполнении операции будет использовано значение по умолчанию. Если не указаны параметр, флаги и данные, то это операция добавления раздела реестра.

С помощью флагов вы можете задать тип создаваемого параметра и определить дополнительные атрибуты операции добавления или изменения параметра.

Примечание

Флаги, выделенные курсивом, можно объединять с другими флагами с помощью битового OR (или). Эту операцию можно произвести в калькуляторе, переведенном в инженерный режим.

После флагов должно быть указано значение параметра. Если параметр не существует, то он будет создан, а если существует - перезаписан. Если параметр имеет тип REG_MULTI_SZ и установлен флаг 0x00010008 (REG_MULT1_SZ + 0x00000008), то список строк будет добавлен к уже существующему.

Если значение параметра не указано, то параметр будет создан без указания значения.

Рассмотрим несколько примеров:

; Создаем параметр Active типа REG_DWORD и присваиваем значение 1

HKCU,Software\Company\Program,Active, 0x10001,1

; Создаем параметр Str типа REG_SZ и присваиваем значение Test String

HKCU,Software\Company\Program,Str,Test String

; Устанавливаем значение по умолчанию

HKCU,Software\Company\Program. По умолчанию

Удаление разделов и параметров

Синтаксис описания разделов реестра такой же, как и в предыдущем случае: Корневой раздел, [подраздел], [параметр], [флаги], [значение]
Корневой раздел - это основной раздел, содержащий раздел реестра или параметр, который нужно удалить. Подраздел - это дочерний раздел, который нужно удалить, или же подраздел, содержащий параметр, который вы хотите удалить. Параметр - это имя параметра, который нужно удалить.

Флаг Операция

0x00002000
Удалить весь подраздел

0x00018002
Если параметр имеет тип REG_MULTI_SZ, то удаляются все строки, соответствующие строке, указанной в качестве значения

Значение (см. выше) используется, только если установлен флаг 0x00018002 и тип параметра равен REG_MULT1_SZ. В этом случае указанное значение будет удалено.

Signature=SCHICAGO$

; удаляем параметр Str из Software\Company\Program

HKCU,Software\Company\Program,Str

; удаляем строку Text из списка строк

HKCU, Software\Company\Program,StringList,0x00018002,Text

/удаляем весь раздел Software\Company\Program

HKCU, Software\Company\Program

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

Для установки INF-файла нужно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню команду Установить (рис. 21.1).

Использовать REG-файлы просто и удобно: вы можете создать все необходимые параметры в реестре, а затем экспортировать их в REG-файл. Преимущество заключается в том, что в REG-файлах исключены синтаксические ошибки - они создаются редактором реестра автоматически, без вашего вмешательства.

Windows Registry Editor Version 5.00 Str=Hello world! Counter=dword:00000000 Binary=hex:12,20

Название разделов реестра в REG-файле, так же как и секции в INF-файлах, записываются в квадратных скобках.

Строковые значения (REG_SZ) заключаются в кавычки; перед значениями типа REG_DWORD указывается ключевое слово dword:, а перед шестнадца-теричными значениями - hex.

Некоторые специальные символы, например, обратный слэш, цитируются с помощью обратной косой черты (\), например:

C:\\Windows\\system32

У REG-файлов есть один недостаток: REG-файл, сгенерированный для вашего реестра, может использоваться только для экспортированных в него ключей и параметров. А как с его помощью удалить разделы и параметры? Для этого вам придется писать REG-файл вручную.

Для удаления целого раздела реестра нужно перед именем раздела поставить знак -, например:

[-HKEY_CURRENT_USER\Software\Company\Program]

Если вы хотите удалить параметр, то минус нужно поставить перед его значением: имя=-значение

Вот пример REG-файла для удаления раздела HKEY_CURRENT_USER\ Software\Company\Program:

Windows Registry Editor Version 5.00 [-HKEY_CURRENT_USER\Software\Company\Program]

Напомню, что создать REG-файл можно в любом текстовом редакторе, например, в Блокноте. При создании REG-файла в Блокноте убедитесь, что файл сохранен с расширением.reg, а не.reg.txt, иначе система будет считать его обычным текстовым файлом.

Для применения REG-файла нужно дважды щелкнуть по его имени в окне Проводника, при этом система спросит вас, хотите ли вы применить REG-файл. Вам нужно согласиться.




INF-файлы

В данной статье мы рассмотрим, что представляет собой INF-файл, как с его помощью работать с другими файлами и реестром, создавать ярлыки, запускать программы и т.д.

Как известно, для более-менее серьезного программного продукта обычно требуется специальная программа инсталляции, с помощью которой пользователь сможет легко установить и так же легко удалить сам продукт. Существует много инструментальных средств, позволяющих быстро создавать инсталляционные пакеты. Однако, большинство из них добавляют к исходному размеру программы 200–500 Кб. А ведь это далеко не всегда радует. Серьезный продукт не обязательно должен быть внушительных размеров. И если вы хотите сделать инсталляцию доступной в Сети, то эти 200–500 Кб могут сильно сказаться на популярности продукта.

Как выйти из подобной ситуации? Здесь на помощь придут inf-файлы. Именно с помощью inf-файлов можно удалять, копировать другие файлы, добавлять информацию в реестр, в ini-файлы, создавать ярлыки, в общем, все то же, что обеспечивают громоздкие программы установки.

Перейдем к изучению спецификации inf-файлов.

inf-файл представляет собой текстовый файл, который, содержит условия установки программного обеспечения.

Чтобы запустить inf-файл, нужно щелкнуть по нему правой кнопкой мыши и выбрать в открывшемся контекстном меню параметр Установить (Install) . Но для подготовки дистрибутива можно воспользоваться IExpress, который поддерживает запуск.inf-файлов. Вооружившись этой программой, а также знанием спецификации.inf-файлов, можно создавать профессиональные инсталляционные пакеты.

Основную информацию в.inf-файле содержат секции, представленные в Таблице 1 (более сложные.inf-файлы могут иметь дополнительные секции).

Секция обязательно должна включать строку Signature="$Chicago$"

Эта секция определяет стандартный заголовок для всех inf-файлов Microsoft Windows. Если сигнатура будет не $Chicago$, операционная система Windows не примет inf-файл как принадлежащий любому из классов устройств, признанных Windows.

При написании сигнатуры вы можете использовать как верхний, так и нижний регистры букв - $Chicago$ или $CHICAGO$.

Секция установки может содержать следующие параметры:

CopyFiles - копирование файлов;

RenFiles - переименование файлов;

DelFiles - удаление файлов;

UpdateInis - изменение данных в ini-файлах;

UpdateIniFields - изменение областей в.ini-файлах;

AddReg - добавление информации в реестр;

DelReg - удаление информации из реестра;

Ini2Reg - перемещение строки или секции в ini-файлах;

UpdateCfgSys - изменение файла Config.sys;

UpdateAutoBat - изменение файла Autoexec.bat.

Этим параметрам в качестве значения присваивается имя секции с файлами. Например:

CopyFiles=CopyHtml

Example.html ;файл для копирования...

;Секция расположения каталогов

DestExampleFiles=10 ;Каталог назначения (т.е. копировать в папку Windows)

Чуть ниже представлены цифровые обозначения специальных папок, применяемые в.inf-файлах:

10 - C:\WINDOWS;

11 - C:\WINDOWS\System;

12 - C:\WINDOWS\SYSTEM\IOSUBSYS;

13 - C:\WINDOWS\COMMAND;

17 - C:\WINDOWS\Inf;

18 - C:\WINDOWS\Hlp;

20 - C:\WINDOWS\FONTS;

21 - C:\WINDOWS\SYSTEM\VIEWERS;

22 - C:\WINDOWS\SYSTEM\VMM32;

23 - C:\WINDOWS\SYSTEM\COLOR;

30 - Корневой загрузочный диск (обычно C:\).

Например, если нужно скопировать файл в папку Web, которая находится в каталоге Windows, сделайте это так:

DestExampleFiles=10,WEB

Так же можно поступить и с другими папками, находящимися в определенных каталогах.

Параметр CopyFiles содержит имя секции, где находятся имена файлов для копирования с исходного диска в папку назначения. Папка назначения определяется в секции inf-файла. В следующем примере копируются два файла:

Signature=$Chicago$

Copyfiles=ExampleCopyFiles ;секция может быть названа как угодно

1="Имя диска","",1

;Перечисляете файлы, которые содержатся на диске

Example.exe=1

;Перечисляете файлы для копирования (о цифрах через три запятые читайте ниже)

;Указываете папку, в которую будут копироваться файлы (10 - Windows)

ExampleCopyFiles=10

Цифры через три запятые обозначают дополнительные флаги при копировании файлов и могут принимать значения, представленные в

Параметр CopyFiles может копировать файл непосредственно из строки. Для этого перед именем файла нужно поставить символ @. В следующем примере копируются два текстовых файла:

[email protected], @anotherfile.txt

Параметр RenFiles содержит секции, которые в свою очередь содержат имена файлов для переименования. Папка, где будет происходить переименование, должна быть определена в секции inf-файла. В следующий примере происходит переименование двух файлов из.bmp в.txt:

Signature=$Chicago$

RenFiles=ExampleRenameOldFiles

1="Имя диска","",1

;Перечисляете старые имена файлов

;Определяете файлы, которые будут переименовываться

Example1.txt, Example1.bmp

Example2.txt, Example2.bmp

;Указываете папку, в которой будут переименовываться файлы (10 - Windows)

ExampleRenameOldFiles=10

В параметре AddReg указываются секции, которые содержат информацию о добавлении или изменении ключей, значений в реестре. Следующий пример регистрирует вашу копию операционной системы Windows.

Signature=$Chicago$

AddReg=ExampleAddRegistry

;Определяете информацию, которая будет добавлена в реестр

HKLM, "SOFTWARE\Microsoft\Windows\CurrentVersion", "RegDone","1"

HKLM, "SOFTWARE\Microsoft\Windows\CurrentVersion\ Welcome\RegWiz","@","1"

С помощью этого файла в реестр добавляется следующая информация:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Welcome\RegWiz

Обратите внимание на запятые в inf-файле. Если нужно добавить в реестр параметр по умолчанию, запятые должны быть проставлены иначе. Например, в рассмотренном нами ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion сделаем параметр по умолчанию равным единице (1):

HKLM, "SOFTWARE\Microsoft\Windows\CurrentVersion","1"

Ниже представлены корневые имена реестра, применяемые в inf-файлах.

HKCR - HKEY_CLASSES_ROOT;

HKCU - HKEY_CURRENT_USER;

HKLM - HKEY_LOCAL_MACHINE;

HKU - HKEY_USERS;

HKR - относительный ключ, используется классом installer ; обычно применяется для дисков устройства.

В параметре DelReg указываются секции, которые содержат информацию об удалении подключей с параметрами и значениями из реестра. Следующий пример демонстрирует удаление подключа Graphviz со всеми параметрами и значениями этого раздела реестра - HKEY_CURRENT_USER\Software\AT&T\Graphviz:

Signature=$Chicago$

DelReg=ExampleDelRegistry

;Определяете информацию, которая будет удалена из реестра

HKLM, "HKEY_CURRENT_USER\Software\AT&T\Graphviz"

Корневые имена реестра, естественно, обозначаются так же, как и при добавлении информации в реестр.

В процессе установки можно прервать выполнение.inf-файла для показа пользователю какого-нибудь документа (после закрытия которого установка продолжится) или запустить определенный процесс. Следующий пример отображает файл справки About.hlp и текстовый файл About.txt, после чего запускает другой inf-файл - Example.inf:

Signature=$Chicago$

AddReg=ExampleView

;Отображение файла справки About.hlp

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,"WINHLP32.EXE - Main %1%\About.hlp"

;Отображение текстового файла About.txt

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,"notepad %1%\About.txt"

;Запуск файла сценария Example.inf

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,"rundll setupx.dll,InstallHinfSection DefaultInstall 132 %1%\Example.inf"

;Определяете название, которое будет отображаться в окне "Установка Windows 98"

ABOUT="О программе..."

После того как определенные в секции команды выполнятся, записи, добавленные в реестр, будут автоматически удалены из него. Таким образом можно запускать и другие процессы, например апплеты Панели управления :

;Запуск апплета Панели управления Свойства: Система (SYSDM.CPL)

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,"rundll32

В следующем примере показано, как с помощью inf-файла изменить содержимое ini-файла:

Signature=$Chicago$

UpdateInis=ExampleAddINIfiles

;Указываете папку, где находится файл system.ini - например в папке Example, которая расположена в каталоге C:\Program Files

30,PROGRA~1\Example

ExampleAddINIfiles=30,PROGRA~1\Example

;Определяете название файла и секции добавляемых, удаляемых или заменяемых строк

;Добавляете в секцию файла system.ini строку shell=Example.exe

;Удаляете из секции файла system.ini строку shell=Example.exe

system.ini, boot, "shell=Example.exe"

;Заменяете из секции файла system.ini строку shell=Example.exe на shell=Example8.exe

system.ini, boot, "shell=Example.exe", "shell=Example8.exe"

С помощью inf-файлов можно также создавать/удалять ярлыки в меню Пуск . Ярлык можно создать в уже созданной группе программ. Если таковой не существует, она будет создана автоматически.

Следующий пример создает группу программ Windows + + в меню Пуск > Программы и ярлыки к утилитам winipcfg.exe (Конфигурация IP), Regedit.exe (Редактор реестра) и Winfile.exe (Диспетчер файлов - только в Win98). Все они есть у вас на компьютере и лежат в папке Windows.

Signature=$Chicago$

UpdateInis=ExampleShortcut

;Определяете название и размещение ярлыков

setup.ini, group1, """Конфигурация IP"",""""""%30%\WINDOWS\winipcfg.exe"""""",""%30%\WINDOWS"",""winipcfg.exe"""

setup.ini, progman.groups, "group1=""Windows + +"""

setup.ini, group1, """Редактор реестра"",""""""%30%\WINDOWS\Regedit.exe"""""",""%30%\WINDOWS"",""Regedit.exe"""

setup.ini, progman.groups, "group1=""Windows + +"""

setup.ini, group1, """Диспетчер файлов"",""""""%30%\WINDOWS\Winfile.exe"""""",""%30%\WINDOWS"",""Winfile.exe"""

Ярлык прописывается в таком порядке:

1. Название группы программ. В нашем случае - Windows + +.

2. Имя ярлыка.

3. Путь к программе, к которой создается ярлык.

4. Рабочий каталог, обычно тот же, что и путь. Некоторые программы не работают, если это условие не выполняется.

5. Имя программы с расширением.

Параметр %30%\ определяет корневой диск. Если вы хотите создать ярлык к файлу, который находиться в каталоге Program Files, смело прописывайте полный путь (не используйте короткие имена), например %30%\Program Files\Setup Generator Pro\Sgpro.exe.

Для удаления ярлыка нужно убрать все записи, указанные после имени ярлыка. В следующем примере удаляется ярлык Конфигурация IP из программной группы Windows + + .

setup.ini, progman.groups, "group1=""Windows + +"""

setup.ini, group1, """Конфигурация IP"""

Если вы удаляете один из ярлыков программной группы, то удаление не затронет другие ярлыки. Для полного удаления программной группы нужно прописать данное действие для каждого ярлыка.

К сожалению, вы не сможете с помощью inf-файла обычным способом скопировать файлы с длинными именами. Поддержка длинных файловых имен в.inf-файлах немного усложнена, но главное, что она существует. Для этого нужно проделать следующее: исходный файл должен быть с коротким именем, после установки его имя нужно сделать подлиннее. Для удаления процесс повторяется в обратном порядке: длинное файловое имя делается коротким и удаляется уже файл с 8.3-именем. Происходит все это с помощью реестра. Для этих действий в реестре предусмотрены специальные ключи:

Следующий ключ используется для переименования файлов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RenameFiles

Этот ключ используется для удаления файлов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DeleteFiles

Для действий переименования или удаления нужно добавить подключ с любым именем в соответствующую ветвь реестра. Минимум два ключа должны быть определены. Первый ключ содержит имя каталога, где будет происходить переименование или удаление файлов. Следующий ключ содержит имена файлов: первое - короткое, второе - длинное и его атрибуты, если нужно:

1 - Только для чтения;

2 - Скрытый;

3 - Системный.

Следующий пример демонстрирует переименование в каталоге C:\Files файла About.txt в About View files.txt и установление ему атрибута «Скрытый», а также переименование того же файла в подкаталоге Xmp папки C:\Files с установлением ему атрибута «Только для чтения»:

Signature=$Chicago$

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \Example,"%30%\Files"

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \Example,About.txt,"About View files.txt,2"

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \SubDir,"%30%\Files\Xmp"

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \SubDir,About.txt,"About View files.txt,1"

Ключи для удаления файлов имеют такую же структуру. Рассмотрим пример, который в каталоге C:\Files удаляет файл About View files.txt и такой же файл удаляет в подкаталоге Xmp папки C:\Files:

Signature=$Chicago$

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles

\Example,"%30%\Files"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles \Example,About.txt,"About View files.txt"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles \SubDir,"%30%\Files\Xmp"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles \SubDir,About.txt,"About View files.txt"

Параметры Example и SubDir могут быть любыми, например названием вашей программы, подкаталога и т.д. Важно, чтобы они были разными, т.к. переименование/удаление происходит в разных каталогах.

Данная статья не претендует на полноту, но надеюсь, поможет читателю освоить inf-файлы хотя бы поверхностно. Не бойтесь экспериментировать, но будьте предельно осторожны, особенно с процессами удаления.

Операционная система Windows использует файлы с расширением INF . Это обычный текстовый файл очень похожий по структуре на INI файлы. В Windows он применяется для разных целей:

  • Автоматизация инсталяции Windows
  • Информация для инсталляции оборудования
  • Информация для инсталляции программ

Для программистов конечно важное место занимают последние два варианта применения. Если Вы пишите драйвер для устройства Windows , то для его установки вам нужен этот файл. Вы, наверно, часто сталкивались с поиском этого файла при установке оборудования. На каждой инсталляционной дискете для драйверов монитора, сетевых карт и так далее присутствует этот файл. Можно запустить этот файл из проводника через всплывающее меню действием "установить" :-)

Второе его применение - возможность создания программ быстрой установки. Для установки программного обеспечения есть большое количество программ типа Setup Wizard . Но все они дописывают около 100 КБ или больше своего кода. Что делать, если это больше чем Ваша утилита вообще, или если Вы предпологаете распространять Вашу программу по интернету? Вобщем используя INF файл у Вас есть возможность создать самому маленькую утилиту инсталляции. При этом сохранив функциональность и создав рабочую группу или запись в реестре для необходимости. Вот пример, как создается группа.

UpdateInis = Test.Inis ........ setup.ini, progman.groups, "group321=Test"

В INF файле можно описать практически все необходимое для инсталляции программы. При этом не надо знать функции API , например, для записи данных в реестр. Вот например как это делается в INF

AddReg = Test.Add.Reg ...... HKLM,%URJ1%,DisplayName,"%Test_Desc%" ...... ...... URJ1 = "Software\Microsoft\Windows\CurrentVersion" APPS_DESC = "Accessories" Test_Desc = "Test App" ......

Но программа инсталляции все равно нужна. Правда в данном варианте она коротенькая совсем. Естественно она должна называться типа Setup.exe для красоты. Основное это то, что ваша программа инсталляции должна вызывать ShellExecuteEx и ей нужно передать местонахождение Вашего INF файла. При этом нужно дождаться окончания процесса его выполнения, тут поможет WaitForSingleObject .

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

AddReg = Test.Add.Reg-------- | ...... | |

Кроме того в разделе Strings можно создать константы, которые в последствии использовать в параметрах (%имя_константы%)

APPS_DESC = "Accessories"

Да, если Вы опишите нестандартный раздел или ошибетесь, то он просто игнорируется. Это говорит о том, что для генерации INF файла надо бы использовать или самому написать утилиту:-) Правила INF файлов таковы:

  • Имена разделов заключены в квадратные скобки -
  • Имена записей могут быть не уникальны, но порядок их размещения играет роль
  • Нестандартные разделы игнорируются