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

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

Ответить
Настройки темы
Инфо - Авторам аддонов


Moderator


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


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

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


Изменения
Автор: Vadikan
Дата: 13-06-2009
Описание: ссылки



Полезные ссылки:

Скрипт для создания секций копирования/удаления файлов на inf
Руководство по работе с INF файлами
Работа с inf-файлами (EN)
Writing a Windows Installation Script (EN)
How to Write an INF (EN)

Rеg2Inf - конвертер от n7Epsilon
Конвертирование reg2inf, распаковка хотфиксов, работа с CAB архивами из контекстного меню
Пакетный файл для перепаковки CAB-архива с целью обновления версий файлов аддона
Компилятор аддонов New!
Цитата Vadikan:
Если ваш аддон представляет собой программу, пожалуйста, обязательно приводите в шапке помимо описания программы, ссылку на официальный сайт (домашнюю страницу) программы. Можно также сделать скриншот и опубликовать его (при большом размере файла это можно сделать в виде эскиза или ссылки).

Отправлено: 09:12, 05-02-2006

 

Аватара для jameszero

Модератор


Moderator


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

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


gora
Нужно так
Код: Выделить весь код
[IE7Pr_.Register]
16422,"IE7Pro",IE7Pro.dll,1
Using Dirids
11 - System32
16422 - Program Files

-------
RuntimePack официальный сайт
Политика ограниченного использования программ для всех редакций Windows
--
мои аддоны в облаке

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

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

Отправлено: 09:47, 17-08-2007 | #181



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

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


Аватара для jameszero

Модератор


Moderator


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

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


Как и обещал, написал небольшой мануал, для тех, кто желает разобраться в структуре аддонов sysoc типа.
Материал представляет собой пример изготовления конкретного аддона - Punto Switcher и основывается на использовании скрипта для создания секций копирования/удаления файлов от XXXler
Рассмотрены:
секции копирования/удаления файлов
секции добавления/удаления записей в реестр
секции добавления/удаления ярлыков
секции регистрации/дерегистрации библиотек

Кто захочет повторить все шаги описанные в инструкции, архив с исходной папкой программы и тем что должно получиться, выложил здесь (в inf файл добавлены необходимые комментарии)
Саму инструкцию можно скачать здесь (формат - Word, объём - 6 листов)

Предложенный мануал рекомендуется к прочтению совместно с материалами по ссылкам в шапке данной темы
--
Инструкцию выложил "как есть", если будут замечены опечатки, неточности или просто возникнет желание, что то дополнить - моё PM открыто для любых конструктивных замечаний.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:56, 20-08-2007 | #182


Аватара для gora

Ушёл из жизни


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

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


jameszero, скачал (только сегодня, видимо подписка слетела) и внимательно прочитал. Замечания есть, но наверное когда соберусь напишу в ПМ.

Начну свой FAQ.
1 Параметр SizeApproximation=502755. Каково его назначение и насколько критично несоответствие истинного размера файлов, тому, которое указано в этом параметре? (Актуально при обновлении аддона, когда просто перезаписываются файлы в cab архиве).
2 Написание файлов в секции [SourceDisksFiles]. ps.dat=1, что означает эта единица?
3 Написание файлов в секции [punto_sw.Copy]. ps.dat,,,4, что означают запятые и их количество, а так же цифра 4 в конце? "ChooseLayouts.exe",ChooseLa.exe,,4, почему первый параметр в кавычках, а второй нет?
4 Написание файлов в секции [punto_sw.Del]. "ps.dat", почему здесь кавычки и всегда ли они нужны?
5 Как из cab архива несколько файлов скопировать в директорию, отличную от основной директории распаковки программы (например, ini файлы в в папку расположенную профиле пользователя)? Как создать эту папку?
6 Как запустить cmd или bat файл после распаковки всех файлов программы в нужную папку, для возможности проведения каких то операций (копирование, удаление файлов и т.д.)?
7 Где должен располагаться этот cmd или bat файл в аддоне (в cab архиве или рядом с ним)?
8 Параметр TickCount=500. Что это такое?

Пока остановлюсь, а то еще выгонят со всеми моими "почему"

Отправлено: 11:21, 05-09-2007 | #183


Аватара для jameszero

Модератор


Moderator


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

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


gora,

1. SizeApproximation не критичный и не обязательный параметр. Он отображает размер программы в "Установке компонентов Windows", а равен он значению в байтах (если открыть "Свойства" папки с программой, там увидите размер в килобайтах и байтах, вот последний и нужен)

2. Единица в секции [SourceDisksFiles] соответствует следующей секции [SourceDisksNames]
Код: Выделить весь код
[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Punto Switcher",punto_sw.cab,,"I386"
Можно включить в аддон несколько cab файлов, тогда будет так
Код: Выделить весь код
[SourceDisksNames]
1="Описание первого каба",ехаmрle1.саb„"I386"
2="Описание второго каба",example2.cab„"I386"
и если, например, файл file1.exe находится в первом кабе, а file2.exe во втором, то секция [SourceDisksFiles] будет такая
Код: Выделить весь код
[SourceDisksFiles]
file1.exe=1
file2.exe=2
3. Значения запятых и флагов посмотрите здесь
Вкратце, между запятыми проставляются имена файла, в том случае, если имя конечного файла отличается от того, что в cab, т.е. в архиве файл example3.exe (формат 8.3) а в систему он должен скопироваться под именем example 333.exe. В таком случае будет так:
Код: Выделить весь код
"example 333.exe",example3.exe,,4
перед последней запятой ставится имя временного файла, на случай если файл уже существует и занят системой (т.е. будет заменён после перезагрузки), но это актуально только для win9x, NT системы сами генерируют имя временного файла

4. По поводу кавычек - они обязательны, если в имени файла или папки есть пробел или символы не английского алфавита, в остальных случаях они желательны, но не обязательны. В примере аддона я оставил кавычки там, где их проставил Скрипт для создания секций копирования/удаления файлов

5. Папки назначения для файлов задаются в секции [DestinationDirs]. К примеру, так можно скопировать file1.exe в Program Files\Folder, а file2.exe в System32
Код: Выделить весь код
[Install Section]
OptionDesc="Название программы"
Tip="Описание программы"
CopyFiles=file1.exe.Copy,file2.exe.Copy

[DestinationDirs]
file1.exe.Copy=16422,"Folder"
file2.exe.Copy=11

[SourceDisksNames]
1="Произвольное описание архива с файлами file1.exe и file2.exe",cab_name.cab,,"I386"

[SourceDisksFiles]
file1.exe=1
file2.exe=1

[file1.exe.Copy]
file1.exe,,,4

[file2.exe.Copy]
file2.exe,,,4
Если папка назначения не существует, она будет создана.

6. Запуск файла из inf можно осуществить так (на примере аддона DrWeb)

Код: Выделить весь код
[SpiderNT]
OptionDesc="DrWeb Spider Guard"
<skip>
Run=Spider.Run
<skip>

[Spider.Run]
Commandline="%16422%\DrWeb\spidernt.exe /install:auto /quiet"
TickCount=500
файл может быть любым исполняемым - exe, cmd..., так же можно запустить и функцию из dll-ки или секцию из inf-а (с помощью rundll32.exe)
Код: Выделить весь код
[Spider.Init]
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\DrWeb.inf"",Spider.Reboot,4"
TickCount=500
7. Файл запускается из той директории, куда он скопирован директивой CopyFiles из cab-а аддона.

8. TickCount - затрудняюсь ответить.

Выберу свободное время - добавлю небольшой FAQ в мануал
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:17, 05-09-2007 | #184


Аватара для gora

Ушёл из жизни


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

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


Цитата jameszero:
Запуск файла из inf можно осуществить так »
Имелась ввиду возможность запуска временного bat файла (т.е. его не желательно куда либо копировать или потом нужно удалять) через файл Run в корне аддона как это делалось в IE7Pro версии 0.9.20.

Отправлено: 16:26, 05-09-2007 | #185


Аватара для jameszero

Модератор


Moderator


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

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


gora, аддоны, которые содержат файл run относятся к так называемому SVCPACK типу, а я расписал, как запусить файл из аддона SYSOC типа.
В принципе, аддоны SVCPACK на несколько порядков проще, они обычно содержат тихий инсталлятор какой либо программы, но можно использовать и bat/cmd файлы. Исполняемый файл помещается в папку Files\ForceCopy\SVCPACK аддона, а в файл run пишется его имя (можно запустить несколько файлов из одного run - каждый файл пишется с новой строчки, но run обязательно должен заканчиваться пустой строкой)

Аддоны могут быть комбинированные, как тот же DrWebSP (с автоустановкой Spider Guard) - установка проходит из SYSOC, а затем из SVCPACK срабатывает тихий архив, который подменяет inf аддона в системе. Подмену можно было сделать и из inf-а, через HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager","PendingFileRenameOperations", как в аддоне IE7_Reload, но я об этом способе узнал, после того, как сделал DrWeb Или аддон AVZ - из SYSOC устанавливается ядро программы, а из SVCPACK в папку с программой копируются антивирусные базы. Поковыряете аддоны DrWebSP и AVZ и поймёте, что к чему.

-------
RuntimePack официальный сайт
Политика ограниченного использования программ для всех редакций Windows
--
мои аддоны в облаке

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


Последний раз редактировалось jameszero, 06-09-2007 в 08:40.

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

Отправлено: 19:53, 05-09-2007 | #186


Аватара для gora

Ушёл из жизни


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

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


jameszero, я продолжу с вашего позволения.

9 Какие типы аддонов существуют? Их принципиальное отличие и плюсы/минусы каждого типа.
10 Какова структура аддонов? Название папок и их назначение (назначение файлов в корне аддона я нашел) ?
11 Файл i386.lst, как я понял, содержит список имен файлов недопустимых для использования в аддонах во избежании коллизии. Он должен обновляться/пополняться в связи с выходом новых паков? А кто следит, чтобы не было коллизии между именами файлов из разных аддонах или ее там быть не может?
12 Синтаксис строк и чем определяется их количество в файлах txtsetup, sysoc, dosnet?
13
Цитата:
Файлы Sysoc и Run должны заканчиваться пустой строкой.
, а разве к addon.nfo это не относиться? Так отсутствие ее в аддоне WinRar 3.70 "моршит" текст в файле Addons.txt.
14 Параметр Modes=0,1,2,3. Что это такое?
15 Как прописать путь для копирования файлов, если его нет в dirids, например, %USERPROFILE%\Application Data\my_folder и будет ли создана такая папка, если ее нет? Можно ли использовать абсолютный или относительный путь и переменные среды в нем?

Последний раз редактировалось gora, 06-09-2007 в 09:58.


Отправлено: 08:53, 06-09-2007 | #187


Аватара для jameszero

Модератор


Moderator


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

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


gora,

9. Скриптом Update Pack предусмотрены два типа аддонов для интеграции программ в WINDOWS - аддоны SYSOC и SVCPACK типов.
SYSOC аддоны при интеграции используют файлы txtsetup, sysoc, dosnet и состоят из cab архива с файлами программы, и установочного inf файла. SVCPACK аддоны содержат тихий инсталлятор и файл run (могут содержать обычный инсталлятор, в таком случае, в файл run пишется имя инсталлятора с параметрами тихого запуска)
SYSOC аддоны, являются более сложными, в изготовлении и тестировании, и требуют более профессионального подхода. Если в inf файле SYSOC аддона будет ошибка, то дальнейшая установка всей системы пойдёт с ошибками.
SVCPACK самый простой способ внедрить программу (аддон эконом класса )
Плюсы/минусы я затрагивать не буду - сколько людей столько мнений, если всё сделано грамотно и без ошибок, то разницы в аддонах нет, однако аддон SYSOC типа, может косвенно показать хороший уровень подготовки автора.

10. В папку Files помещаются файлы в не сжатом виде, которые уже есть в дистибутиве WINDOWS. Скрипт Update Pack сжимает их, помещает в папку Compressed, а затем перезаписывает в дистрибутиве. В папку ForceCopy помешаются файлы, которые должны быть добавлены в дистрибутив в чистом виде, без дополнительной обработки (сжатия). Все файлы из ForceCopy необходимо прописать в txtsetup и dosnet аддона, эти записи добавляются в txtsetup.sif и dosnet.inf дистрибутива во время интеграции. Папка SVCPACK аддона копируется в I386 в чистом виде

11. Это вопрос к XXXler - автору Скрипта для создания секций копирования/удаления файлов В принципе, можно самостоятельно обновлять файл i386.lst

12. Частично ответил в п.10. За описание синтаксиса не берусь, это материал на отдельную статью, посмотрите здесь

13. Файл addon.nfo опционален и каждый автор пишет его по своему, я в своих всегда пробиваю три пустых строчки, что бы было визуальное разделение аддонов.

14. Параметр Modes в аддонах можно использовать в двух вариантах
Код: Выделить весь код
Modes=0,1,2,3     ;аддон будет установлен по умолчанию
;Modes=0,1,2,3    ;аддон не будет установлен по умолчанию, его доустановка возможна из "Установки компонентов Windows"
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:03, 06-09-2007 | #188


Аватара для gora

Ушёл из жизни


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

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


jameszero, 11.1
Цитата gora:
А кто следит, чтобы не было коллизии между именами файлов из разных аддонах или ее там быть не может? »
Цитата gora:
15 Как прописать путь для копирования файлов, если его нет в dirids, например, %USERPROFILE%\Application Data\my_folder и будет ли создана такая папка, если ее нет? Можно ли использовать абсолютный или относительный путь и переменные среды в нем? »

Отправлено: 13:28, 06-09-2007 | #189


Аватара для jameszero

Модератор


Moderator


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

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


gora, файлы аддона обрабатываются в рамках одного inf-а и соответствующего ему cab-а, в разных cab-ах могут быть одинаковые файлы. Если не ставить несколько аддонов в одну и ту же папку, то проблем с совпадением имён не будет. Впрочем, за этим никто не следит)) пока нестыковок не было.

%USERPROFILE% ещё не существует во время установки аддонов, можно сделать через All Users
Код: Выделить весь код
[DestinationDirs]
file1.exe.Copy=16419,"my_folder"

или даже так

[DestinationDirs]
file1.exe.Copy=24,"Documents and Settings\All Users\Application Data\my_folder"
Папка my_folder будет создана если её нет.
В inf-ах путь должен быть в транскрипции dirids, переменные среды не используются.

Последний раз редактировалось jameszero, 06-09-2007 в 22:30.


Отправлено: 19:08, 06-09-2007 | #190



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Инфо - Авторам аддонов BootScreen prokazzza Оформление Windows XP 3 14-07-2009 14:58
Разное - переделка аддонов DREDivan Наборы обновлений для Windows XP/2003/Windows 7 7 08-01-2008 20:04
Разное - Скелеты аддонов Positiv Наборы обновлений для Windows XP/2003/Windows 7 5 12-10-2006 16:53
Инфо - Не сколько вопросов к авторам апдей пака и аддонов Sistemnik84 Наборы обновлений для Windows XP/2003/Windows 7 10 09-08-2006 12:01




 
Переход