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

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

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

Аватара для volk1234

Старовер


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


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

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


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

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

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

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

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

 

Аватара для jameszero

Модератор


Moderator


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

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


DJ Electronic
Если секция установки/деинсталляции вызывается через setupapi, то запуск файлов отрабатывает только через директиву Run.
Если секция установки/деинсталляции вызывается через advpack, то запуск файлов отрабатывает только через директивы RunPreSetupCommands и RunPostSetupCommands.
А так же, через advpack не отрабатывают команды RegisterDlls и UnRegisterDlls

Обычный запуск установки (по правой кнопке на inf-файле - "Установить") вызывает, как раз интерпретатор setupapi (со всеми вытекающими).

Я для тестирования inf-файлов применяю следующий твик:
Код: Выделить весь код
[Version]
Signature=$Windows NT$

[DefaultInstall]
AddReg	= TWEAKS.AddReg
DelReg	= TWEAKS.DelReg

[TWEAKS.AddReg]
HKCR,"inffile\shell\Install1",,0x0,"Install"
HKCR,"inffile\shell\Install1\command",,0x20000,"%%SystemRoot%%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %%1"
HKCR,"inffile\shell\Install2",,0x0,"UnInstall"
HKCR,"inffile\shell\Install2\command",,0x20000,"%%SystemRoot%%\System32\rundll32.exe setupapi,InstallHinfSection UnInstall 132 %%1"
HKCR,"inffile\shell\Install3",,0x0,"AdvInstall"
HKCR,"inffile\shell\Install3\command",,0x20000,"%%SystemRoot%%\System32\rundll32.exe advpack.dll,LaunchINFSection %%1, DefaultInstall,0"""
HKCR,"inffile\shell\Install4",,0x0,"AdvUnInstall"
HKCR,"inffile\shell\Install4\command",,0x20000,"%%SystemRoot%%\System32\rundll32.exe advpack.dll,LaunchINFSection %%1, UnInstall,0"""

[TWEAKS.DelReg]
HKCR,"inffile\shell\Install"
т.е. стандартная команда "Установить" из контекстного меню inf-файлов удаляется, но добавляются четыре новых пункта.
Install
UnInstall
AdvInstall
AdvUnInstall
Первый и второй пункты (значения, надеюсь понятны) отрабатывают через setupapi, третий и четвёртый делают тоже самое через advpack.
Примечание: для деинсталляции из контекстного меню inf-файла, соответствующая секция должна называться [Uninstall] и никак иначе (регистр букв не важен).

В "Руководстве по созданию аддонов" есть такой текст:
Цитата:
Важное замечание по синтаксису INF- скрипта. При вызове интерпретатора из INF-файла имеются различия вызова через setupapi.dll и advpack.dll. Вызов setupapi.dll должен осуществляться через инструкцию Run= , а вызов advpack.dll - только через RunPostSetupCommands=
но он не совсем точен (или я его не так понял). Различия между setupapi.dll и advpack.dll имеются, и о них я написал в начале поста, но ничего не мешает использовать setupapi для вызова секции, отрабатывающей через advpack.
Пример:
Код: Выделить весь код
[Uninstall]
Run=opera.AdvInfCall

[opera.AdvInfCall]
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\Opera.inf"",Opera.Uninstal.DelDirs,4"
TickCount=500

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

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

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

Отправлено: 10:42, 08-08-2008 | #241



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

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


Аватара для volk1234

Старовер


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

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


Хм, заметил у себя ошибку-
в разделе 2
Файл Dosnet.inf используется только при установке Windows с жёсткого диска.
На самом деле, как указанно в приложении про этапы установки Windows XP любой вид установки, кроме установки с CD
установщик воспринимает как установку из сети, даже с жесткого диска. LOL

тот же в раздел 2 в главе про SYSOC выделить жирным в примере строку с Foxitr, и сделать пример более понятным.
в конце статьи про SYSOC сделать ссылку на Приложения 3,4 вместо их упоминания

еще
в разделе 2 про SVCPACK:
SVCPACK обрабатывается за 13 минут до окончания установки Windows (T13), так сказать на "высоком" уровне, что позволяет использовать оригинальный установщик программы.
добавить - и позволяет также использовать возможности реестра и других "высокоуровневых" средств (или как то так)

еще
Важно! В конфигурационном файле Run также возможно указывать ключи запускаемых приложений: setup.exe /s.
слово RUN выделить курсивом
и еще:
Комбинированные аддоны.
Из названия следует, что данный тип использует оба вышеописанных типа: SYSOC и SVCPACK.
Вобщем то , из названия ничего не следует переделать...

-------

Ю-ху!


Последний раз редактировалось volk1234, 19-08-2008 в 22:52.


Отправлено: 22:30, 19-08-2008 | #242


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


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

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


volk1234, пока решаю проблемы с загузкой системы дома (уж очень хочется востановить ссылки) на работе в очередной раз прочитал руководство и появилась мысль, а не добавить ли в разделе деинсталяции замечание или дополнение, что с помощью
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32
можно удалить одновременно несколько папок, допустим, чтоб не оставались следы программы в документ энд сетинг, которые особенно часто встречаются в апликейшин дата? конечно может гуру и используют этот метод, но я например не сразу решил что надо и эти папки подчищать и тем более как это сделать

для удобства пример:
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%
rundll32.exe advpack.dll,DelNodeRunDLL32 %16410%\Gretech
rundll32.exe advpack.dll,DelNodeRunDLL32 %16419%\Gretech

[Strings]
PROG_DIR ="Gretech"

Отправлено: 20:04, 23-08-2008 | #243


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


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

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


Помогите ламеру. Чем как можно изменить файлы в .cab и .exe? 7-Zip только добавляет файлы, а при удалении или замене сушествующих выдает ошибку "Не поддерживается".

Отправлено: 10:37, 24-08-2008 | #244


Ветеран


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

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


Papercut,
Очень хорошая утилита CabTools для перепаковки .cab и почитайте на досуге Сжатые файлы и ModifyPE, а .exe можно попробовать распаковать с помощью унпакера (например Universal Extractor, но не факт, что он всё распакует, т.е. не все .exe может распаковать).

Отправлено: 11:12, 24-08-2008 | #245


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


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

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


Под .exe я имел в виду SFX-архивы.

Отправлено: 11:30, 24-08-2008 | #246


Ветеран


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

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


Papercut,
Цитата gora:
Только полный ответ, возможно, убережет от повторных "занудных" вопросов . »
На форуме в основном используют 7-Zip SFX архивы, которые можно запаковать и распаковать с помощью Кнопки для создания и работы с 7z SFX и почитайте Создание SFX архива.

Отправлено: 12:08, 24-08-2008 | #247


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

Старожил


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


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

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


volk1234, извените, но опять вопрос, который поставил меня в тупик.

Как при помощи INF-файла, создать ярлык в Quick Launch для "Мой компьютер"?

Отправлено: 10:36, 25-08-2008 | #248


Аватара для volk1234

Старовер


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

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


Papercut - вам может помочь Total Commander 7 версии и выше,
понимает множество архивов. Выделяете файл и Ctrl+PgDown - перед вами содержимое архива,
правда именно в каб по стандарту не получится добавить, используйте CabTool, а вот остальные - например Sfx rar -
прямо по команде F5 добавляется в архив.

Кстати делаю вам предупреждение за оффтопик, эта ветка про руководство, для решения проблем архиваторов вам не сюда.

-------

Ю-ху!


Отправлено: 08:19, 26-08-2008 | #249


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


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

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


Stanner, попробовал удалить инф как ты и предлагаешь,
Цитата Stanner:
Я считаю, что после удаления программы ее inf-файл тоже не нужен и предлагаю сделать так: »
но после этого в пункт "Установка компонентов виндоус" не достучаться, пишет мол нет инф файла такой то программы и окошко тухнет. Может я не так делаю? или ты не пробовал после этого заходить в "Установка компонентов виндоус"

Отправлено: 19:27, 30-08-2008 | #250



Компьютерный форум 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




 
Переход