Чтение онлайн

на главную - закладки

Жанры

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

Чеботарев Игорь Григорьевич

Шрифт:

Как известно, для более-менее серьезного программного продукта обычно требуется специальная программа инсталляции, с помощью которой пользователь сможет легко установить и так же легко удалить сам продукт. Существует много инструментальных средств, позволяющих быстро создавать инсталляционные пакеты. Однако, большинство из них добавляют к исходному размеру программы 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:\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, сделайте это так:

[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 может копировать файл непосредственно из строки. Для этого перед именем файла нужно поставить символ @. В следующем примере копируются два текстовых файла:

CopyFiles=@myfile.txt, @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, "SOFTWARE\Microsoft\Windows\CurrentVersion", "RegDone",,"1"

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

Поделиться:
Популярные книги

Студиозус 2

Шмаков Алексей Семенович
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус 2

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Отверженный. Дилогия

Опсокополос Алексис
Отверженный
Фантастика:
фэнтези
7.51
рейтинг книги
Отверженный. Дилогия

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Деспот

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Деспот

Херсон Византийский

Чернобровкин Александр Васильевич
1. Вечный капитан
Приключения:
морские приключения
7.74
рейтинг книги
Херсон Византийский

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Барон играет по своим правилам

Ренгач Евгений
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Барон играет по своим правилам

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Санек

Седой Василий
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Санек

Тринадцатый III

NikL
3. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый III

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Жена на четверых

Кожина Ксения
Любовные романы:
любовно-фантастические романы
эро литература
5.60
рейтинг книги
Жена на четверых