Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как сделать inf файл


Как создать Autorun для диска

Всем привет!
Сегодня я хочу, поговорит о полезности файла «autorun.inf».  Файл «autorun.inf» используют для быстрого запуска программ, игр и других приложений с CD/DWD диска или USB-накопителей.

Как это работает? Каждый раз, когда вы вставляете в комп флешку, дискетку, CD/DWD диск, операционная система Windows в первую очередь будет просматривать в самом корне файл «autorun.inf». Если «autorun.inf» присутствует, тогда операционная система прочитывает и запускает весь код, который был прописан в этом фале.

Итак, «autorun.inf» – это текстовый файл с расширением (.inf), в котором содержатся некоторые команды для автозапуска различных приложений.

Как создать файл «autorun.inf».

Чтобы создать загрузочный файл «autorun.inf», сделайте такие действия:
1. Откройте «Блокнот». (Для тех, кто не знает, где найти Блокнот: «Пуск» => «Все программы» => «Стандартные» => «Блокнот»).

2. В Блокноте впишите стандартный код

[AutoRun]
open= имя_программы.exe
icon= имя_значка.ico

Разъяснения:
open – этот параметр указывает, какой файл нужно запускать при подключении диска или флешки
icon – этот параметр служит для отображения иконки (маленькая картинка, логотип) при просмотре дисков через «Мой компьютер».

3. Сохраните в блокноте этот файл как «autorun.inf» в корне флэш или диска.

Если файл и иконку разместить в какую-то папку, например «file», тогда в файле autorun нужно указать к ним путь.
Это будет выглядеть следующим образом:

[autorun]
open= file /имя_программы.exe
icon= file /имя_значка.ico

Давайте посмотрим пример, как я использовал «autorun.inf» для DWD-диска. Моей задачей было сделать автоматический запуск программы с красивой иконкой.
Приступим:
1. Я создал файл «autorun.inf» с таким кодом:

[AutoRun]
open= WPI.exe
icon=icon.ico

2. Все файлы, которые я подготовил для диска вместе с файлом «autorun.inf» я записываю на диск через программу «NERO».

Внимание: файл  «autorun.inf», WPI.exe, icon.ico должны находиться в корне диска.

Давайте разберем, все то, что я написал.

Когда я вставлю диск в компьютер, автоматически выполнится загрузка файла «WPI.exe», так как в параметрах «open» я указал «WPI.exe».

Если зайти и посмотреть на вид диска через «Мой компьютер», можно увидеть красивую иконку, которая тоже загружается автоматически, благодаря параметру «icon».
Кстати, если вы хотите создать красивые иконки ico, вы можете прочитать об этом тут.

Дополнительные возможности файла «autorun.inf».

Запуск PDF документа и HTML-страницы.
При помощи загрузочного файла «autorun.inf» можно запускать не только приложение «exe», но и файлы PDF или документы HTML-страницы.

Для этого в созданном файле «autorun.inf», пропишите такой код:

[autorun]
open=autorun.bat index.htm
icon=имя_значка.ico

Теперь таким же образом, как вы создавали файл «autorun.inf», создайте файл «autorun.bat», и впишите следующий код:

echo off
@start %1 %2 %3 %4 %5 %6 %7 %8 %9
@exit

Есть другой вариант с использованием команды ShellExecute:

[autorun]
ShellExecute=index.htm
icon= имя_значка.ico

Еще одна возможность в авторане, в меню автозапуска можно отобразить текст запуска. Для этого следует использовать команду action.
Это выглядит вот так:

[AutoRun]
open= имя_программы.exe
action=Программа для BlogGood-ru

Если ваши глаза устали видеть надпись «Съемный диск» и вы желаете ее поменять, то это можно сделать при помощи параметра label . Пропишите в файле Autorun.inf такой код:

[AutoRun]
open= имя_программы.exe
action= Программа для BlogGood-ru
icon=имя_иконки.ico
label= Крутая флешка

Конечно, изменить на флэшке надписи «Съемный диск» можно и без использования файла Autorun.inf, но это работает только в Windows XP. Думаю, вам эта информация пригодится.
Достаточно нажать правой кнопкой мыши на флэшку и  в открывшемся окне выбрать «Переименовать». Пишите любое название и THE END.

И напоследок: для создания файла «Autorun» вы можете воспользоваться программой Create Autorun. При помощи программы Create Autorun, вы сможете с легкостью  создать автозапуск для дисков. Но это еще не все, к запуску можно присоединить какой-нибудь комментарий и настроить вид окна.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓


Последние новости категории:

Похожие статьи

Популярные статьи:

Добавить комментарий

Метки: windows XP/7

Создание Autorun.inf для флешки и диска за 5 минут

Просмотров 5.8k.

Без использования сторонних программ и, не обладая особыми навыками на компьютерах можно выпонять много разных действий.


К примеру, можно заблокировать сайт на компьютере, ускорить систему, запускать разные процедуры проерок и даже создать авторан для любых съемных носителей памяти.

Как создать Autorun на диске или флешке? Когда вставляешь диск или флешку в компьютер, появляется стандартное окно, где предлагается выбрать действие (например, открыть папку). Это не всегда удобно, например, если диск с игрой или программой, есть смысл добавить на него файл автоматического запуска.

Создание Autorun.inf для флешки и диска за 5 минут

Когда к компьютеру подключается флешка или диск, система сразу проверяет, есть ли на них файл Autorun.inf. Если он есть, то сразу производится запуск.

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

Что такое Autorun.inf? Это обычный текстовый документ, его можно создать в блокноте. Много ума для того, чтобы его заполнить не требуется. Открываете блокнот и добавляете туда вот такие строчки:

  • [AutoRun]
  • open= программа.exe
  • icon= значок.ico

Вместо слова программа, необходимо указать название запускаемого файла. Вместо значок, название иконки. Всё, жмете сохранить и не забываете указать формат в названии:

Этот текстовый файл нужно добавить на диск или флешку. В одной папке с ним должен находиться значок и файл в формате .exe (который будет запускаться).Следовательно, на флешке или диске должно всё выглядеть так:

Папки нужны для работы программы, иконка и autorun необходимы для автоматического запуска. Сама программа тоже находится в этой папке.

Если будете добавлять Autorun.inf в корневую папку, а значок или программа будут в других папках, адрес нужно будет указывать полностью (open= Audio/555/программа.exe

Если хотите, чтобы Autorun.inf выполнял дополнительные функции, добавляйте в него ещё пару строчек:

  • [AutoRun]
  • open= программа.exe
  • action= запуск программы Workion
  • icon= значок.ico
  • label= название флешки

Функция action открывает текст при запуске авторана. Строчка label пригодится, если вам надоело видеть привычную надпись «Съемный диск», она заменяет имя.

Также вместо программы можно запускать и другие файлы. Например, если прописать строчку ShellExecute=страничка.htm (вместо open= программа.exe) будет открываться HTML страничка, добавленная на флешку.

Если нужно создать оригинальный авторан, лучше использовать программу Create Autorun. Через неё можно добавить комментарии к автозапуску, а также настроить окно.

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

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

Вам также будет интересно:
— Как защититься от вирусов с флешек?
— Как разблокировать ПК с вирусом

Создание файла autorun.inf для CD- и DVD-дисков

Чтобы ни говорили эксперты из Американской ассоциации звукозаписи (RIAA), а функциями записи CD-R/RW дисков пользуются не только музыкальные пираты. В деловой среде запись информации на CD-диск оказывается самым удобным способом донесения нужных сведений до целевой аудитории. Надежные и мобильные CD-накопители сегодня являются самым популярным средством распространения презентаций PowerPoint, документов HTML, форм PDF, флэш-анимации и любых других данных в бизнесе.

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

Способ первый

Эту идею подсмотрели на форуме http://www.cyberforum.ru/html/: поскольку файл autorun.inf базовой конфигурации определяет, какая программа должна запускаться при вставке CD-диска в привод и какой значок должен отображаться при просмотре диска средствами Проводника Windows (Windows Explorer) или любого другого файлового менеджера. То текстовый файл должен помещаться в корневом каталоге диска и содержать в себе следующие строки:

[autorun]
open=имя_программы.exe
icon=имя_значка.ico



Файл значка тоже должен храниться в корневом каталоге диска.

Другой вариант

Если программа для автозапуска хранится не в корневом каталоге диска, в файле autorun.inf следует указать путь к ней:

[autorun]
open=папка1\папка1A\имя_программы.exe
icon=имя_значка.ico

Иногда для автоматического запуска программы бывает необходимо указать аргумент:

[autorun]
open=имя_программы.exe /аргумент
icon=имя_значка.ico

Автозапуск без программы

Если на диск записаны презентации, файлы PDF или документы HTML для клиентов, инвесторов и сотрудников, файл autorun.inf должен выглядеть немного иначе, а в корневом каталоге диска должен храниться командный файл DOS. В такой конфигурации файл autorun.inf запускает командный файл, а тот открывает записанные на диск файлы с помощью приложения по умолчанию, выбранного для данного типа файлов. Например:

[autorun]
open=autorun.bat index.htm
icon=имя_значка.ico

А в файле autorun.bat должен содержаться следующий код:

echo off
@start %1 %2 %3 %4 %5 %6 %7 %8 %9
@exit

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

[autorun]
ShellExecute=index.htm
icon=training.ico

Использование файла autorun.inf для автозапуска самозаписанных CD-дисков избавит пользователей от ненужной головной боли и повысит вероятность того, что важная информация достигнет получателей. А поскольку это – простой текстовый файл, его можно создать с помощью любого текстового редактора и просто записать на диск.

Способ второй

Файл autorun.inf, созданный первым способом, будет работать на любых компьютерах – за исключением тех, в которых функция автозапуска по тем или иным причинам в принципе не работает. Командный файл, используемый в первом случае, не предусматривает вероятности возникновения ошибок, а поэтому просто не срабатывает, если ошибки все-таки происходят.

В таком случае пригодится утилита оболочки от одного из сторонних производителей. В таких утилитах содержатся механизмы разрешения распространенных ошибок, что позволяет завершить процесс автозапуска даже при возникновении сбоя. В нашем примере используется утилита autorun.exe, которую можно загрузить с сайта компании Tarma Software Research. Утилиту Tarma можно свободно и бесплатно использовать как в индивидуальных, так и в коммерческих целях безо всяких лицензий и пользовательских соглашений.

Чтобы воспользоваться утилитой, нужно просто заменить autorun.bat на autorun.exe в файле autorun.inf. Тогда простой файл autorun.inf будет выглядеть так:

[autorun]
open=autorun.exe index.htm
icon=имя_значка.ico

Единственное, что требуется – записать копию утилиты autorun.exe (8 Кб) в корневой каталог CD-диска. Утилита обладает и другими возможностями, позволяющими составлять файлы autorun.inf сложной структуры для более гибкого управления автозапуском.

Автор: Mark Kaelin
Перевод: SVET



Оцените статью: Голосов 23

INF-файлы. Программы и файлы Windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[DefaultInstall]

CopyFiles=CopyHtml

[CopyHtml]

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

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

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

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

10 — C:WINDOWS;

11 — C:WINDOWSSystem;

12 — C:WINDOWSSYSTEMIOSUBSYS;

13 — C:WINDOWSCOMMAND;

17 — C:WINDOWSInf;

18 — C:WINDOWSHlp;

20 — C:WINDOWSFONTS;

21 — C:WINDOWSSYSTEMVIEWERS;

22 — C:WINDOWSSYSTEMVMM32;

23 — C:WINDOWSSYSTEMCOLOR;

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

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

[DestinationDirs]

DestExampleFiles=10,WEB

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

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

[Version]

Signature=$Chicago$

[DefaultInstall]

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

[SourceDisksNames]

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

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

[SourceDisksFiles]Example.exe=1

Example.vxd=1

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

[ExampleCopyFiles]

Example.exe,,,1

Example.vxd,,,1

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

[DestinationDirs]

ExampleCopyFiles=10

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

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

[email protected], @anotherfile.txt

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

[Version]

Signature=$Chicago$

[DefaultInstall]

RenFiles=ExampleRenameOldFiles

[SourceDisksNames]

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

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

[SourceDisksFiles]

Example1.bmp=1

Example2.bmp=1

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

[ExampleRenameOldFiles]

Example1.txt, Example1.bmp

Example2.txt, Example2.bmp

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

[DestinationDirs]

ExampleRenameOldFiles=10

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

[Version]

Signature=$Chicago$

[DefaultInstall]

AddReg=ExampleAddRegistry

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

[ExampleAddRegistry]

HKLM, "SOFTWAREMicrosoftWindowsCurrentVersion", "RegDone",,"1"

HKLM, "SOFTWAREMicrosoftWindowsCurrentVersion WelcomeRegWiz","@",,"1"

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

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion

"RegDone"="1"

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWelcomeRegWiz

"@"="1"

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

HKLM, "SOFTWAREMicrosoftWindowsCurrentVersion",,,"1"

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

HKCR — HKEY_CLASSES_ROOT;

HKCU — HKEY_CURRENT_USER;

HKLM — HKEY_LOCAL_MACHINE;

HKU — HKEY_USERS;

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

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

[Version]

Signature=$Chicago$

[DefaultInstall]

DelReg=ExampleDelRegistry

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

[ExampleDelRegistry]

HKLM, "HKEY_CURRENT_USERSoftwareAT&TGraphviz"

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

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

[Version]

Signature=$Chicago$

[DefaultInstall]

AddReg=ExampleView

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

[ExampleView]

HKLM,SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,%ABOUT%,,"WINHLP32.EXE — Main %1%About.hlp"

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

HKLM,SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,%ABOUT%,,"notepad %1%About.txt"

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

HKLM,SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,%ABOUT%,,"rundll setupx.dll,InstallHinfSection DefaultInstall 132 %1%Example.inf"

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

[Strings]

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

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

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

HKLM,SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,%ABOUT%,,"rundll32

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

[Version]

Signature=$Chicago$

[DefaultInstall]

UpdateInis=ExampleAddINIfiles

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

30,PROGRA~1Example

[DestinationDirs]

ExampleAddINIfiles=30,PROGRA~1Example

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

[ExampleAddINIfiles]

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

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

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

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

;Заменяете из секции [boot] файла 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.

[Version]

Signature=$Chicago$

[DefaultInstall]

UpdateInis=ExampleShortcut

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

[ExampleShortcut]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[ExampleShortcut]

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

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

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

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

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

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRenameFiles

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

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionDeleteFiles

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

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

2 — Скрытый;

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

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

[Version]

Signature=$Chicago$

[DefaultInstall]

AddReg=Rename

[Rename]

HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles Example,,,"%30%Files"

HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles  Example,About.txt,,"About View files.txt,2"

HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles SubDir,,,"%30%FilesXmp"

HKLM,SoftwareMicrosoftWindowsCurrentVersionRenameFiles SubDir,About.txt,,"About View files.txt,1"

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

[Version]

Signature=$Chicago$

[DefaultUninstall]

AddReg=Delete

[Delete]

HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles

Example,,,"%30%Files"

HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles Example,About.txt,,"About View files.txt"

HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles SubDir,,,"%30%FilesXmp"

HKLM,SoftwareMicrosoftWindowsCurrentVersionDeleteFiles SubDir,About.txt,,"About View files.txt"

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

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

Поделитесь на страничке

Следующая глава >

Как сделать Autorun своими руками » Познавательный блог

Привет тебе снова супер-хацкер. :) Теперь тебя заинтересовало название — "Autorun своими руками".Ну, давай разбираться, как ты понял это не относится к области хакерства, это просто опыт и умение которые всегда и везде смогут тебе пригодиться.
Я на 101% уверен, что ты хоть раз засовывал в свой новороченный сидиром, какой-нибудь игровой диск!!! И зная, что после того, как ты его вставил. К тебе на глаза выскочило красивое окошко с всякими менюшками и кнопочками.

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

Но ты ведь щас спросишь: "а нахрен мне такое счастье?".
Отвечаю: "Ну, допустим, ты собрал все программы по хаку или по программированию на один диск. А потом соседка с большой грудью попросит у тебя этот диск. Разве ты откажешь ей?? Еще как дашь! (И не бреши что не дашь). А потом весь вечер она тебе будет названивать или ваще домой придет (Тогда дальше не читай ;)). И начнет задавать глупые вопросы, такое выдержит не каждый.
А если напишешь Авторун, то диск сам ей подскажет что делать. На экран вылезут красивые странички или окошки с кнопками и справками:
"Установка, удаление, настройка". И тебе ничего не придется никому объяснять. И когда я писал эту статью я понял, что с грудастой блондинкой такой номер проводить не надо, скажи пусть к тебе приходит, и ты ей все расскажешь и покажешь. А вот что это уж не мне тебе объяснять : .(PS - Это относится к особям мужского пола и потолка…)

Итак, начинаем обучение:

Авторун можно сделать из чего угодно, будь то *.exe *.bat *.com *.txt *.html - файлы. Всё зависит от твоих знаний. Сам Autorun создается в Блокноте и называется всегда одинаково "Autorun.inf", создай файл с таким именем и вписывай в него

[AutoRun]
icon=iconca.ico
open=start.exe

Здесь два параметра "icon=ico.ico" , это иконка диска она будет отображаться в проводнике вместо стандартной. Иконок в нете полно или нарисуй сам, это не сложно. Можно установить программу ArtICO или в Paint нарисовать маленький bmp и сменить расширение на ico. Иконка будет готова.

open=start.exe

Это у нас сам Авторун он может быть любым файлом НО!!! Все файлы будут открываться виндовым Эксплорером, и при попытке написать такое:

open=index.html

он напишет, что "index.html не является приложением Win32", вот тупой масдай :)
Для такого случая во всех дисках Журнала Chip есть файлик start.exe скопировав его на свой диск и написав такое

[AutoRun]
icon=iconca.ico
open=start.exe index.html

Твой индекс откроется в Браузере, такую лажу можно написать и самому на любом языке программирования в 2 строчки. Если мозги есть.
Значит, ты можешь сделать Авторун через (Веб-интерфейс) html как Веб-сайт...
*.bat выполнится отлично и сам, намек понял?? Его можно сделать скрытым и запускать, когда нужно.

Естественно можно оставить на самом диске "Autorun.inf" а другие файлы пихать куда угодно, например, так

[AutoRun]
icon=data\iconca.ico
open=data\start.exe

Тоесть можно файлы анимации и авторуна можно засунуть в отдельную папку. И так далее…

Также этот файл будет работать и на винчестерах, тоесть ты можешь сделать своему харду иконку. Но на Гибких дискетах такое не катит, не видят они его, а жаль!
Если есть желание поизвращаться можете скопировать с главного диска c: файл io.sys и записать его на CD. И если юзер забудет вынуть диск, то винда не загрузится. Умные люди придумали защиту от ламера в форме BAT файла. И защитили свой диск паролем. Но это другой разговор. Как говортися: "Все ограничено фантазией, и чем её больше тем бредовее и заумнее будут идеи. ;))) !!!"

С помощью авторуна можно выполнять любые программы с винчестера пользователя.
Создав файл bat и прописав его в Авторун, ты можешь без ведома юзера запустить к нему виря, так что он и не заметит, можешь без его ведома что-то удалить, установить и.т.д.
Но ради забавы портить болванки - это не дело и дорого!

Существует программа AutoPlayMenu с её помощью легко создаются авторуны. Ты даже можешь авторун сделать на C++ и на другом языке программирования. Вобщем ты понял, что все ограничено лишь твоей фантазией и возможностями, на этом и закончим нашу позновательную статейку.

Создание autorun inf. Как создать Autorun на диске или флешке

Флешки - основной источник заражения для
компьютеров, не подключенных к Интернету
- Wikipedia

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

В этой статье будет рассмотрено:

Назначение файла autorun.inf

Файл autorun.inf (от англ. auto – автоматический и run – запуск) используется в операционной системе Microsoft Windows для автоматического запуска приложений с носителей, что позволяет значительно упростить действия пользователя при установке приложений и драйверов с накопителей.

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

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


open = имя_файла

Где – имя блока, open – имя параметра, имя_файла – содержит путь к файлу приложения, которое будет автоматически запущено.

Стоит отметить, что worm win32 autorun способен обфусцировать (запутывать) содержимое файла autorun.inf, тем самым затрудняя анализ файла. Однако, программа для защиты флешки без проблем распознает содержимое файла автозапуска, над которым поработал autorun червь .

Вирус autorun

Изначально безобидное предназначение файла автозапускасо временем стало использоваться вирусописателями как эффективный способ распространения worm win32 autorun . Сам по себе файл autorun.inf не содержит исполняемый код вируса, он является лишь средством запуска autorun червя .

Вирусом autorun называется такой тип вирусов, которые распространяются посредством копирования исполняемого файла (своей копии) на съемные носители и прописываясь в файл автозапуска autorun.inf, таким образом, заражая их. Заражению подвержены абсолютно все внешние накопители (флешки, mp3-плееры, цифровые камеры и прочие устройства), которые не защищены каким-либо образом от записи на диск (аппаратная защита, или же уже существующий в корне диска защищенный файл или папка autorun.inf).

В Windows XP autorun по-умолчанию запускается со съемных носителей. Существует масса способов устранения этой уязвимости: от установки официальных заплаток (обновлений) от Microsoft до применения различных настроек. Программа для защиты флешки от вирусов Antirun при установке автоматически устраняет эту уязвимость. Также в настройках программы доступно возобновление функции автозапуска.

В Windows 7 autorun обрабатывается несколько иначе: по-умолчанию автозапуск со съемных носителей отключен, однако это не обеспечивает защиту от autorun вирусов с флешек. Поэтому для защиты от worm win32 autorun рекомендуется использовать программу Antirun вместе с основным антивирусом.

Признаки заражения флешки

Наличие файла автозапуска на CD диске с игрой означает скорее то, что на диске есть инсталлятор игры. Аналогично, как и на CD диске с фильмом присутствует меню с возможностью установить кодеки для просмотра видео. Однако, присутствие файла autorun.inf на флешке (mp3-плеере, цифровой камере или другом цифровом носителе) уже вызывает подозрение и с большой долей вероятности указывает на присутствие autorun червя на флешке.

Рассмотрим типичный пример зараженного съемного диска:

На рисунке явно видно, что на съемном диске (G:) присутствует скрытый файл autorun . inf и скрытая папка RECYCLER . Анализируя содержимое файла автозапуска, становится понятно, что при автозапуске съемного носителя запускается файл jwgkvsq.vmx (worm win32 autorun) из папки RECYCLER .

Разумеется, для просмотра скрытых файлов и папок в Проводнике, необходимо поставить соответствующую галочку в настройках вида папок (пункт Сервис в меню Проводника – Параметры папок – Вид).

Стоит напомнить, что не всегда файл автозапуска является признаком заражения вирусом worm win32 autorun . Возможно, на флешке присутствует автоматическое меню с набором портативных программ, или же файл autorun.inf указывает только на иконку устройства.

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

Рассмотрим работу антивирусной утилиты Antirun в данном случае. При подключении устройства, зараженного вирусом autorun (файл jwgkvsq.vmx ), программа Antirun предупредит пользователя о существующей угрозе в всплывающем диалоге в области над системным треем:

На данном диалоге видно, что Antirun распознал автоматически запускающийся файл (jwgkvsq.vmx ) и предложил его удалить. Также из данного диалога можно безопасно открыть диск, не запуская файл вируса, просмотреть информацию о диске, либо безопасно извлечь устройство.

Признаки заражения системы

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

  1. При попытке запустить диспетчер задач Windows появляется сообщение «Диспетчер задач отключен администратором ».
  2. При попытке запустить редактор реестра Windows появляется сообщение «Редактирование реестра запрещено администратором системы ».
  3. На дисках создается скрытый файл autorun.inf , а при удалении создается снова.
  4. Невозможно открыть или удалить файл autorun.inf . Windows сообщает, что доступ к файлу невозможен. Это типичное проявление активности червя worm win32 autorun .
  5. При попытке открытия диска открывается диалог«Выберите программу для открытия этого файла »
  6. При попытке открытия диска он стал открываться в отдельном окне;
  7. Из меню Проводника Сервис исчез пункт Свойства папки .

Источники заражения

Широкое распространение worm win32 autorun получил благодаря повсеместному использованию внешних накопителей. Сейчас практически у каждого пользователя ПК имеется флешка (а то и несколько), цифровой плеер или камера с картой памяти. Используются эти устройства на разных компьютерах, большинство которых даже не защищены антивирусом, не говоря уже об актуальных базах вирусных сигнатур.

Источником заражения вирусом worm win32 autorun может послужить любой зараженный компьютер. Это может быть:

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

Также известны случаи, когда новая флешка, купленная в магазине, уже содержала worm win32 autorun.

В заключение стоит добавить, что за довольно долгую историю существования autorun вирусов и появившуюся за это время массу методов защиты и профилактики, проблема все еще остается актуальной. Далеко не все лидирующие на рынке комплексные антивирусные решения способны грамотно справиться с этой задачей. Для надежной защиты от autorun вирусов рекомендуется использовать антивирусную утилиту Antirun совместно с основным антивирусным комплексом.

В следующих статьях будут рассмотрены методы защиты системы и внешних устройств (флешек, mp3-плееров, камер и пр.) от вирусов autorun, которые использует в своей работе антивирусная программа Antirun.

Привет тебе снова супер-хацкер. :) Теперь тебя заинтересовало название - "Autorun своими руками".Ну, давай разбираться, как ты понял это не относится к области ха

Запись файлов INF - драйверы для Windows

  • 2 минуты на чтение

В этой статье

Когда вы пишете файл INF для своего пакета драйверов, вы должны следовать этим рекомендациям:

  • INF-файл должен использовать допустимую структуру и синтаксис для прохождения проверок правильности пакета драйверов в начале процесса установки.

    Используйте инструмент INFVerif для проверки структуры и синтаксиса файлов INF.

  • INF-файл должен содержать допустимые разделы INF SourceDisksFiles и SourceDisksNames . Начиная с Windows Vista, операционная система не копирует пакет драйверов в хранилище драйверов, если эти разделы отсутствуют и не заполнены правильно.

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

    Начиная с Windows XP, если вы хотите подготовить другие файлы INF во время установки, управляемой файлом INF, используйте директиву INF CopyINF .

    Примечание Не используйте директиву INF CopyFiles для копирования файлов INF.

  • Компоненты пакета драйверов никогда не должны напрямую копировать или удалять файлы INF непосредственно в системный каталог % SystemRoot% / Inf . Это приводит к тому, что цифровая подпись драйвера становится недействительной, и это приводит к тому, что драйвер не загружается успешно.

.

Обзор файлов INF - драйверы для Windows

  • 2 минуты на чтение

В этой статье

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

INF-файл - это текстовый файл, содержащий всю информацию, которую компоненты установки устройства использовали для установки драйвера.Windows устанавливает драйверы с помощью файлов INF. Эта информация включает следующее:

  • Имя и расположение драйвера
  • Информация о версии драйвера
  • Информация реестра

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

Полное описание формата файла INF см. В разделах файла INF и Директиве файла INF.

.

Общие правила синтаксиса для файлов INF - драйверы Windows

  • 7 минут на чтение

В этой статье

INF-файл - это текстовый файл, организованный в именованные разделы. Некоторые разделы имеют имена, определенные системой, а некоторые разделы имеют имена, определенные автором файла INF.

Каждый раздел содержит специфические для раздела записи, которые интерпретируются компонентами установки устройства (установщики классов, совместные установщики, SetupAPI).Некоторые записи начинаются с заранее определенного ключевого слова. Эти записи называются директивами .

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

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

Когда Windows начинает установку, она сначала ищет раздел INF Version , чтобы проверить правильность INF-файла и определить, где находятся установочные файлы. Затем он начинает установку, находя INF Manufacturer section . Этот раздел содержит директивы к разделам INF Model , которые, в свою очередь, содержат директивы, ведущие к различным разделам INF DDInstall , на основе идентификатора оборудования устанавливаемого устройства.

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

Чувствительность корпуса

  • Имена разделов, записи и директивы не чувствительны к регистру. Например, версии , VERSION и Version являются одинаково допустимыми спецификациями имени раздела в INF-файле.

Обязательное и дополнительное содержимое

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

  • Набор разделов, специфических для раздела записей и директив, необходимых для установки любого конкретного устройства и его драйверов, также в некоторой степени зависит от соответствующего установщика класса. Дополнительные сведения о том, как поставляемые системой установщики классов обрабатывают файлы INF, относящиеся к конкретному типу устройства, см. В документации по конкретному типу устройства в WDK.

  • В определениях синтаксиса необязательные записи ограничиваются скобками без жирного шрифта ([,]). С другой стороны, полужирные скобки ( [, ] ) являются обязательными элементами записи, в которой они содержатся.В следующем примере скобки вокруг версии являются обязательными, а скобки вокруг Class = имя класса указывают, что эта запись является необязательной.

      [ Версия ]  Подпись = "подпись-имя" [Class = class-name] ... 

Названия разделов

  • Разделы можно уточнить в любом порядке. Большинство файлов INF по соглашению перечисляют разделы в определенном порядке, но Windows находит разделы по имени, а не по расположению в файле INF.

  • Каждый раздел в INF-файле начинается с имени раздела, заключенного в квадратные скобки ( [] ). Имя раздела может быть определено системой или определено средством записи INF.

    Например, [Производитель] указывает начало раздела , названного производителем, а [ Std.Mfg ] представляет конкретное имя раздела Models , определенное средством записи INF.

    Имя раздела имеет максимальную длину 255 символов в Windows 2000 и более поздних версиях Windows.

    Каждый раздел заканчивается в начале нового [ имя раздела ] или на отметке конца файла.

  • Если несколько разделов в INF-файле имеют одинаковое имя, система объединяет их записи и директивы в один раздел.

  • Если оно не заключено в двойные кавычки ( "), имя раздела, определяемое функцией записи INF, должно быть уникальной для INF строкой явно видимых символов, за исключением некоторых символов со значениями, специфичными для INF. .В частности, имя раздела без кавычек, на которое ссылается запись раздела или директива, не может иметь начальных или конечных пробелов, символа перевода строки, символа возврата или любого невидимого управляющего символа, а также не должно содержать табуляции. Кроме того, он не может содержать символы скобки ( [] ), одинарный символ процента (% ), точку с запятой (; ) или любые внутренние двойные кавычки ( ") символы и в качестве последнего символа не может быть обратной косой черты ( \ ).

    Например, Std.Mfg и Std_Mfg являются уникальными и допустимыми именами разделов, если на них ссылается запись или директива файла INF, но Std; Mfg (с его внутренней точкой с запятой) недопустим, если он не заключен в двойные кавычки ( ")

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

    Например, " ;; Std Mfg " является допустимой ссылкой на имя раздела, если соответствующее объявление раздела в INF-файле точно совпадает с именем внутри двойных кавычек по отношению к его символам пробела и точки с запятой как [ ;; Стандартный изготовитель ] .

Использование строковых токенов

  • Многие значения в INF-файле, в том числе имена разделов, определенные средством записи INF, могут быть выражены в виде токенов строковых ключей в форме % strkey % .В разделе INF Strings файла INF каждый строковый ключ должен быть связан со строковым значением, которое состоит из последовательности явно видимых символов. При необходимости код настройки преобразует строковое значение в Unicode.

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

Формат строки, продолжение и комментарии

  • Каждая запись и директива в разделе оканчиваются символом возврата или перевода строки.Следовательно, текстовый редактор, используемый для создания файла INF, не должен вставлять символы возврата или перевода строки после произвольного, определяемого редактором количества символов.

  • Символ обратной косой черты ( \ ) может использоваться в качестве явного продолжения строки в записи или директиве. Однако символы обратной косой черты также используются в указаниях пути. Чтобы гарантировать, что символ обратной косой черты, который появляется в спецификации пути, не будет неправильно истолкован как продолжитель строки, используйте следующую стратегию:

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

        CopyFiles = "SomeDirectory \" \ , SomeFile  
    • Избегайте использования символа обратной косой черты, как показано в следующем примере. Windows игнорирует первую обратную косую черту и интерпретирует вторую обратную косую черту как продолжение строки.

        CopyFiles = SomeDirectory \\ , SomeFile  
    • Следующий синтаксис действителен и эквивалентен CopyFiles = "SomeDirectory \", SomeFile; Комментарий .

        CopyFiles = "SomeDirectory \" \; комментарий , SomeFile  

      Поскольку текст после точки с запятой игнорируется, CopyFiles = "SomeDirectory \"; комментарий, SomeFile не работает.

  • Комментарии начинаются с точки с запятой (; ). При синтаксическом анализе и интерпретации файла INF система предполагает, что следующее не имеет отношения к процессу установки:

    • Любые символы, следующие за точкой с запятой в той же строке, если точка с запятой не появляется внутри строки в кавычках " " или % strkey % token
    • Любая пустая строка, не содержащая ничего, кроме символа перевода строки или возврата
  • Запятые разделяют значения, указанные в записях разделов и директивах.

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

    Например, рассмотрим синтаксис для записи раздела SourceDisksFiles :

    имя файла = diskid [, [ subdir ] [, размер ]]

    Запись, которая пропускает значение subdir , но предоставляет значение размера , должна указывать разделители запятых для обоих значений, как показано в следующем примере:

    имя файла = diskid ,, размер

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

    имя файла = diskid

  • Чтобы включить символ процента (%) в значения, предоставленные в записях и директивах разделов, экранируйте символ процента другим символом процента.

    Например, рассмотрите этот оператор в [add-registry-section] разделе:

    HKR ,, EventMessageFile, 0x00020000, "%% SystemRoot %% \ System32 \ IoLogMsg.dll"

    В качестве значения реестра будет установлено следующее значение:

    % SystemRoot% \ System32 \ IoLogMsg.dll

  • Чтобы включить символ двойной кавычки (") в значения, предоставленные в записях и директивах раздела, экранируйте символ двойной кавычки с другим символом двойной кавычки.Обратите внимание, что строка должна быть в кавычках " " ".

    Например, рассмотрите этот оператор в [add-registry-section] разделе:

    HKR ,, Пример ,, "Показать" "пример" "строка"

    В качестве значения реестра будет установлено следующее значение:

    Показать строку «пример»

INF Ограничения размера

  • Максимальная длина поля INF-файла в символах до подстановки строки и включая завершающий символ NULL составляет 4096.

  • После подстановки строки максимальная длина строки файла INF в символах составляет 4096, что включает завершающий символ NULL.

  • Однако имейте в виду, что Plug and Play (PnP) может налагать более строгие ограничения на определенные поля INF-файла, которые он распознает или использует, например описание устройства, поставщик драйвера и производитель устройства.

.

Использование INF-файла расширения - Драйверы для Windows

  • 8 минут на чтение

В этой статье

До Windows 10 Windows выбирала один пакет драйверов для установки для данного устройства. Это привело к созданию больших и сложных пакетов драйверов, которые включали код для всех сценариев и конфигураций, и каждое незначительное обновление требовало обновления всего пакета драйверов.Начиная с Windows 10, вы можете разделить функциональность INF на несколько компонентов, каждый из которых может обслуживаться независимо.

Чтобы расширить функциональные возможности файла INF пакета драйвера, предоставьте расширение INF в отдельном пакете драйвера. Расширение INF:

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

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

Типичные сценарии, в которых вы можете использовать расширение INF, включают:

  • Изменение параметров, содержащихся в базовом INF, например изменение понятного имени устройства или изменение параметра конфигурации оборудования.
  • Создание одного или нескольких программных компонентов путем указания директивы INF AddComponent и предоставления файла INF компонента.

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

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

Как расширенный INF и базовый INF работают вместе

Настройки в расширении INF применяются после настроек в базовом INF. В результате, если в расширении INF и базовом INF указывается один и тот же параметр, применяется версия в расширении INF. Точно так же, если базовый INF изменяется, расширение INF остается и применяется к новому базовому INF.

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

Указание ExtensionId

Когда вы пишете расширение INF, вы генерируете специальный GUID, называемый ExtensionId , который является записью в разделе [версия] файла INF.

Система определяет возможные расширения INF для конкретного устройства путем сопоставления идентификатора оборудования и совместимых идентификаторов устройства с теми, которые указаны в расширении INF в разделе Models , который применяется к этой системе.

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

Для иллюстрации рассмотрим следующий сценарий, который включает в себя гипотетическое устройство, для которого существует три расширения INF:

Значения ExtensionId {A} , {B} и {C} показаны в фигурных скобках, а ранг каждого драйвера показан на баннерных лентах.

Сначала система выбирает драйвер с самой последней версией и наивысшим рангом.

Затем система обрабатывает доступные расширения INF. Два имеют ExtensionId , значение {B} , а один имеет ExtensionId , значение {A} . Из первых двух предположим, что дата водителя такая же. Следующим параметром разрешения конфликтов является версия драйвера, поэтому система выбирает расширение INF с v2.0.

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

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

Создание расширения INF

Вот записи, необходимые для определения INF как расширения INF.

  1. Укажите эти значения для Class и ClassGuid в разделе Version .Дополнительные сведения о классах настройки см. В разделе Классы настройки устройств, определяемые системой, доступные для поставщиков.

      [Версия] ... Класс = Расширение ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}  
  2. Укажите запись ExtensionId в разделе [Версия] . Создайте новый GUID для начальной версии расширения INF или повторно используйте последний GUID для последующих обновлений исходного расширения INF.

      ExtensionId = {zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz}; замените своим собственным GUID  

Обратите внимание, что организация может использовать только принадлежащий ей ExtensionID .Дополнительные сведения о регистрации идентификатора расширения см. В разделе Управление отправкой оборудования на панели инструментов Центра разработки оборудования Windows.

  1. Если вы обновляете расширение INF, сохраните ExtensionId и увеличивайте версию или дату (или обе), указанные в директиве DriverVer . Для данного значения ExtensionId PnP выбирает INF с наибольшим DriverVer .
  1. В разделе INF Models укажите один или несколько аппаратных и совместимых идентификаторов, которые соответствуют идентификаторам целевого устройства.Обратите внимание, что эти аппаратные и совместимые идентификаторы не обязательно должны совпадать с идентификаторами базового INF. Обычно в расширении INF указывается более конкретный идентификатор оборудования, чем в базовом INF, с целью дальнейшей специализации конкретной конфигурации драйвера. Например, базовый INF может использовать идентификатор оборудования PCI, состоящий из двух частей, в то время как расширение INF определяет идентификатор оборудования PCI, состоящий из четырех частей, например:

      [DeviceExtensions.NTamd64] % Device.ExtensionDesc% = DeviceExtension_Install, PCI \ VEN_XXXX & DEV_XXXX & SUBSYS_XXXXXXXX & REV_XXXX  

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

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

    Таргетинг CHID может использоваться, если четырехчастный идентификатор оборудования невозможен или недостаточно ограничивает.

  2. Не определяйте службу с помощью SPSVCINST_ASSOCSERVICE . Однако расширение INF может определять другие службы, например драйвер фильтра для устройства. Дополнительные сведения об указании служб см. В INF AddService Directive .

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

Процесс проверки и отправки драйвера для расширений INF такой же, как и для обычных INF. Дополнительные сведения см. В разделе «Начало работы с Windows HLK».

Удаление драйвера расширения

Чтобы удалить драйвер расширения, используйте команду PnPUtil delete с флагом uninstall .

Чтобы удалить пакет драйверов, используйте pnputil / delete-driver / uninstall oem0.inf . Чтобы принудительно удалить пакет драйверов, используйте pnputil / delete-driver / uninstall oem1.inf / force .

Это позволяет удалить драйвер расширения без удаления базового драйвера.

Пример 1: Использование расширения INF для установки понятного имени устройства

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

  [Версия] Подпись = "$ WINDOWS NT $" Класс = Расширение ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57} Провайдер =% CONTOSO% ExtensionId = {zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz}; замените своим собственным GUID DriverVer = 28.05.2013,1.0.0.0 CatalogFile = delta.cat [Производитель] % CONTOSO% = DeviceExtensions, NTamd64 [DeviceExtensions.NTamd64] % Device.ExtensionDesc% = DeviceExtension_Install, PCI \ VEN_XXXX & DEV_XXXX & SUBSYS_XXXXXXXX & REV_XXXX [DeviceExtension_Install] ; Без изменений [DeviceExtension_Install.HW] AddReg = FriendlyName_AddReg [FriendlyName_AddReg] HKR ,, FriendlyName ,, "Новое понятное имя устройства" [Строки] CONTOSO = "Contoso" Device.ExtensionDesc = "Пример расширения устройства"  

Пример 2: Использование расширения INF для установки дополнительного программного обеспечения

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

Чтобы получить доступ к этому файлу в Интернете, см. osrfx2_DCHU_extension.inx .

 ; / * ++ ; ; Авторское право (c) Microsoft Corporation. Все права защищены. ; ; ДАННЫЙ КОД И ИНФОРМАЦИЯ ПРЕДОСТАВЛЯЮТСЯ «КАК ЕСТЬ» БЕЗ ГАРАНТИЙ ; ВИД, ЯВНО ЯВНО ПОДРАЗУМЕВАЕМЫЙ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧЕННЫЙ ; ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И / ИЛИ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОГО ; ЦЕЛЬ. ; ; Название модуля: ; ; osrfx2_DCHU_extension.INF ; ;Аннотация: ; ; Дополнительная информация для OSR FX2 Learning Kit ; ; - * / [Версия] Подпись = "$ WINDOWS NT $" Класс = Расширение ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57} Provider =% ManufacturerName% ExtensionId = {3846ad8c-dd27-433d-ab89-453654cd542a} CatalogFile = osrfx2_DCHU_extension.cat DriverVer = 16.05.2017,15.14.36.721 [Производитель] % ManufacturerName% = OsrFx2Extension, NT $ ARCH $ [OsrFx2Extension.NT $ ARCH $] % OsrFx2.ExtensionDesc% = OsrFx2Extension_Install, USB \ Vid_045e & Pid_94aa & mi_00 % OsrFx2.ExtensionDesc% = OsrFx2Extension_Install, USB \ Vid_0547 и PID_1002 [OsrFx2Extension_Install.NT] CopyInf = osrfx2_DCHU_usersvc.inf [OsrFx2Extension_Install.NT.HW] AddReg = OsrFx2Extension_AddReg AddReg = OsrFx2Extension_COMAddReg [OsrFx2Extension_AddReg] HKR, OSR, «OperatingParams», «-Extended» HKR, OSR, «OperatingExceptions», «x86» ; Добавьте все ключи реестра, чтобы успешно зарегистрировать ; Внутрипроцессный пример MSFT COM-сервера ATL. [OsrFx2Extension_COMAddReg] HKCR, AppID \ ATLDllCOMServer.DLL, AppID ,, "{9DD18FED-55F6-4741-AF25-798B90C4AED5}" HKCR, AppID \ {9DD18FED-55F6-4741-AF25-798B90C4AED5} ,,, "ATLDllCOMServer" HKCR, ATLDllCOMServer.SimpleObject ,,, "Класс SimpleObject" HKCR, ATLDllCOMServer.SimpleObject \ CLSID ,,, "{92FCF37F-F6C7-4F8A-AA09-1A14BA118084}" HKCR, ATLDllCOMServer.SimpleObject \ CurVer ,,, "ATLDllCOMServer.SimpleObject.1" HKCR, ATLDllCOMServer.SimpleObject.1 ,,, «Класс SimpleObject» HKCR, ATLDllCOMServer.SimpleObject.1 \ CLSID ,,, "{92FCF37F-F6C7-4F8A-AA09-1A14BA118084}" HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} ,,, "Класс SimpleObject" HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} \ InprocServer32 ,,% REG_EXPAND_SZ%, "%% SystemRoot %% \ System32 \ ATLDllCOMServer.dll " HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} \ InprocServer32, ThreadingModel ,, "Квартира" HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} \ ProgID ,,, "ATLDllCOMServer.SimpleObject.1" HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} \ Programmable ,,% FLG_ADDREG_KEYONLY% HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} \ TypeLib ,,, "{9B23EFED-A0C1-46B6-A903-218206447F3E}" HKCR, CLSID \ {92FCF37F-F6C7-4F8A-AA09-1A14BA118084} \ VersionIndependentProgID ,,, "ATLDllCOMServer.SimpleObject" [OsrFx2Extension_Install.NT.Components] AddComponent = osrfx2_DCHU_component ,, OsrFx2Extension_ComponentInstall AddComponent = osrfx2_DCHU_usersvc ,, OsrFx2Extension_ComponentInstall_UserSvc [OsrFx2Extension_ComponentInstall] ComponentIds = VID_045e и PID_94ab [OsrFx2Extension_ComponentInstall_UserSvc] ComponentIds = VID_045e и PID_94ac [Строки] ManufacturerName = "Contoso" OsrFx2.ExtensionDesc = "Расширение устройства OsrFx2 DCHU" REG_EXPAND_SZ = 0x00020000 FLG_ADDREG_KEYONLY = 0x00000010  

Для получения информации о том, как использовать расширение INF для установки драйвера фильтра, см. Заказ драйвера фильтра устройств.

Чтобы улучшить расширяемость, мы рекомендуем, чтобы IHV поместил дополнительные функции в шаблон INF расширения.

Обратная совместимость

Любое изменение базового INF необходимо тщательно протестировать, чтобы убедиться, что оно не нарушает обратную совместимость для существующих расширений INF.

При управлении базовым INF придерживайтесь следующих рекомендаций:

  • Задокументируйте диапазоны значений параметров и ограничения как в комментариях к коду, так и в проектном документе. Будущие изменения должны соответствовать указанным диапазонам.
  • Для поддержки новых диапазонов добавьте необязательный параметр (без значения по умолчанию).

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

  1. IHV предоставляет сопутствующее приложение, которое по умолчанию устанавливает флаг реестра для отключения дополнительных функций.
  2. Базовый драйвер проверяет, включен ли флаг перед использованием дополнительных функций.
  3. Расширение INF, поставляемое изготовителем оборудования, может принять участие, установив флаг включения.

Подача расширенного INF для сертификации

Для получения подробной информации о том, как работать с расширениями INF в Центре разработки оборудования, см. Работа с расширениями INF на панели инструментов Центра разработки оборудования Windows.

.

Использование компонента INF-файла - драйверы Windows

  • 4 минуты на чтение

В этой статье

Если вы хотите включить программное обеспечение пользовательского режима для использования с устройством в Windows 10, у вас есть следующие возможности для создания DCH-совместимого драйвера:

Дополнительное программное обеспечение
Метод Сценарий
Приложения поддержки оборудования (HSA) Дополнительное программное обеспечение для устройства в виде приложения UWP, которое доставляется и обслуживается из Microsoft Store.Рекомендуемый подход.
Программные компоненты Device - это двоичный файл MSI или EXE, служба Win32 или программное обеспечение, установленное с помощью AddReg и CopyFiles. Указанный двоичный файл работает только в настольных версиях (Home, Pro и Enterprise). Указанный двоичный файл не будет работать в Windows 10S.

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

На этой странице представлены инструкции по использованию программных компонентов.

Начало работы

Для создания компонентов файл расширения INF определяет директиву INF AddComponent один или несколько раз в разделе INF DDInstall.Components. Для каждого программного компонента, указанного в файле расширения INF, система создает виртуальное дочернее устройство с программной нумерацией. Более чем один пакет драйверов может ссылаться на один и тот же программный компонент.

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

Вы предоставите файл INF для каждого программного компонента.

Если ваш программный компонент INF определяет директиву AddSoftware , компонент INF:

Директиву AddSoftware можно указать один или несколько раз.

Примечание

При использовании типа 2 директивы AddSoftware не требуется использовать Component INF.Директива может успешно использоваться в любом INF. Однако директива AddSoftware типа 1 должна использоваться из Component INF.

Кроме того, любой INF (компонент или нет) соответствует на устройстве компонента программного обеспечения:

Пример компонента INF можно найти в наборе инструментов установки пакета драйверов для универсальных драйверов.

Примечание : Для того, чтобы компонентное устройство с программной нумерацией функционировало, его родительский элемент должен быть запущен. Если драйвер для родительского устройства недоступен, разработчики драйверов могут создать свой собственный и при необходимости использовать сквозной драйвер umpass.sys ". Этот драйвер включен в Windows и, по сути, не выполняет ничего, кроме запуска устройства. Чтобы использовать umpass.sys, разработчики должны использовать директивы Include / Needs INF в разделе DDInstall для каждого возможного [DDInstall. *] в соответствующие разделы [UmPass. *], как показано ниже, независимо от того, указаны ли в INF какие-либо директивы для этого раздела или нет:

  [DDInstall] Включить = umpass.inf Потребности = UmPass ; также включить любые существующие директивы DDInstall [DDInstall.HW] Включить = umpass.inf Потребности = UmPass.HW ; также включить любые существующие директивы DDInstall.HW [DDInstall.Interfaces] Включить = umpass.inf Потребности = UmPass.Interfaces ; также включить любые существующие директивы DDInstall.Interfaces [DDInstall.Services] Включить = umpass.inf Потребности = UmPass.Services ; также включать любые существующие директивы DDInstall.Services  

Доступ к устройству из программного компонента

Чтобы получить идентификатор экземпляра устройства, связанного с программным компонентом, используйте значение SoftwareArguments в разделе директив INF AddSoftware с переменной контекста времени выполнения <> .

Исполняемый файл затем может получить идентификатор экземпляра устройства программного компонента из своего списка входящих аргументов.

Затем, если программный компонент нацелен на универсальную целевую платформу, используйте следующую процедуру:

  1. Вызов CM_Locate_DevNode с идентификатором экземпляра устройства программного компонента, чтобы получить дескриптор устройства.
  2. Вызовите CM_Get_Parent , чтобы получить дескриптор родительского устройства. Этот родительский элемент является устройством, добавившим программный компонент с помощью директивы INF AddComponent.
  3. Затем, чтобы получить идентификатор экземпляра устройства родительского устройства, вызовите CM_Get_Device_ID на дескрипторе из CM_Get_Parent .

Если программный компонент нацелен только на целевую платформу Desktop, используйте следующую процедуру:

  1. Вызовите SetupDiCreateDeviceInfoList , чтобы создать пустой набор информации об устройстве.
  2. Позвоните по номеру SetupDiOpenDeviceInfo и сообщите идентификатор экземпляра устройства программного компонента.
  3. Вызовите SetupDiGetDeviceProperty с DEVPKEY_Device_Parent , чтобы получить идентификатор экземпляра устройства родительского устройства.

Пример

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

Пакет драйверов INF-файл

  [Версия] Подпись = "$ WINDOWS NT $" Класс = Расширение ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57} ExtensionId = {zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz}; замените своим собственным GUID Провайдер =% CONTOSO% DriverVer = 21.06.2006, 1.0.0.0 CatalogFile = ContosoGrfx.кошка [Производитель] % CONTOSO% = Contoso, NTx86 [Contoso.NTx86] % ContosoGrfx.DeviceDesc% = ContosoGrfx, PCI \ VEN0001 и DEV0001 [ContosoGrfx.NT] ; пустой [ContosoGrfx.NT.Components] AddComponent = ContosoControlPanel ,, Component_Inst [Component_Inst] ComponentIDs = VID0001 & PID0001 & SID0001 [Строки] CONTOSO = "Contoso Inc." ContosoGrfx.DeviceDesc = "Расширение видеокарты Contoso"  

INF-файл программного компонента

  [Версия] Подпись = "$ WINDOWS NT $" Класс = SoftwareComponent ClassGuid = {5c4c3332-344d-483c-8739-259e934c9cc8} Провайдер =% CONTOSO% DriverVer = 21.06.2006,1.0,0.0 CatalogFile = ContosoCtrlPnl.cat [SourceDisksNames] 1 =% Диск% ,,, "" [SourceDisksFiles] ContosoCtrlPnl.exe = 1 [DestinationDirs] DefaultDestDir = 13 [Производитель] % CONTOSO% = Contoso, NTx86 [Contoso.NTx86] % ContosoCtrlPnl.DeviceDesc% = ContosoCtrlPnl, SWC \ VID0001 и PID0001 и SID0001 [ContosoCtrlPnl.NT] CopyFiles = ContosoCtrlPnl.NT.Copy [ContosoCtrlPnl.NT.Copy] ContosoCtrlPnl.exe [ContosoCtrlPNl.NT.Services] AddService =,% SPSVCINST_ASSOCSERVICE% [ContosoCtrlPnl.NT.Software] AddSoftware = ContosoGrfx1CtrlPnl ,, Software_Inst [Software_Inst] SoftwareType = 1 SoftwareBinary =% 13% \ ContosoCtrlPnl.исполняемый SoftwareArguments = <> SoftwareVersion = 1.0.0.0 [Строки] SPSVCINST_ASSOCSERVICE = 0x00000002 CONTOSO = "Contoso" ContosoCtrlPnl.DeviceDesc = "Панель управления Contoso"  

Процесс проверки и отправки драйвера для компонентов INF такой же, как и для обычных INF. Дополнительные сведения см. В разделе «Начало работы с Windows HLK».

Дополнительные сведения о классах настройки см. В разделе Классы настройки устройств, определяемые системой, доступные для поставщиков.

См. Также

Директива INF AddComponent

INF Директива AddSoftware

INF DDInstall.Компоненты Раздел

INF DDInstall.Software Раздел

.

Просмотр файла INF - драйверы Windows

  • 2 минуты на чтение

В этой статье

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

  [Версия] Подпись = "$ Windows NT $" Класс = Мышь ClassGUID = {4D36E96F-E325-11CE-BFC1-08002BE10318} Provider =% Provider%; определено позже в разделе "Строки" DriverVer = 28.09.1999,5.00.2136.1 [DestinationDirs] DefaultDestDir = 12; DIRID_DRIVERS ; ... Раздел [ControlFlags] здесь опущен [Производитель] % StdMfg% = StdMfg; (Стандартные типы) % MSMfg% = MSMfg; Microsoft ; ... записи% otherMfg% здесь опущены [StdMfg]; раздел моделей для производителей ; Стандартная последовательная мышь % * pnp0f0c.DeviceDesc% = Ser_Inst, * PNP0F0C, SERENUM \ PNP0F0C, SERIAL_MOUSE ; Стандартная мышь InPort % * pnp0f0d.DeviceDesc% = Inp_Inst, * PNP0F0D ; ... другие записи StdMfg и последующие ; Разделы моделей MSMfg и xxMfg здесь опущены ; DDInstall для каждой модели (Ser_Inst, Inp_Inst и т. д.) ; разделы также опущены здесь [Строки] ; где токены INF% strkey% определены как видимые для пользователя (и ; возможно как зависящие от локали) строки. Provider = "Microsoft" ; ... StdMfg = "(Стандартные типы мыши)" MSMfg = "Microsoft" ; ... * pnp0f0c.DeviceDesc = "Стандартная последовательная мышь" * pnp0f0d.DeviceDesc = "Мышь адаптера InPort" ; ... HID \ Vid_045E & Pid_0009.DeviceDesc = "Microsoft USB Intellimouse" ; ...  

Некоторым разделам в предыдущем INF-файле присвоены системные имена, например Version , DestinationDirs , Manufacturer и Strings .Некоторые именованные разделы, такие как Version , DestinationDirs и Strings , содержат только простые записи. Другие ссылаются на дополнительные разделы INF-writer, как показано в предыдущем примере раздела Manufacturer .

Обратите внимание на подразумеваемую иерархию связанных разделов для установки драйверов устройств мыши, начиная с раздела Manufacturer в предыдущем примере. На следующем рисунке показана иерархия некоторых разделов файла INF.

Обратите внимание на подразумеваемую иерархию файла INF:

  • Каждая запись % xx Mfg % в разделе Manufacturer ссылается на раздел Models для каждого производителя (StdMfg, MSMfg) в другом месте INF-файла.

    Записи в предыдущем примере используют токены% strkey %.

  • В каждом разделе Models указано некоторое количество записей; в примере это % xxx .DeviceDesc % токенов.

    Каждый такой % xxx .DeviceDesc % токен ссылается на некоторое количество разделов DDInstall для каждой модели (Ser_Inst и Inp_Inst) для линейки продуктов этого производителя, при этом каждая запись идентифицирует отдельное устройство (* PNP0F0C и * PNP0F0D) (отсюда и "DeviceDesc", показанный здесь) или набор совместимых моделей устройства.

  • Каждый такой DDInstall -type Xxx _Inst, в свою очередь, может иметь определенные системные расширения и / или могут содержать директивы, которые ссылаются на дополнительные разделы, определенные средством записи INF.Например, полный INF-файл, который показан в виде фрагментов в предыдущем примере, также имеет раздел Ser_Inst .Services , а его раздел Ser_Inst содержит директиву CopyFiles , которая ссылается на раздел Ser_CopyFiles в другом месте этого INF-файла.

.

Смотрите также