[Version]
Signature=$Chicago$
[DefaultInstall]
UpdateInis=ExampleAddINIfiles
;Указываете папку, где находится файл system.ini — например в папке Example, которая расположена в каталоге C:\Program Files
30,PROGRA~1\Example
[DestinationDirs]
ExampleAddINIfiles=30,PROGRA~1\Example
;Определяете название файла и секции добавляемых, удаляемых или заменяемых строк
[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%\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.
Для удаления ярлыка нужно убрать все записи, указанные после имени ярлыка. В следующем примере удаляется ярлык
[ExampleShortcut]
setup.ini, progman.groups,, "group1=""Windows + +"""
setup.ini, group1,, """Конфигурация IP"""
Если вы удаляете один из ярлыков программной группы, то удаление не затронет другие ярлыки. Для полного удаления программной группы нужно прописать данное действие для каждого ярлыка.
К сожалению, вы не сможете с помощью inf-файла обычным способом скопировать файлы с длинными именами. Поддержка длинных файловых имен в .inf-файлах немного усложнена, но главное, что она существует. Для этого нужно проделать следующее: исходный файл должен быть с коротким именем, после установки его имя нужно сделать подлиннее. Для удаления процесс повторяется в обратном порядке: длинное файловое имя делается коротким и удаляется уже файл с 8.3-именем. Происходит все это с помощью реестра. Для этих действий в реестре предусмотрены специальные ключи: