Инфо - Руководство по созданию аддонов (текущая версия)

Ответить
Аватара пользователя
volk1234

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение volk1234 »

В контексте предыдущих постов и давнего желания доработать раздел приложения про ярлыки,



доработана статья:
Инфо - Руководство по созданию аддонов (текущая версия)




Новое: Cоздание и удаление ярлыка на Рабочем Столе, Cоздание и удаление нескольких ярлыков, Флаги ProfileItems (0x00000003), Копирование одного и того же файла в разные папки.



Изменения отдельно от статьи:


читать дальше »




3. Cоздание и удаление ярлыка на Рабочем Столе





Код:

Код: Выделить всё

[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" можно создать при помощи конструкции



Код:

Код: Выделить всё

SubDir = "..\..\ "

Как это работает?

Рабочей директорией для ProfileItems по умолчанию является папка Программы в меню Пуск или другими словами %профиль%\Главное меню\Программы. Конструкцией ..\..\ мы поднимается на два уровня вверх, т.е. в %профиль% и затем указывает путь, например в %профиль%\Рабочий стол или в %профиль%\SendTo. Также можно поднятся еще выше, например,



Код:

Код: Выделить всё

SubDir ="..\..\..\Default User\Рабочий стол"

4. Cоздание и удаление нескольких ярлыков



Это элементарно, но некоторые пользователи все еще путаются.





Код:

Код: Выделить всё

[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 файлам, но по этому списку более понятна логика складывания флагов:



Код:

Код: Выделить всё

 
0x00000001 	Создать пункт меню для текущего пользователя
0x00000002 	Удалить пункт меню
0x00000003 	Удалить пункт меню для текущего пользователя
0x00000004 	Создать пункт меню для профиля All Users в папке Пуск\Все программы
0x00000005 	Создать пункт меню для профиля Current User в папке Пуск\Все программы
0x00000006 	Удалить пункт меню для профиля All Users в папке Пуск\Все программы
0x00000007 	Удалить пункт меню для профиля Current User в папке Пуск\Все программы

7. Копирование одного и того же файла в разные папки.





Код:

Код: Выделить всё

[DestinationDirs]
File.Copy=16422,"Prog"
FileYet.Copy=16422,"Prog\Subdir"
[File.Copy]
filename.dll,,,4 
[FileYet.Copy]
filename.dll,,,4







Предлагаю обсудить всем заинтересованным, до добавления в Руководство.



А и еще JamesZero,

не мог бы ты прокомментировать мое высказвание :


Цитата:



Из выше приведенных примеров видно, что ярлык практически в любой локальной папке пользователя в "Documents and Settings" можно создать при помощи пути SubDir = "..\..\Путь к папке внутри "Documents and Settings".



А то я только по анологии понимаю действие "..\", может ты научными словами обьяснишь.
Аватара пользователя
volk1234

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение volk1234 »

Обновлено
Руководство на сайте
:


Цитата:



лог изменений:

09.07.2008 версия статьи 1.32 - Обновлено определение метода Sysoc: Раздел II. Глава 1. Аддоны, использующие SYSOC и Готовый шаблон от jameszero: Раздел 3. Приложение 2. Подраздел 2. Методы деинсталяции.
Аватара пользователя
volk1234

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение volk1234 »

Black Babay


Цитата Black Babay:



есть ли возможность при установке на "живую" систему добавить ярлык дефолтному пользователю.
Инфо - Руководство по созданию аддонов (текущая версия)




Создать ярлык в профиле текущего пользователя, а затем скопировать его в дефолтный. К примеру, средствами модифицированного sfx модуля 7-zip.




Цитата:



Считается ли ошибкой отсутствие ключа, или правильнее будет так:



Ошибкой не считается. Второй вариант неравнозначен первому, он создаст ярлык в профиле Current User, а первый в All Users.





volk1234

Рабочей директорией для ProfileItems по умолчанию является папка Программы в меню Пуск или другими словами %профиль%\Главное меню\Программы

Конструкцией ..\..\ мы поднимается на два уровня вверх, т.е. в %профиль% и оттуда уже пляшем, хоть в %профиль%\Рабочий стол, хоть в %профиль%\SendTo
Аватара пользователя
Black Babay

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение Black Babay »

volk1234, подскажите пожалуйста как можно создать через inf-файл 2 ярлыка и в Quick Launch и в программах?

Бьюсь весь день. Создает или там или там Изображение
Аватара пользователя
volk1234

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение volk1234 »

Black Babay



Неплохо бы исходник привести. Тогда все могли бы найти ошибки в коде.



Ну давайте поппробуем пока так:





Код:

Код: Выделить всё

[DefaultInstall]
ProfileItems	=PROG.AddShortcut, PROG.AddShortQuick

Допустим вот так, через запятую с двумя разными секциями пробовали?
Аватара пользователя
Black Babay

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение Black Babay »

volk1234, так не пробовал Изображение пытался ввести вторую переменную... Уже ушел пробовать. Спасибо!
Аватара пользователя
Black Babay

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение Black Babay »

Цитата DyadyaGenya:



[PROG.AddShortcut]

Name = "Send_To_Shortcut",0x00000008,9

CmdLine = 11,,prog.exe
Инфо - Руководство по созданию аддонов (текущая версия)




Вы свой код приведите, а не из примера.
Аватара пользователя
Black Babay

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение Black Babay »

Нашел, где собака порылась.

было так:

[PROG.AddShortQuick]

Name =%SRTC_NAME%



а надо так:

[PROG.AddShortQuick]

Name =%SRTC_NAME%,0x00000001





Извените за назойливость, но возник вопрос. А как реализовать этот ярлык для дефолтного юзера?
Аватара пользователя
jameszero

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение jameszero »

volk1234, в том то и дело, что наверно простое копирование примера не подходит, вот я и спрашивал, что за
Цитата DyadyaGenya:



не смог найти информацию про ключи 0x00000008,9 и 0x0000000A,9 если можно подскажите где читать или дайте расшифровку тут
Инфо - Руководство по созданию аддонов (текущая версия)




и ещё, может кому пригодиться или даже получит одобрение и дальнейшее отображение в статье такая идея:

поскольку разным пользователям приходится ставить разные наборы программ, чтоб не собирать множество сборок которые будут отличаться друг от друга всего несколькими програмками, можно использовать свойство sysoc адонов попадать в список компонентов винды, и допустим делать мультизагрузку (как самый простой способ) с использованием разных вариантов winnt.sif где в секции [Components] указать какие интегрированые проги отключить, что то типа того:



[Components]

winamp=off



у меня так получилось, пока на большее не сподобился, хотя думаю можно при наличие времени и умения сделать даже графический интерфейсик, насколько я знаю у Boa Soft имеется подобный опыт (програмулина для выбора устанавливаемых прог)
Аватара пользователя
Black Babay

Re: Инфо - Руководство по созданию аддонов (текущая версия)

Сообщение Black Babay »

Цитата DyadyaGenya:



вот я и спрашивал, что за
Инфо - Руководство по созданию аддонов (текущая версия)




Почему именно так не скажу, пусть Jameszero колется. Впервые упоминается им здесь:
Инфо - Авторам аддонов





Цитата DyadyaGenya:



[Components]

winamp=off
Инфо - Руководство по созданию аддонов (текущая версия)




Как способ автоустановки - неплохой вариант. Я даже както не задумывался об отключении аддонов через winnt.sif.

В любом случае, к написанию аддонов это не имеет отношения, скорее к пользователям UpdatePack.
Ответить

Вернуться в «Наборы обновлений для Windows XP/2003/Windows 7»