После того как определенные в секции [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-файлов можно также создавать/удалять ярлыки в меню
Следующий пример создает группу программ
[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.
Для удаления ярлыка нужно убрать все записи, указанные после имени ярлыка. В следующем примере удаляется ярлык
[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 с установлением ему атрибута «Только для чтения»: