3. Cоздание и удаление ярлыка на Рабочем Столе
Код:
![Выделить весь код](images/misc/selectcode.png)
[DefaultInstall]
ProfileItems =PROG.AddDeskShortcut
[Uninstall]
ProfileItems =PROG.AddDeskShortcut
[PROG.AddDeskShortcut]
Name =%SRTC_NAME%,0x00000001
CmdLine =16422,%PROG_DIR%,%PROG_1%
WorkingDir =16422,%PROG_DIR%
SubDir =%PROG_SDIR3%
InfoTip =%PROG_INFO%
[PROG.DelDeskShortcut]
Name =%SRTC_NAME%,0x00000003
SubDir =%PROG_SDIR3%
[Strings]
SRTC_NAME = "Имя ярлыка"
PROG_DIR = "Путь к папке программы в Program Files"
PROG_1 = ИмяФайла.exe
PROG_INFO="Всплывающее сообщение"
PROG_SDIR3 ="..\..\Рабочий стол"
Из выше приведенных примеров видно, что ярлык практически в любой локальной папке пользователя в "Documents and Settings" можно создать при помощи конструкции
Код:
![Выделить весь код](images/misc/selectcode.png)
SubDir = "..\..\ "
Как это работает?
Рабочей директорией для ProfileItems по умолчанию является папка Программы в меню Пуск или другими словами %профиль%\Главное меню\Программы. Конструкцией ..\..\ мы поднимается на два уровня вверх, т.е. в %профиль% и затем указывает путь, например в %профиль%\Рабочий стол или в %профиль%\SendTo. Также можно поднятся еще выше, например,
Код:
![Выделить весь код](images/misc/selectcode.png)
SubDir ="..\..\..\Default User\Рабочий стол"
4. Cоздание и удаление нескольких ярлыков
Это элементарно, но некоторые пользователи все еще путаются.
Код:
![Выделить весь код](images/misc/selectcode.png)
[DefaultInstall]
ProfileItems =PROG.AddShortcut1, PROG.AddShortcut2, PROG.AddShortcut3
[Uninstall]
ProfileItems =PROG.DelShortcut1, PROG.DelShortcut2, PROG.DelShortcut3
[PROG.AddShortcut1]
Name =%SRTC_NAME1%,0x00000001
CmdLine =16422,%PROG_DIR%,%PROG_1%
WorkingDir =16422,%PROG_DIR%
SubDir =%PROG_SDIR1%
InfoTip =%PROG_INFO%
[PROG.AddShortcut2]
аналогично
[PROG.AddShortcut3]
аналогично
[PROG.DelShortcut1]
Name =%SRTC_NAME1%,0x00000003
SubDir =%PROG_SDIR1%
[PROG.DelShortcut2]
аналогично
[PROG.DelShortcut3]
аналогично
Важно: Пока нет профиля реального пользователя (а его нет до первого входа в систему), ярлыки имеющие флаг 0x00000001 будут создаваться в дефолтном профиле. При установке на "живой" системе, ярлык с флагом 0x00000001 будет создан только у текущего пользователя. Соответственно 0x00000003 - Удалить пункт меню (ярлык) для текущего пользователя.
4.Флаги ProfileItems (опять Gosh).
Есть в руководстве по INF файлам, но по этому списку более понятна логика складывания флагов:
Код:
![Выделить весь код](images/misc/selectcode.png)
0x00000001 Создать пункт меню для текущего пользователя
0x00000002 Удалить пункт меню
0x00000003 Удалить пункт меню для текущего пользователя
0x00000004 Создать пункт меню для профиля All Users в папке Пуск\Все программы
0x00000005 Создать пункт меню для профиля Current User в папке Пуск\Все программы
0x00000006 Удалить пункт меню для профиля All Users в папке Пуск\Все программы
0x00000007 Удалить пункт меню для профиля Current User в папке Пуск\Все программы
7. Копирование одного и того же файла в разные папки.
Код:
![Выделить весь код](images/misc/selectcode.png)
[DestinationDirs]
File.Copy=16422,"Prog"
FileYet.Copy=16422,"Prog\Subdir"
[File.Copy]
filename.dll,,,4
[FileYet.Copy]
filename.dll,,,4