УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS


         

Пример 2. учебный аддон Puntoswitcher (от jameszero) - часть 7


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

[punto_sw.DelShortcut]

Name  = "Punto Switcher 2.9",0x00000002

SubDir  = "Punto Switcher"

Далее в «шапке» INF-файла идут уже знакомые директивы AddReg и DelReg, а так же директива RegisterDlls, которая восстановит регистрацию файлов msimtf.dll и Msctf.dll. Секции будут выглядеть так:

[punto_sw.DelReg]

HKCU,"Software\Microsoft\Windows\CurrentVersion\Run","Punto Switcher"

HKCU,"Software\Punto Switcher"

[CTFMON.Restore]

HKCU,"Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE",,"%11%\ctfmon.exe"

HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE",,"%11%\CTFMON.EXE"

[CTF.dll.Restore]

11,,msimtf.dll,1

11,,Msctf.dll,1

Удаление записей реестра, так же как и ярлыков, отличается от добавления в реестр. Необходимо указать только корневой раздел, в данном случае, HKCU,"Software\Punto Switcher", и она будет удалена со всем подразделами. Секцией [CTFMON.Restore] мы восстанавливаем в автозагрузке стандартный переключатель раскладок, а в секции [CTF.dll.Restore] регистрируем связанные с ним библиотеки.

Следущие секции участвуют в деинсталляции аддона.

[punto_sw.AdvInfCall]

Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\punto_sw.inf"",punto_sw.Uninstal.DelDirs,4"

TickCount=500

[punto_sw.Uninstal.DelDirs]

DelDirs=punto_sw.DelDirs

[punto_sw.DelDirs]

"%16422%/Punto Switcher"

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

Аддон готов. Чтобы привести его к привычному виду, нужно удалить файлы PreCompile.exe, PreCompile.lst и папку src. Переименовать файл upd в upd.cmd и запустить.

Общие замечания:

- Я не делал привязку аддона к 3rdParty, чтобы упростить описание.

- При установке/удалении аддона необходима перезагрузка компьютера, но автоматизацию этого процесса я рассматривать не стал. Посмотрите, как это реализовано в аддоне DrWeb (при установке/удалении SpiderGuard из компонентов Windows запрашивается перезагрузка).

- В секции копирования файлов рассмотренного аддона вы встретите такие строчки:

correct.dll,,,4

"ChooseLayouts.exe",ChooseLa.exe,,4 

Первая копирует файл correct.dll в директорию назначения в таком же виде, в каком он находится в CAB-архиве аддона, а вторая читается так: скопировать файл ChooseLa.exe в директорию назначения и переименовать его в ChooseLayouts.exe. Это сделано для соответствия имён файлов в CAB-архиве формату 8.3.

- Если путь к папке или файлу содержит пробелы, не забывайте заключать его в кавычки.

Пример был взят отсюда.

К содержанию




Содержание  Назад  Вперед