Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Инфо - Руководство по созданию аддонов (текущая версия)

Ответить
Настройки темы
Инфо - Руководство по созданию аддонов (текущая версия)

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: volk1234
Дата: 24-09-2010
Описание: новая версия на сайте

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

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

Сейчас обсуждается статья: - новое приложение 9.
===============
*Если вы заметили орфографические ошибки, пишите, пожалуйста, в личку

Отправлено: 19:19, 27-02-2008

 

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


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

доработана статья: Приложение 2. Тонкости использования inf- файлов.

Новое: 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, 26-07-2008 в 12:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:23, 23-07-2008 | #201



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Black Babay

Старожил


Автор проектов


Сообщения: 492
Благодарности: 73

Профиль | Отправить PM | Цитировать


Хочу разобраться до конца.
Если приведен такой параметр:
Код: Выделить весь код
[PROG.AddShortcut]
Name		=%SRTC_NAME%
т.е ключ явно не прописан, установка проходит успешно, ярлык создается в All Users.
Считается ли ошибкой отсутствие ключа, или правильнее будет так:
Код: Выделить весь код
[PROG.AddShort]
Name		=%SRTC_NAME%,0x00000001

Отправлено: 12:48, 23-07-2008 | #202


Аватара для jameszero

Модератор


Moderator


Сообщения: 4920
Благодарности: 2580

Профиль | Сайт | Отправить PM | Цитировать


Black Babay
Цитата Black Babay:
есть ли возможность при установке на "живую" систему добавить ярлык дефолтному пользователю. »
Создать ярлык в профиле текущего пользователя, а затем скопировать его в дефолтный. К примеру, средствами модифицированного sfx модуля 7-zip.

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


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

-------
RuntimePack официальный сайт
--
мои аддоны в облаке

Не было печали, апдейтов накачали.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:58, 23-07-2008 | #203


(*.*)


Сообщения: 36556
Благодарности: 6694

Профиль | Сайт | Отправить PM | Цитировать


volk1234, только не забывай вести лог изменений - указывай те (под)разделы, которые подверглись изменениям, чтобы потом я мог перенести в оффлайн версию.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 00:38, 25-07-2008 | #204


Аватара для Stanner

Ветеран


Сообщения: 1395
Благодарности: 690

Профиль | Отправить PM | Цитировать


Black Babay:

Я так создаю ярлыки пользователям по умолчанию:

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

-------
Не используешь DropBox для бекапа и синхронизации данных?
"Data Access Error" уже идет к тебе!

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:44, 25-07-2008 | #205


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


volk1234, доброго времени суток, давно здесь не был, смотрю масса изменений произошла, даже если не считать появление сп3 :-)
вот появилось время и немного решил позаниматься аддоностроительством, три дня мучался как добавить ярлык на рабочий стол, только хотел задать вопрос и сам случайно расколупал способ добавления, просто не заметил как вытер Documents and Settings после слэша, с ним не добавлялся, захотел предложить вам добавить в статью, там то этого нет, и случайно прочитал приложения :-) так что в этом вопрос отпал. Но возник другой, который я как раз собирался колупать следующим. Не все понял как добавить ярлык в контекстное меню, пока ни ваш способ не получился
Код: Выделить весь код
[PROG.AddShortcut]
Name       = "Send_To_Shortcut",0x00000008,9
CmdLine    = 11,,prog.exe

[PROG.DelShortcut]
Name       = "Send_To_Shortcut",0x0000000A,9
ни ..\..\Send To

и в дополнение, не смог найти информацию про ключи 0x00000008,9 и 0x0000000A,9 если можно подскажите где читать или дайте расшифровку тут

и последний вопрос, обратил внимание на то, что путь ..\..\Рабочий стол у меня стоит без кавычек и срабатывает, а в примере с кавычками (я то свои в сердцах что не получается случайно вытер) так как все же правильно? имеет ли это большое значение, и думаю если это принципиально, то можно было бы добавить в статью инфу и про эти кавычки, потому что с татье про инф файл там вроде жестко прописано с кавычками

стал дочитывать изменения в статье и увидел добавку про иконки, там имеется ввиду иконка в компонентах винды? потому что я сразу же решил попробовать и чо то не меняется, и если это значок в компонентах винды, то было бы прикольно прописывать туда свои иконки, но сперва хотел бы разобраться почему стандартные не меняет

Последний раз редактировалось DyadyaGenya, 26-07-2008 в 18:22.


Отправлено: 17:36, 26-07-2008 | #206


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата DyadyaGenya:
[PROG.AddShortcut]
Name = "Send_To_Shortcut",0x00000008,9
CmdLine = 11,,prog.exe »
Вы свой код приведите, а не из примера.

-------

Ю-ху!


Отправлено: 18:22, 26-07-2008 | #207


Аватара для Black Babay

Старожил


Автор проектов


Сообщения: 492
Благодарности: 73

Профиль | Отправить PM | Цитировать


volk1234, наверное вопрос немного глупый, но... Можно ли создать ярлык "Мой Компьютер" в Quick Launch при помощи inf-файла?

Отправлено: 11:14, 27-07-2008 | #208


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


volk1234, в том то и дело, что наверно простое копирование примера не подходит, вот я и спрашивал, что за
Цитата DyadyaGenya:
не смог найти информацию про ключи 0x00000008,9 и 0x0000000A,9 если можно подскажите где читать или дайте расшифровку тут »
и ещё, может кому пригодиться или даже получит одобрение и дальнейшее отображение в статье такая идея:
поскольку разным пользователям приходится ставить разные наборы программ, чтоб не собирать множество сборок которые будут отличаться друг от друга всего несколькими програмками, можно использовать свойство sysoc адонов попадать в список компонентов винды, и допустим делать мультизагрузку (как самый простой способ) с использованием разных вариантов winnt.sif где в секции [Components] указать какие интегрированые проги отключить, что то типа того:

[Components]
winamp=off

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

Отправлено: 12:15, 27-07-2008 | #209


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата DyadyaGenya:
вот я и спрашивал, что за »
Почему именно так не скажу, пусть Jameszero колется. Впервые упоминается им здесь: http://forum.oszone.net/post-661398-216.html

Цитата DyadyaGenya:
[Components]
winamp=off »
Как способ автоустановки - неплохой вариант. Я даже както не задумывался об отключении аддонов через winnt.sif.
В любом случае, к написанию аддонов это не имеет отношения, скорее к пользователям UpdatePack.

-------

Ю-ху!

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:01, 27-07-2008 | #210



Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Инфо - Руководство по созданию аддонов (текущая версия)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как определить какая версия XP Корпоративка или Oem версия? Rock Microsoft Windows 2000/XP 2 10-01-2008 11:18
Текущая настройка безопасности ActiveX Motto Защита компьютерных систем 1 26-12-2004 19:05
Что такое текущая директория? Guest Программирование и базы данных 11 24-07-2004 00:19




 
Переход