Текстовый файл inf. Расширение файла INF

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 файлов таковы:

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

В таблице ниже предоставляет полезную информацию о расширение файла.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 звезд отличная)

Некоторые пользователи «старой доброй» Windows XP при попытке установки её на свой компьютер могут столкнуться с ошибкой «Ошибка inf-файл txtsetup.sif испорчен или отсутствует, состояние 18» . Данная ошибка возникает в большинстве своём в случае инсталляции операционной системы Windows XP с флеш-накопителя, с использованием программы UltraISO . В этом материале я расскажу, что это за ошибка inf-файл txtsetup.sif испорчен или отсутствует, когда она возникает и как исправить её на ваших ПК.

Скриншот «Ошибка inf-файл txtsetup.sif испорчен или отсутствует, состояние 18»

В чём суть ошибки «inf-файл txtsetup.sif испорчен или отсутствует»

Чтобы понять, что такое «Ошибка inf-файл txtsetup.sif испорчен или отсутствует» необходимо обозначить обстоятельства, при которых возникает данная ошибка. Как упоминалось выше, она появляется при использовании программы для работы с образами дисков UltraISO, с помощью которой на флеш-накопитель пробуют записать инсталляционный образ Windows XP.

При этом с образами других операционных систем (например, Windows 7) программа UltraISO работает без проблем, но при попытке установить Windows XP с помощью образа, записанного на флешку через UltraISO, пользователь получает указанную ошибку. Это связано с особенностями сценария установки Windows XP, и его неувязки с функционалом самой программы UltraISO.

При исправлении данной ошибки (как будет описано ниже), пользователь сталкивается с другим сообщением «Не удалось найти устройство чтения компакт-дисков», что демонстрирует несоответствие функционала UltraISO и установочной версии Windows XP. При этом различные эксперименты с файлом $WIN_NT$.~BT\WINNT.SIF с целью отключить обращение к CD (DVD) не приносят нужного результата, потому здесь будет лучше выбрать иной путь.

Как исправить ошибку «Ошибка inf-файл txtsetup.sif испорчен или отсутствует, состояние 18»

Итак, каков же алгоритм решения ошибки inf-файл txtsetup.sif испорчен или отсутствует? Я предлагаю ознакомиться со способом 1, который привёл у меня к иным ошибкам, и способом 2, который реально исправляет ошибку:


  1. К примеру, чтобы воспользоваться WinSetupFromUsb запустите данную программу, сверху выберите путь к флешке, чуть ниже нажмите на «Bootice».
  2. В следующем окне жмём на «Perform format», выбираем USB-HDD Mode (Single Partition) и кликаем на «Next step» (следующий шаг) снизу.
  3. Выбираем файловую систему NTFS и жмём «Ок».
  4. Затем ставим галочку на опции Windows 2000/XP/2003 Setup и нажав на кнопку справа указываем системе путь к установочной версии Windows XP.
  5. Далее нажимаем на кнопку «Go» чуть ниже и дожидаемся окончания процесса.

Заключение

Выше я описал, что такое «Ошибка inf-файл txtsetup.sif испорчен или отсутствует, состояние 18». В большинстве случаев она возникает при использовании программы UltraISO для инсталляции операционной системы Windows XP с флеш-накопителя и связана с особенностями работы программы UltraISO и спецификой установки самой ОС Windows XP. Наиболее оптимальным выходов в данной ситуации является выбор другой утилиты для работы с flash-накопителем (например, WinSetupFromUsb), с которой установка Win XP на компьютер обычно проходит без каких-либо проблем.

Вконтакте