Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Наборы обновлений для Windows XP/2003/Windows 7 (http://forum.oszone.net/forumdisplay.php?f=62)
-   -   Авторам аддонов (http://forum.oszone.net/showthread.php?t=60631)

Petya V4sechkin 05-02-2006 09:12 403370

Авторам аддонов
 



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

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

Rеg2Inf - конвертер от n7Epsilon
Конвертирование reg2inf, распаковка хотфиксов, работа с CAB архивами из контекстного меню
Пакетный файл для перепаковки CAB-архива с целью обновления версий файлов аддона
Компилятор аддонов New!
Цитата:

Цитата Vadikan
Если ваш аддон представляет собой программу, пожалуйста, обязательно приводите в шапке помимо описания программы, ссылку на официальный сайт (домашнюю страницу) программы. Можно также сделать скриншот и опубликовать его (при большом размере файла это можно сделать в виде эскиза или ссылки).


Boa Soft 05-02-2006 12:48 403418

От себя добавлю следующее.
Первое сообщение темы дожно содержать описание аддона, его назначение и ссылку на файл. Если использование аддона требует каких либо условий (например наличие WMP), то это надо указывать обязательно!
Давайте для нашего же удобства при обновлении аддонов не будем плодить новые ссылки в теле темы, а будем исправлять или дополнять ссылки в шапке (первом сообщении). Во первых, так будет легче новичкам - наткнувшись на старую а то и неработабющую ссылку в шапке он может испугатся и не понять, откуда скачать свежий аддон. Во вторых, автору темы будет легче обновлять ссылки. Обновил ссылку, а в новом сообщении описал все изменения и просто добавил, "ссылка в шапке".

Boa Soft 06-02-2006 16:10 403778

Большая просьба ко всем набратся терпения и не обижатся.

При переносе форума возникают проблемы с потеренными топиками и ссылками. Если Вы обнаружили неправильную ссылку, или ошибку в перенесенном топике, пожалуйста напишите об этом в теме или сообщите нам в пм.

Пройдет немного времени и все утресется.

Boa Soft 16-02-2006 20:31 407353

Посмотрите новвовведения в новой версии пакета.

Теперь появилась возможность для специфических аддонов вынести измененные файла из списка защиты WPF.

Посмотрите описание новой версии пакета!

BeLyI 18-02-2006 02:02 407876

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

FUH 19-02-2006 04:50 408231

Может немного систематизируем Uninstall и ярлыки?

А то с увеличением количества плагинов там начнется твориться полная каша.
Например - для MediaPlayer'ных аддонов, создать определенную группу.
Так же наерное пора выделить группу под программы сторонних разработчиков.
И, так, как мы юзаем русский Windows, то ярлыки, наверное, тоже должны быть русскими и записи в Uninstall тоже.

Boa Soft 20-02-2006 19:58 408774

Цитата:

И, так, как мы юзаем русский Windows, то ярлыки, наверное, тоже должны быть русскими и записи в Uninstall тоже.
Тут, к сожалению сдложнее. Некотрые программы, на основе которых созданны аддоны, не имеют руского перевода.
И, поэтому, лучше оригинальное английское название, чем криворусский перевод. :aggressiv

Boa Soft 01-03-2006 00:27 412170

В связи с тем, что разработка аддонов набирает обороты хочу напомнить, что данный форум резко отрицательно относится к WAREZ во всех проявлениях.

Поэтому, давайте не будем делать аддоны, содержащие коммерческие программы, распрастранение которых приравнивается к распрастранению warez.

Если уж очень хочется, то будем делать, как принято на CD forum относительно плагинов к Bart Pe Builder.

- аддон не должен содержать фалов коммерческой программы.
- аддон не должен содержать регистрационной информации (ключевых файлов, серийников, активаций итд)
- аддон не должен сождержать ссылки на средства обхода лицензионной защиты (т.н. "креки" или "лекарства").

Место этого помещаем ссылку на сайт программы, где ее можно скачать (приобрести) и инструкцию по добавлению ее файлов в аддон.
Так же, указать как внести рег данные при установке.

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

Давайте жить дружно (С) Леопольд.

Petya V4sechkin 01-03-2006 11:46 412326

Boa Soft
Все это очень печально :) такое противоречие между желаниями и возможностями..
Кстати, почитал http://www.ryanvm.net/forum/viewtopic.php?t=1552
Типа, утилиты SysInternals тоже нельзя (лицензия не позволяет) делать в виде аддонов, хоть они и бесплатные.

А может, и мой UpdatePack тоже нарушает какую-то M$-лицензию.. Я не знаю, никогда никаких лицензий не читал..
А перепакованно-урезанный Adobe Reader уж сто пудов че-то нарушает (наверное, нельзя вот так перепаковывать и урезать).. Может, нам вообще лавочку прикрыть? :)

YuriPet 01-03-2006 17:26 412470

2All
Вопрос поднят интересный и очень важный.

Действительно, нужно провести грань, за которой наступает "беспредел". Совершенно согласен с тем, что нельзя допускать распространения регистрационной информации (ключевых файлов, серийников, активаций и т.д.) и средств обхода лицензионной защиты (т.н. "креков" или "лекарств"). Но вот насчет некоторых положений отдельных лицензий (нельзя перепаковывать, урезать, добавлять и т.п.) - на МОЙ взгляд это уже "беспредел" со стороны самих разработчиков (или распространителей).

Кто примет решение?

vampik 03-03-2006 06:15 413155

Насчёт открытого распространения регистрационной информации и "патчей" я согласен - для этого существуют специализированные сайты и личные сообщения. Модификация (в т.ч. перепаковка и/или урезание) дистрибутивов и распространение файлов из них не разрешено почти во всех не-opensource программных продуктах. Почитайте лицензии, они все похожи:). Типичная цитата:
Код:

you may distribute this SOFTWARE on on-line services, bulletin boards, or other electronic media provided that it is not modified and the original archive remains intact with all accompanying files
Однако даже в случае с опенсорс-продуктами всё равно есть определенные условия - к продукту должна прилагаться соответствующая лицензия, например, GPL. Если подумать, убытка производителю от этого нет - продукт всё равно надо регистрировать, а популярность может только возрасти. Тот же мой перепакованный Nero без серийников скачало уже около 8 тысяч человек, хотя я его особо не афишировал. По поводу самого апдейт пака не знаю, лицензию M$ читать лень, но патченные tcpip.sys и uxtheme.dll тоже вряд ли поощряются. С точки зрения Microsoft изменение вышеперечисленных файлов нарушает лицензию не меньше, чем изменение winlogon.exe ;), legitcontrolcheck.dll или любого другого. Про нелегальность программ типа nLite и популярных кодек-паков я вообще молчу.
P.S. Какое счастье, что я родился не в Америке

Boa Soft 04-03-2006 10:38 413653

Цитата:

лицензию M$ читать лень, но патченные tcpip.sys и uxtheme.dll тоже вряд ли поощряются. С точки зрения Microsoft изменение вышеперечисленных файлов нарушает лицензию не меньше, чем изменение winlogon.exe , legitcontrolcheck.dll или любого другого. Про нелегальность программ типа nLite и популярных кодек-паков я вообще молчу.
P.S. Какое счастье, что я родился не в Америке
Давайте весь флейм продолжим в соответствующей теме - Общие вопросы по пакетам обновлений.

А то уже пошло не по теме. Или придеися посты удалять, или тему закрытой сделать.


PS
Цитата:

P.S. Какое счастье, что я родился не в Америке
Раеновский пак то живет. И аддоны тоже. Главное, не переходить рамки приличия. Лицензии вещи тонкая и часто противоречивая с собой и здравым смыслом.

Ridell 06-03-2006 22:33 414625

у меня просьба к аддоноделателям (нехотел создавать новую тему), сделайте аддон на dotnetfx2

Boa Soft 07-03-2006 01:55 414695

Цитата:

dotnetfx2
Пока не нашли способа его ставить до первой перезагрузки. Если только в тем скопировать и потом через RunOnceEx при первом логоне запустиь. Но, это "не совсем аддон" получится.

Boa Soft 19-03-2006 12:08 419414

В связи с глобальными изменениями в скрипте пакета предлагаю всем авторам аддонов ознакомится с дополнительными возможностями пакета здесь http://forum.oszone.net/showthread.php?t=62520 и при обновление по возможности добавить информационный файл Addon.nfo и при необходимости Required\Conflict.

Так же, если аддон использует новые возможности пакета (DelDrv.lst, DelOC.lst) обозначьте это в первом посте темы об аддоне. Чтобы небыло воиросов, почему не работает.

Ridell 22-03-2006 08:11 420378

Как то недавно скачал аддон IE7rus, так вот немогу теперь найти где эта ветка, и еще кто делал этот аддон, уже есть бетта 2, нельзя ли обновить аддон?

Zloi_Lion 22-03-2006 08:34 420380

Ridell
Цитата:

Как то недавно скачал аддон IE7rus, так вот немогу теперь найти где эта ветка, и еще кто делал этот аддон, уже есть бетта 2, нельзя ли обновить аддон?
Поддерживаю!

dimadr 22-03-2006 09:14 420390

Ridell,Zloi_Lion
я, как автор аддона IE7, сообщаю вам, что тема была удалена мной по причине недостатка времени отладить его работу при инсталляции с жёсткого диска. :beta:

Zloi_Lion 22-03-2006 09:50 420403

dimadr
Жал :(

Ridell 22-03-2006 10:23 420415

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

dimadr 22-03-2006 10:42 420420

Ridell

Может быть возобновлю (время, то чего просто нет), тогда вы об этом узнате.

petrenko 06-04-2006 13:51 425509

В первую очередь хочу сказать СПАСИБО за UpdatePack и аддоны. Очень полезные вещи делаете!

У меня есть проблема:
Сделал свой аддон. При создании подглядывал в INF файлы Ваших аддонов. Все работает нормально. Куда надо копируется, что надо в реестр прописывается. При удалении файлы удаляются и из реестра тоже все удаляется. Только остается одна пустая папка. Можно ли в inf'е прописать удаление папки? Где-то видел такой параметр DelDirs, но как его применить так и не понял.

XXXler 06-04-2006 14:51 425534

petrenko,
http://www.winpack.org/petr/INF_web/deldirs.htm

неплохие описания на англицком:

http://www.leeos.com/infdoc.html
http://www.winpack.org/petr/INF_web/

petrenko 17-04-2006 15:10 428679

XXXler
Спасибо.

Vadikan 19-04-2006 00:59 429271

У меня есть большая и подробная статья на русском языке по работе с INF файлами - ссылка пробегала тут, но к сожалению умерла. Я связался с автором, и он разрешил ее опубликовать у нас. Но ее надо привести в порядок в плане допустимых тегов сайта OSzone.net и только после этого вывесить нормально. Если есть желающие повозиться немного с "search and replace" - пишите в PM - я опишу теги.

DrAlex 19-04-2006 12:26 429491

Народ помогите сделать

[addon]Total Commanrer 6.54
и
[addon]NOD32

немогу додуматься как делать .inf

simplix 19-04-2006 12:39 429496

DrAlex
Total Commanrer 6.54 давно сделал, но только beta - ещё мало тестировал (изменил структуру папок для более лёгкой установки, а он стал не совсем корректно работать). Как только так и сразу. Вторая проблема - здесь запрещён варез, а делать так как здесь выложен WinRAR - это через ж*, я его потом переделывал.. Что касается НОДа, это будет не просто и не совсем оправданно. Не просто, потому что он инсталлит свои драйвера для более надёжной резидентной защиты (как ставить драйвера *.sys, а конкретно из секции "non plug-n-play" через inf нигде найти не могу (и не через inf тоже, где знает - help)), а не совсем оправдано, потому что всё равно нужно будет качать обновления баз, т. е. эта программа не из ряда "установил и забыл".

DrAlex 19-04-2006 13:25 429515

2 simplix
я просто хочу сам для себя собрать свой [addon]Total Commanrer 6.54
у меня он весит ~50 мегов
мне бы кто написал inf для установки

simplix 19-04-2006 14:33 429552

DrAlex
Скачай несколько разных аддонов и посмотри как они работают. Например у этого ты увидишь как организовано копирование из одного cab в разные папки, у себя сделай по аналогии.

XXXler 03-05-2006 19:44 434018

Mелкий скрипт для создания секций копирования\удаления файлов на inf, + создает необходимые файлы аддона. Исходник на AutoIt прикреплен.

Текущая версия 1.03.?

Скачать:
Ifolder.RU
RapidShare.Com

Использование:
1. Запустить
2. Выбрать папку с файлами, для которой надо создать аддон.
3. Заполнить необходимые поля:

Корневая папка - путь назначения копирования файлов, переменная inf
Подкаталог - имя подкаталога внутри корневой папки, без бэкслэша вначале.
Название - параметр OptionDesc
Подсказка - параметр Tip
Иконка - параметр IconIndex
Имя секции - имя установочной секции компонента inf, название inf, cab, составляющая названия секций копирования\удаления файлов и папок.
Устанавливать по-умолчанию - параметр Modes
Привязывать к 3rd-Party - параметр Parent=NonMS, файл required
Создавать файлы аддона - создает файлы txtsetup, dosnet,sysoc,upd для интеграции аддона.
Создавать деинсталяцию - создает секции удаления файлов и папок.

4. Нажать Cоздать, выбрать папку для сохранения (проверки на существование файлов аддона и inf нет, если в папке совпадающие файлы имеются, они будут дописаны, копируемые файлы не затираются) и ждать.........
5. В конце для дальнейшего редактирования откроется созданный инф, все необходимые для функционирования файлы будут в папке выбранной на этапе 4.

Замечания:

- в командной строке через пробел можно указывать имена файлов\папок для обработки (например можно поместить ярлык для скрипта в %USERPROFILE%\SendTo

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

- если в именах файлов\папок или в длинных значениях Подкаталог, Название, Подсказка присуствует символ точка_с_запятой, то возможен некорректный перенос длинной строки (следующая строка окажется закомментированной)

Изменения и дополнения:

- имена файлов в кабе теперь "оригальные", они содержат символы A-Z и 0-9, урезаются до 8.3 и проверяются на совпадающие в дистрибутиве XP (правда не очень красиво, простое сравнение с содержимым папки Distr, т.к. сравнение со списком в 5000 значений сильно тормозило работу скрипта) и в кабе, при наличии совпадающих к имени добаляется префикс _{счетчик}

- учтено ограничение длины строки инфа в 255 символов и использования двойных кавычек в параметрах OptionDesc и Tip

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

03.06.2006
-исправлено: дублирование символа при переносе последней строки параметра

05.06.2006
-исправлено: формирование секции DelDirs
-исправлено: формирование первых значений секции DestinationDirs
-добавлено: при совпадении имен исходного и конечного файла, в строку копирования вносится только имя конечного

05.10.2006
-исправлено: возможно копирование файлов из корня i386 вместо файлов из каба в случае совпадении имен файлов дистрибутива\каба\inf'а с разницей в последнюю букву расширения файла (с урезанием расширения в 3 символа)
-исправлено: несколько мелких глюков\недочетов с скрипте

jameszero 03-05-2006 20:40 434027

XXXler
Цитата:

Mелкий скрипт для создания секций копирования\удаления файлов на inf, + создает необходимые файлы аддона
Супер!!!
Начинаю тестировать))

dimadr 08-05-2006 14:08 435682

При создании аддонов с пропатченными файлами (или просто файлами из дистрибутива XP) следует учитывать версии файлов в других аддонах. Так как адоны обрабатываются по алфавиту, то, например, аддон "ExtremePack" скрипт обрабатывает после аддона "BSRoyale - Boot Screen", значит никакого эффекта от аддона "BSRoyale - Boot Screen" просто не будет.

XXXler 08-05-2006 14:34 435694

Еще пожелание:
при создании и поддержке аддона не изменять имя его папки, т.к. в случае с зависимостями аддонов каждый раз прийдется менять списки Required и Conflict других аддонов.
Кроме того в этом случае по невнимательности пользователя возможна интеграция разных версий аддона одновременно.

Yuki 10-05-2006 11:28 436203

Сделал свой первый аддон, а он не работает, не интегрируется. Делал на основе аналогичного аддона для RyanVM pack'a. Может кто глянет - укажет на ошибки? _http://up.spbland.ru/files/06051066/

vek 10-05-2006 12:45 436237

а чем интегрируешь?

XXXler 10-05-2006 13:14 436250

Ну, вообщето это не аддон :) , а просто программа без инсталлятора

Млин всетаки надо какой-нить мануал по созданию аддонов по типу HOWTO

Yuki 10-05-2006 14:55 436308

XXXler
и? например, WmConnect.7z тоже программа без инсталлятора... вобщем не понял :(

XXXler 10-05-2006 15:33 436335

Yuki, не совсем - wmconnect содержит в себе инсталлятор на основе INF
посмотрите повнимательней как он устроен - и все поймете

часть методики создания аддона можно найти по ссылкам:
_http://forum.oszone.net/showthread.php?p=401229#post401229
_http://forum.oszone.net/showthread.php?p=401056#post401056

Yuki 10-05-2006 15:50 436343

XXXler
так и "мой" inf вроде как "инсталляционный"...

XXXler 10-05-2006 15:57 436346

Стоп, по приведенной ссылке лично у меня скачался TaskSwitchXP_2.0.9-bin.zip, в котором без инсталлятора лежит собственно TaskSwitchXP 2.0.9

Yuki 10-05-2006 17:34 436405

XXXler :( :( бред какой-то... чесслово, "лил" не его, залил заново - в TaskSwitchXP.zip распакованное содержимое каталога Addons (Ну куда все аддоны распаковываются перед интеграцией) = _http://up.spbland.ru/files/060510150/

а инструкции те я читал, видимо допустил ошибку, не описанную в них... мне бы разобраться. я бы "поклепал" аддонов на досуге :)

XXXler 10-05-2006 18:25 436433

Yuki, хм на первый взляд - все правильно, а вчем собственно проблема?

Yuki 10-05-2006 18:41 436437

XXXler
The system cannot find the file specified.
The system cannot find the file specified.

почти сразу после запуска __patch.cmd
2 раза. Я так понял - это как раз про мои 2 cab'a из ForceCopy, с другими (скачанными здесь) аддонами проблем нет

XXXler 10-05-2006 19:29 436453

как ни странно у меня интегрится в "дистриб" нормально.
в какой папке лежит скрипт (полный путь)

Yuki 10-05-2006 19:36 436456

круто! аддон сам сделал а интегрировать не смог :D
путь - D:\XP_Install\add-ons_rus\Unpacked
внутри все -скрипты и каталог Addons
запускаю из-под Администратора (с правами юзера не идет)

XXXler 10-05-2006 20:03 436468

Цитата:

The system cannot find the file specified.
Интеграция на этом прерывается?
Такое сообщение может вылезти если в дистрибутиве нет папки I386\ASMS\60, но правда оно должно быть только одно
Повторюсь, но интегится оно на ура, без него, при тех-же условиях, все ок?

Yuki 10-05-2006 20:13 436469

XXXler
без него при тех же условиях - все ок!
интеграция на этом НЕ прерывается

папки I386\ASMS\60 нет, есть I386\ASMS\6000

"по-уму" научиться бы еще в "установку и удаление программ" добавлять эти аддоны

jameszero 10-05-2006 20:39 436476

Наверно лучше было создать новую тему по TaskSwitchXP.
Эта прикреплена и в ней обсуждаются общие вопросы по аддонам.
Есть, что подсказать Yuki, а засорять тему не хочу))

Yuki 12-05-2006 20:03 437301

jameszero
Спасибо XXXler - он мне все объяснил в привате, и желание делать аддоны у меня пропало...

XXXler 12-05-2006 21:14 437326

я прям враг народа получился... :)

Yuki 13-05-2006 14:37 437499

XXXler
имхо все-таки "враги" те, кто "сторонний" софт в "установку и удаление компонентов Windows" помещает :)

XXXler 16-05-2006 11:19 438576

При создании аддонов sysoc с копированием файлов из каба, следите чтобы имена файлов в кабе не совпадали с именами файлов в i386 (сжатыми и не сжатыми), в противном случае вместо файла из каба, будет скопирован файл из i386

XXXler 18-05-2006 14:20 439465

Обновился скрипт для создания секций копирования\удаления файлов на inf

Цитата:

- имена файлов в кабе теперь "оригальные", они содержат символы A-Z и 0-9, урезаются до 8.3 и проверяются на совпадающие в дистрибутиве XP (правда не очень красиво, простое сравнение с содержимым папки Distr, т.к. сравнение со списком в 5000 значений сильно тормозило работу скрипта) и в кабе, при наличии совпадающих к имени добаляется префикс _{счетчик}

- учтено ограничение длины строки инфа в 255 символов и использования двойных кавычек в параметрах OptionDesc и Tip

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

jameszero 21-05-2006 12:34 440542

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



База MSDN молчит. Может кто знает, как это реализовать?

jameszero 22-05-2006 10:53 440834

XXXler
Вопрос по скрипту для создания секций копирования\удаления файлов на inf, в частности по директиве DelDirs.
Правильно ли, что в при указании пути к удаляемым папкам используются обратные слэши?

XXXler 22-05-2006 11:16 440843

в принципе отрабатывают и прямые и обратные, там M$ не поймешь - в tsoc.inf обратные, а в msmsgs.inf - прямой.

Vadikan 25-05-2006 22:11 442440

Добавлена статья Руководство по работе с INF файлами (ссылка внесена в шапку). Спасибо участнику vek за громадную работу по редактированию статьи. Со своей стороны приношу извинения за то, что долго "сидел" на готовом материале. К сожалению, на сайте были проблемы (часть из них до сих пор не устранена - невозможно исправить название статьи и поле Автор).

Lupper 25-05-2006 22:14 442443

Реально респект! Буду зубрить и юзать это руководство!

XXXler 03-06-2006 21:58 446087

Профиксил скрипт для создания секций копирования\удаления файлов на inf

Цитата:

-исправлено дублирование символа при переносе последней строки параметра

XXXler 03-06-2006 22:16 446091

Под личные нужды нацарапал конвертор reg2inf, версия тестовая, о некорректном конвертировании и ошибках отписываем сюда.
  • + конвертит REG_BINARY, REG_DWORD, REG_SZ, REG_MULTI_SZ и REG_EXPAND_SZ (есть правда ограничение формата Win9x\NT4 - кирилические символы в значениях REG_MULTI_SZ и REG_EXPAND_SZ превращаются в "кашу")
  • + обрабатывает удаление параметров\разделов, комментарии
  • + имеется минимальная обработка ошибок синтаксиса .reg-файлов
  • + превращает пути совпадающие с переменными системы в доступные переменные INF
  • - работает пока только с форматом Win9x\NT4
  • - медленно обрабатывает REG-файлы
  • - возможен некорректный перенос строк (если 255 символ точка_с_запятой)

допускается указывать 1 обрабатываемый .reg файл в качестве параметра запуска

Загрузить

04.06.2006
Исправлено:

-обработка значений по умолчанию REG_SZ
-конвертирование путей и переменных в DirId Inf только в значениях параметров
-обработка отличных от REG_BINARY двоичных параметров

05.06.2006
Исправлено:
-обработка пустых значений REG_BINARY, REG_MULTI_SZ, REG_EXPAND_SZ,REG_SZ
-обработка многострочных комментариев

XXXler 05-06-2006 18:16 446947

Очередное исправление глюков:


Reg2Inf
Цитата:

Цитата Reg2Inf
04.06.2006
Исправлено:

-обработка значений по умолчанию REG_SZ
-конвертирование путей и переменных в DirId Inf только в значениях параметров
-обработка отличных от REG_BINARY двоичных параметров

05.06.2006
Исправлено:
-обработка пустых значений REG_BINARY, REG_MULTI_SZ, REG_EXPAND_SZ,REG_SZ
-обработка многострочных комментариев

SetupMaker
Цитата:

Цитата SetupMaker
05.06.2006
-исправлено: формирование секции DelDirs
-исправлено: формирование первых значений секции DestinationDirs
-добавлено: при совпадении имен исходного и конечного файла, в строку копирования вносится только имя конечного

В добавок ко всему: при наличии в строках точек_с_запятыми возможен неправильный перенос строки (следующая строка может стать закомментированной, исправлять пока нет времени, так что будьте бдительны :) )

Shido 06-06-2006 10:13 447220

XXXler

Планируеш ли объеденить обе утилиты?

Можно ли реализовать в Reg2Inf разделение информации на секции по принципу расположения в реестре (что-то вроде):

%NAME%.HKCU.REG
%NAME%.HKLM.REG
%NAME%.HKCR.REG


И добавить возможность опционально формировать секцию %NAME%.PERUSER.REG в SetupMaker. С таким содержимым:

Код:

[%NAME%.PERUSER.REG]
HKLM,"%KEY%\%PROGRAM_GUID%",,,"%INSTALLNAME%"
HKLM,"%KEY%\%PROGRAM_GUID%","ComponentID",,"%INSTALLNAME%"
HKLM,"%KEY%\%PROGRAM_GUID%","DontAsk",0x00010001,2
HKLM,"%KEY%\%PROGRAM_GUID%","Locale",,"%LANGUAGE%"
HKLM,"%KEY%\%PROGRAM_GUID%","StubPath",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%NAME%.inf,PerUserStub"
HKLM,"%KEY%\%PROGRAM_GUID%","IsInstalled",0x00010001,1

[PerUserStub]
AddReg=%NAME%.HKCU.REG

[Strings]
KEY    = "SOFTWARE\Microsoft\Active Setup\Installed Components"
INSTALLNAME= "имя программы"
PROGRAM_GUID= "сгенерированный GUID"
LANGUAGE= "RU"

Это позволяет вносить изменения в реестр для каждого пользователя. Секцию PerUserInstall заставить работать у меня не получается - этот вариант кажется более надёжным.

XXXler 06-06-2006 10:57 447249

Цитата:

Планируеш ли объеденить обе утилиты?
может, со временем, когда наступлю на все грабли *.inf и *.reg
Цитата:

Можно ли реализовать в Reg2Inf разделение информации на секции по принципу расположения в реестре (что-то вроде):
%NAME%.HKCU.REG %NAME%.HKLM.REG %NAME%.HKCR.REG
ну ты прям читаешь мои мысли :) , реализую, только опять-же со временем.

Вообще оба скрипта на Автоите, исходники во вложении (правда пока они в ужастно корявом состоянии) при желании можно подправить и получить то, что требовалось

SAOPP 06-06-2006 11:46 447275

Есть такое предложение авторам аддонов, как реализация и поставка вместе с аддоном своеобразного "деинсталлятора", который будет убивать все cab-архивы, которые относятся к аддону + чистить строки в соответствующих файлах где есть ссылки на данные архивы, пока все :)

jameszero 06-06-2006 12:27 447294

SAOPP
После интеграции? т.е. удаление аддона из дистрибутива?
или после установки системы? Ну так, вообщето, cab-ы и не копируются в систему... копируются только inf-ы.

SAOPP 06-06-2006 12:33 447299

Цитата:

После интеграции? т.е. удаление аддона из дистрибутива?
Именно...

simplix 06-06-2006 13:11 447317

SAOPP
Предложи ещё создание аддона для удаления дистрибутива, в который он будет интергироваться :))

SAOPP 06-06-2006 13:13 447318

Я предложил, то, что указанно выше...

Vadikan 10-06-2006 05:42 449196

На самом деле, предложение SAOPP достаточно прозрачно. Вместо того, чтобы пересобирать каждый раз дистрибутив или вручную вычищать аддоны, достаточно будет просто деинсталлировать аддон одним щелчком мыши.

SAOPP 10-06-2006 09:55 449214

Vadikan
Да, именно так, без пересобирания.

По моему ничего сложного придложенно не было, и я считаю, что такая "фича" нужна!

VitRom 18-06-2006 14:45 452170

Сабж. И автору Пака тоже.

Где-то в обсуждении Пака сказано, что он обрабатывает аддоны по алфавиту.
Этим объяснена, к примеру, несработка аддона БутСкрин при интеграции вместе с Экстрим-Паком (мол, БутСкрин-то прописался, но потом после "B" пошла буква "E", и перезаписала свои файлы поверх).

Может, сделать следующее?

Предложение: Изменить схему именования всех аддонов (по аналогии с именованием разных "финиш" - zz-addon и т.п.). А именно:
Добавлять к имени каждого 2-3-значный цифровой префикс
Фиксированно распределить дипазоны префиксов - для затрагивающих ядро системы (не в смысле именно кернела), или опциональные компоненты системы, или просто добавляющих аппликухи и т.д. и т.п.
Например, все критические аддоны из стандартной поставки пака становятся 99-имя_аддона. Другие критические - 90-имя_аддона. Опциональные, но полезные - 89-имя_аддона. А что-нить вроде Фоксит-а - 11-имя_аддона.

Таким образом получится гарантированная последовательность замены файлов.

2 Petya V4sechkin
Линки из 1-го поста
Работа с inf-файлами (EN) (http://gosh.msfnhosting.com/infs.htm) - 401 Authorization Required
How to Write an INF (EN) (http://www.winpack.org/petr/INF_web/) - 404 Not Found

XXXler 18-06-2006 18:01 452214

VitRom,
Цитата:

Добавлять к имени каждого 2-3-значный цифровой префикс
все прелестно пока не будут интегрится 2 аддона, авторы которых отнесут их к группе "критических", и в этом случае опять играет роль дальнейшее название папки...

VitRom 18-06-2006 19:23 452231

Цитата:

все прелестно пока...
Да, согласен, идеал недостижим, и подводных камней много. :-\ Хотя даже в описанном случае вероятность сбоев ("накладок", "пересечения") намного меньше, чем сейчас.

Потом, ИМХО, это можно решить централизованной раздачей индексов (тем более что новых аддонов появляется немного, и большинство из них - "аппликушные"). Т.е. "координатор проекта" смотрит список затрагиваемых файлов, и решает - так, БутСкрин, дает только понты, но при этом меняет кернел - "облегчим" до 500...

Примерно так. Хотя, конечно, это только идея, и её ещё надо обдумывать.

Boa Soft 19-06-2006 03:02 452318

Vadikan
Цитата:

На самом деле, предложение SAOPP достаточно прозрачно. Вместо того, чтобы пересобирать каждый раз дистрибутив или вручную вычищать аддоны, достаточно будет просто деинсталлировать аддон одним щелчком мыши.
Идея не нова. У Башрата в его базовом дриверпаке реализован механизм удаления следов предидущих пакетов для обеспечения корректной интеграции нового пакета.

Но, могут быть грабли. И, зачастую нужна дополнительная работа. Некотрые аддоны удалить невозможно, ибо они замещают файлы дистрибутива. Проще перобрать пакет полностью. Тем более, что при 1Gb памяти и AXP64 3200 это занимает не столь большое время, как поск глюков от удаления/добавления в пропатченый дистрибутив.


Progopis 20-06-2006 12:49 452549

Цитата:

А может, и мой UpdatePack тоже нарушает какую-то M$-лицензию..
В eula (лицензионном соглашении) от MS написано, что законодательством стран (не США и не Канада) могут предоставляться дополнительные лицензионные соглашения (имеются в виду права). Лично я считаю, что распространение файлов MS, сделанных как обновления, не нарушает никаких соглашений.

Dirk Diggler 06-07-2006 15:46 458535

Addon Autoit
 
Addon AutoIt
А никто подобные не собирал? Пригодился бы весьма. Вместе с Scite...

rusGT 08-08-2006 18:25 469726

ну пожалуйста, сделайте кто-нить аддон для удаления Movie maker'a & WordPad'a...я думаю, многие со мной согласны, что это не нужные вещи на компьютере....

prokazzza 15-08-2006 13:15 472271

Petya V4sechkin
а можно пожалуста поподробнее как можно сделать самому свой addon
использовал скрипт всеравно немного не понял потом как из него сделать addon.

vek 15-08-2006 15:59 472395

prokazzza
Подробной инструкции по созданию аддонов нет. В первом посте размещены ссылки на основные вспомогательные материалы.
Практически любое приложение устанавливается в три этапа:
1. Размещение необходимых файлов на жестком диске, создание ярлыков
2. Запись ключей реестра
3. Регистрация библиотек
Структура аддонов в большинстве случаев проста:
Все необходимые файлы упаковываються в Каб-архив, а установка этих файлов осуществляется инф-скриптом (для примера можно взять и посмотреть любой, уже сделанный аддон).
Сложности
1. Написать скрипт - поможет это http://oszone.net/display.php?id=3827
2. Узнать какие файлы копирует программа на диск - поможет Ashampoo Uninstaller 2.0
3. Узнать какие ключи вносит программа в реестр - поможет Ashampoo Uninstaller 2.0 + RegShot
4. Как запаковать файлы в CAB - поможет - http://oszone.net/display.php?id=2806#makecab или руководство к архиватору
5. Правильно сделать структуру аддона - поможет любой скачанный аддон с этого сайта (по образу и подобию)
6. Описание структуры - поможет http://forum.oszone.net/showthread.p...229#post401229
7. Ну и чисто вспомогательный инструмент - http://forum.oszone.net/post-434018-30.html
P.S. Если Вы разберетесь и напишете подробное руководство никто возражать не будет, даже помогут. Просто каждый пытается разобраться сам. А у авторов пака и аддонов к сожалению не хватает времени на создание инструкции.

prokazzza 15-08-2006 23:00 472621

Petya V4sechkin

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

dimadr 15-08-2006 23:10 472624

prokazzza
Цитата:

Слушай может вам создать отдельную тему для создателей addonов
Это и есть отдельная тема для создатлей аддонов. У меня к вам просьба постить на форуме по теме и по существу. Потратьте время на внимательное прочтение тем в этой ветке, может что-то и проясниться для вас.

prokazzza 15-08-2006 23:35 472628

dimadr

немного непонятно в основном ненужная болтовня ничего существенного в этой теме нету
хотя бы пример содания выложил бы чтоли на простом addonе.

rusGT

воспользуйся nLite

DrAlex 30-08-2006 06:39 478334

У меня возникло два вопроса:

1. Что в inf файле прописать чтобы ярлык создавался на рабочем столе, а не в Пуск`е?

2. Можно ли заставить установщик в текстовом режиме установки Windows создать папку %SystemDrive%\Temp
Папку $OEM$ использовать не хочется!

Для чего это нужно (%SystemDrive%\Temp)?
Я хочу в файл Hivesft.inf добавить
-----------------------------------------------------------------------------
HKU,".DEFAULT\Environment","TEMP",131072,"%SystemDrive%\Temp"
HKU,".DEFAULT\Environment","TMP",131072,"%SystemDrive%\Temp"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","TEMP",0,"%SystemDrive%\Temp"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","TMP",0,"%SystemDrive%\Temp"
-----------------------------------------------------------------------------
что бы Windows использовал только одну папку Temp, а не разбрасывал по каждому пользователю и папке Windows.
Если добавить строки и не будет папки %SystemDrive%\Temp, то установщик по окончанию текстового режима перед перезагрузкой ругается что установка прервана... мол повторите установку и по кругу.

prokazzza 30-08-2006 09:14 478368

DrAlex

Цитата:

Что в inf файле прописать чтобы ярлык создавался на рабочем столе, а не в Пуск`е?
в дистр. добавь в папку $OEM$\$Docs\All Users\Рабочий стол\ярлык или несколько ярлыков
и никаких муторов

тока незабудь скопировать действующий ярлыки

Цитата:

Папку $OEM$ использовать не хочется!
что тебе мешает использовать эту папку самый нормальный ход

Ntag 30-08-2006 10:47 478405

DrAlex
Цитата:

что бы Windows использовал только одну папку Temp, а не разбрасывал по каждому пользователю и папке Windows.
Код:

;Глобальная установка по умолчанию переменных temp и tmp, а также стандартной переменной типа PATH - %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"Path"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79  ,00,73,00,74,00,65,00,6d,00,33,00,32,00,3b,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,  6f,00,74,00,25,00,3b,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,0  0,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,62,00,65,00,6d,00,3b,00,43,00,3a,00,5c  ,00,56,00,63,00,3b,00,43,00,3a,00,5c,00,41,00,72,00,63,00,3b,00,00,00
"TEMP"="C:\\Temp"
"TMP"="C:\\Temp"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
"Path"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79  ,00,73,00,74,00,65,00,6d,00,33,00,32,00,3b,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,  6f,00,74,00,25,00,3b,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,0  0,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,62,00,65,00,6d,00,3b,00,43,00,3a,00,5c  ,00,56,00,63,00,3b,00,43,00,3a,00,5c,00,41,00,72,00,63,00,3b,00,00,00
"TEMP"="C:\\Temp"
"TMP"="C:\\Temp"

;Установки переменных tmp для каждого конкретного пользователя
[HKEY_USERS\.DEFAULT\Environment]
"TEMP"=hex(2):43,00,3a,00,5c,00,54,00,65,00,6d,00,70,00,00,00
"TMP"=hex(2):43,00,3a,00,5c,00,54,00,65,00,6d,00,70,00,00,00

Устраивает такой вариант?

erd200630 03-09-2006 16:44 480183

Не возникало идеи создать аддон для активации винды.У меня аддоны работают без глюков только на не активированной,естественно после ее установки приходиться каждый раз ломать.У кого есть идеи!!!!!
Из всех укротителей жадности 100% попался только один,правда вешает много 15 метров.Нужные файлы около1.5 метров
Кстати,после внедрения 6.8.10 в службе нормально утключается-удаленный реестр.В предыдущих последних 2 версиях,при отключении этой службы,вылазила ошибка и в этоге оставалось вкл.

simplix 03-09-2006 18:10 480221

erd200630
Такого никто не будет делать, на этом форуме варез запрещён. Для работы можно использовать корпоративный дистрибутив, который не требует активацию вообще.

erd200630 03-09-2006 18:14 480223

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

simplix 04-09-2006 02:34 480350

erd200630
Смотри личку, чем богаты :)

chum2000 03-10-2006 14:18 492693

А как скачать SetupMaker. на рапиде написано, что файл удалён.

fox_cub 03-10-2006 16:42 492793

chum2000
Получите и распишитесь....

Теплый Снег 05-10-2006 09:55 493597

Как-то писал статейку на тему внедрения сторонни программ в дистрибутив .Кому интересно читайте

XXXler 05-10-2006 13:34 493706

Обновил Mелкий скрипт для создания секций копирования\удаления файлов на inf
http://forum.oszone.net/post-434018-30.html
Цитата:

05.10.2006
-исправлено: возможно копирование файлов из корня i386 вместо файлов из каба в случае совпадении имен файлов дистрибутива\каба\inf'а с разницей в последнюю букву расширения файла (с урезанием расширения в 3 символа)
-исправлено: несколько мелких глюков\недочетов с скрипте

IgNat 13-10-2006 06:04 497049

Доброго времени суток!
Уважаемые авторы аддонов-, в основном,- интегрирующиие программы!

Во-первых, огромное спаибо за вашу работу!!!
Во-вторых, все аддоны по умолчанию устанавливают программы в корень папки Program Files (PF), в итоге PF выглядит как большая "портянка" (до 50-ти!!! папок) :@ . Если возможно, то добавляйте в описание аддонов информацию о выборе папки установки программы по желанию пользователя. Типа, если не хотите устанавливать программу в С:\Program Files (%SystemDrive%\%ProgramFilesDir%), а хотите в D:\MySOFT\Media, D:\MySOFT\CD и т.д., то надо сделать то-то и то-то. Спасибо!

P.S. Наверное, не во всех аддонах можно реализовать выбор папки установки программы по желанию пользователя. Но в программах без инсталляторов (данных аддонов больше всего и принцип интегрирования у них примерно одинаков), думаю можно, тока знаний моих маловато будет 8-D . Написал в этом топике, а не в топике какого-то конкретного аддона именно из-за "однотипности" интегрирования. Если кто-нибудь здесь ответит (типа, для такого/их-то аддонов, сделайте то-то :) ) , заранее, огромное спасибо.

:off: В справке (Учебник) нашел только для NSIS (...Вы также можете использовать ключ /D для указания директории установки...), да и тот почему-то не сработал :confused: при проверке установки программы. Подскажите, с чего начинать ознакомление по данному вопросу и где найти дополнительную информацию по другим инсталляторам. Спасибо!

jameszero 13-10-2006 08:54 497083

_IgNat_
Согласен. У меня у самого, все аддоны при установке группируются по папкам Tools, Utilites, Media, Internet.... Т. е. практически все аддоны были отредактированы и даже мои аддоны, которые я выкладываю здесь, существуют в двух вариантах, но с аддонами не так просто, как с инсталяторами. Без знания структуры inf-ов изменить путь установки невозможно, а выработать правило для путей установки и обязать авторов парепаковать свои аддоны, я думаю, нереально (во второй свой части :))

vek 13-10-2006 09:09 497092

_IgNat_
За копирование файлов по папкам в инф-файле отвечает в основном секция DestinationDirs. Изменить в принципе не сложно(http://oszone.net/display.php?id=3827#cpf2), но могут быть "подводные камни". Так что если не разберетесь, думаю можно задать вопрос в теме с аддоном, думаю авторы помогут!

jameszero 13-10-2006 09:23 497103

Ещё секции добавления записей в реестр, регистрации dll и создания ярлыков. Секции деинсталляции так же необходимо модифицировать.

vek 13-10-2006 09:28 497106

jameszero
Да именно это я хотел сказать фразой:
Цитата:

но могут быть "подводные камни"
Спасибо что дополнил

XXXler 13-10-2006 17:15 497295

Цитата:

Но в программах без инсталляторов (данных аддонов больше всего и принцип интегрирования у них примерно одинаков), думаю можно
В DestinationDirs в DirId можно указать -1 (Абсолютный путь), а папку программы передать в виде переменной, которую описать в Strings (там по идее можно использовать и dirid (%10%,%11% и т.д.), эту-же переменную использовать и в RegisterDll, AddReg и т.п.

Вот только смысл?
1. Столкнулся с тем, что некоторые конечные пользователи начинают возбухать по поводу нестандартного размещения программы, им бедным видите ли надо несколько папок открыть, чтобы добратся до программы (привсем что им это надо не так уж и часто)
2. В случае задания абсолютного пути (к примеру D:\MySOFT\CD) теряется универсальность и могут быть проблемы с установкой системы - диск D может в момент установки не существовать\быть неотформатированным\являтся CDROM, а это повлечет за собой полный сбой установки sysoc.
3. На мой взгляд важнее навести порядок в 3rdParty, где уже тоже появилась каша из приложений, как вариант можно было бы его разбить на несколько подгрупп (Мультимедиа\Оффис\Утилиты\Интернет), а авторы в следующих релизах привязали бы аддоны к наиболее подходящей группе.

IgNat 14-10-2006 04:35 497485

jameszero, vek, XXXlerXXXler, спасибо, что откликнулись! :up:
Цитата:

все аддоны при установке группируются по папкам Tools, Utilites, Media, Internet....
- именно,
Цитата:

существуют в двух вариантах
- если бы были выложены оба варианта, то мой вопрос частично или полностью снялся бы :)
Цитата:

а выработать правило для путей установки и обязать авторов парепаковать свои аддоны
- дык и не требовалось! а то неровен час получишь :tomato2:
Спрашивалось же
Цитата:

для такого/их-то аддонов, сделайте то-то
:blush2:
Цитата:

в инф-файле отвечает в основном секция DestinationDirs
- это я понял, читая руководство по инфам, но смущало, что в нем
Цитата:

[DestinationDirs]
DefaultDestDir=24, Program Files\Program Name
, а в аддонах
Цитата:

[DestinationDirs]
***.Copy=16422,...
. Насколько я понял, "16422" - обозначение Program Files-директории, но не нашел информации по такого рода сокращениям и где они применяются (в руководстве ключи 2-х значные, а 16422 - 5-ти значный) :(. Также непонятно, если я напишу например: ***.Copy=16422, MySoft\Media\Player\*** - 1) верный ли синтаксис; 2) установится ли в данную папку; 3) надо ли предварительно создавать структуру папок MySoft\Media\Player\, если да, то как? :)
Цитата:

Ещё секции добавления записей в реестр, регистрации dll и создания ярлыков. Секции деинсталляции так же необходимо модифицировать.
- здесь посложнее, но поняв [DestinationDirs], думаю, пойму и это.
Цитата:

В DestinationDirs в DirId можно указать -1 (Абсолютный путь), а папку программы передать в виде переменной, которую описать в Strings (там по идее можно использовать и dirid (%10%,%11% и т.д.), эту-же переменную использовать и в RegisterDll, AddReg и т.п.
- можно простенький пример, пжл. И я полностью за универсальность, просто хотел показать отличное от стандартного расположение и наименование папок программ:ok:
Цитата:

важнее навести порядок в 3rdParty
- оба вопроса важны ;) Например, мне, как пользователю, хотелось бы, чтобы в меню "Пуск" повторялась структура папок как они установлены в "Program Files".
jameszero могли бы выложить два варианта аддона, вернее инф'ов к ним, например Download Master. Спасибо

XXXler 14-10-2006 11:55 497565

Цитата:

Насколько я понял, "16422" - обозначение Program Files-директории, но не нашел информации по такого рода сокращениям и где они применяются (в руководстве ключи 2-х значные, а 16422 - 5-ти значный)
http://msdn.microsoft.com/library/de...35d0f4.xml.asp

Добавлено:

мдя. не понимает Inf в переменных String переменные папок, а жаль.
В общем можно использовать просто переменную для подкаталога, для минимизации ручной работы по изменению папки (думаю америку я этим не открыл). Пример во вложении.

З.Ы. Только вот с удалением в этом случае загвоздка - при таком подходе подкаталог, в котором находится папка программы останется неудаленным.

jameszero 14-10-2006 14:09 497625

Вложений: 1
_IgNat_
Цитата:

выложить два варианта аддона, вернее инф'ов к ним, например Download Master
Прикрепил к посту.
В принципе, сравнив два инфа, этот и тот, что в аддоне, например Total Commander-ом, вы поймёте в каких секциях и как нужно менять путь установки.
Цитата:

надо ли предварительно создавать структуру папок MySoft\Media\Player\
нет
Цитата:

***.Copy=16422, MySoft\Media\Player\*** верный ли синтаксис
Путь желательно брать в кавычки ***.Copy=16422,"MySoft\Media\Player\***"

IgNat 15-10-2006 03:31 497928

XXXler, jameszero!
Скачал, изучаю. :yahoo: спасибо

Brainrif 20-10-2006 22:21 500762

Приветствую всех! Моё сегодняшнее обращение предназначено господам "аддонщикам"!

1. Уважаемые, пожалуйста, изучите документацию по созданию INF файлов полностью (инфы в инете полно, даже на сайте MS - http://msdn.microsoft.com/library/de...2ebb16.xml.asp ; http://msdn.microsoft.com/library/de...6ed171.xml.asp). Если нет желания лазить в инет или ещё по каким-либо причинам, то скачайте себе очень полезную вещь - Windows 2000 DDK - http://shelek.tmf.ru/archive/ddk/2kddknly.exe - пригодится...

2. По возможности и очень желательно проверяйте ваш аддон, прежде чем его выложить его на сайт, т.к. мне (да думаю и другим тоже), например, уже надоело переделывать ваши аддоны. (Например аддон "Foxit Reader 2": в секции установки копируются все файлы (7), а в секции удаления указано удалять только 2??? Ну и так далее, примеров масса).

3. Это уже звучало, но повторюсь: называйте ярлыки и группы русскими именами и покороче...

Надеюсь меня услышат и поймут правильно...

SkySandy 21-10-2006 09:53 500910

to Brainrif

Могли бы Вы еще сказать какие аддоны содержат ошибки в inf файлах. Сразу бы их и поправили.
Ну а не ошибается только тот, кто ничего не делает

Fraerok 04-12-2006 12:59 520639

Мне кажется или, действительно, дял того, чтобы создать аддон для данной тихой установки acrobat reader - нужно всего лишь:
создать Run "AdbeRdr705_rus_lite.exe"
и создать папку Files, в которой будет пустая папка Compressed и папку ForceCopy->SVCPACK->AdbeRdr705_rus_lite.exe?

vek 04-12-2006 13:25 520651

Fraerok
пустую Compressed можно и не создавать. При таком раскладе установка программы произойдет на Т-13 (метод "SVCPACK"), вместе с обновлениями.
Содержимое файла Run при отработке скрипта добавляется в секцию [SetupHotfixesToRun] файла svcpack.inf. Таким образом, запись AdbeRdr705_rus_lite.exe, добавленная в секцию [SetupHotfixesToRun] вызывает запуск приложения за 13 минут до окончания установки.
P.S. переименовать только на всякий случай нужно покороче.

Fraerok 04-12-2006 13:58 520667

UpdatePack самостоятельно скопирует файл установки в I386\Update\ и добавит соответствующие записи в svcpack.inf?
Ключи /Q /O /N /Z ( /Q:A /R:N) нигде писать не надо?

Зачем нужна папка Compressed?

Если для того, чтобы сделать аддон для акробат ридера нужно всего лишь:
Код:

создать Run "AdbeRdr705.exe"
создать папку Files, в которой будет пустая папка Compressed
и папку ForceCopy->SVCPACK->AdbeRdr705.exe

так ведь?

То, почему никто до сих пор не создал такой, ведь, программой пользуются многие?

Fraerok 04-12-2006 14:16 520677

to vek
Почему у аддона для флешгет, который по-идее изначально делался из такой же тихой инсталляшки, более сложная структура внутри аддона?

vek 04-12-2006 14:47 520696

Fraerok
При изготовлении аддона FlashGet я взял за основу инсталятор Inno от Boss911 (его настройки, его файлы и т.д.). Т.е. я пользовался не скомпилированным инсталятором, а только ресурсами, а инсталятор делал свой с помощью Inf-скрипта. К слову сказать, если получить скрипт установки от инсталятора Inno, то аддон делается за несколько минут (не надо отслеживать изменения реестра, файловой системы и т.д. - все уже готово).
Установка практически любой программы состоит.... впрочем я обэтом уже писал здесь

Fraerok 04-12-2006 15:01 520703

vek
т.е., такой метод, когда просто берется тихая установка flashget (acrobat reader) и пишется Run с соответствующей строчкой чем-то хуже, чем использование не скомпилироавнного инсталлятора?

Fraerok 05-12-2006 12:34 521066

Дак, все-таки метод, когда в аддон кладется тихая установка и прописывается адрес в Run - плохой?

Fraerok 11-12-2006 14:34 523437

2 вопроса интересуют:

1) Как добавить строчку в "Установка компонентов windows"? И можно ли будет таким образом установить программу с диска, если она была удалена?
2) Как сделать, чтобы аддон не устанавливался автоматически, а устанавливался в ручную из "Установка компонентов windows"?

VitRom 11-12-2006 16:38 523476

Fraerok
2. По словам специалистов - так: Интеграция аддонов БЕЗ автоинсталла

Fraerok 11-12-2006 18:27 523510

VitRom, ok. Но там для inf файла, а я делаю тихую установку и прописываю в Run - можно ли как-то в таком случае?

VitRom 11-12-2006 18:42 523518

Fraerok я в этом далеко не гуру, но ИМХО можно (и проще всего) создать "правильный" аддон с интеграцией через sysoc, в котором и вызывать твой экзешник (с параметрами для установки/деинсталяции). Этакая матрёшка. Есть же наверное какие-то команды в inf-ах для прямого запуска экзешников...

Или filemon+regmon+vmware в зубы и смотри, где "родные" компоненты "отмечаются" ;)

VitRom 27-12-2006 15:45 529797

Вложений: 2
Старожилы! Помогите плз отловить глюк:

В списке "Компоненты Windows" на первой строке "призрак" (см. аттач SysOCs.GIF). На установку/снятие галки не реагирует (при следующем открытии опять пустая). Во всех аддонах sysoc-типа (кроме стандартных из комплекта пака) закомментирован параметр "Modes" и убрано (почти везде) HIDE из sysoc (видны в компонентах и ставятся по требованию).

SYSOC.INF в аттаче, список аддонов ниже.

В каком INF-е копать дальше?

Addons:
1-BaseCSP
1-Flash
1-HDA
1-IE
1-MMC3
1-MRT
1-MSXML
1-MU
1-PkgInst
1-PNRP
1-RMS
1-WebFldrs
1-WGA (из предыдущей версии аддона)
1-XPNetDg
2-Unofficial
3rdParty
7zip443b
Akelpad2
AntiSpy
CDCloseExe
CDSlow
"Del MSMSGS"
"Del MSNExplr"
"Del WinTOUR"
"Del ZoneGames"
DelLanDrv
DelVideoDrv
DLLINFO
dllsfull
DrClean
DX9U
Encoder9
Erdnt
FOXITR2B3
HTMCD
MatchUp
Msgina
msrdp
my_bootini
my_oeminfo_ext
OOBE
PfotoStory
POWER
Punto_sw
Scanner
SCDW
startupcpl
SysInt
THEMES
Uninst_Tool
Unpnc
UxTheme
VistaXP
wDjVu3
WinRAR351Rcr
WmConnect
WMP10.4040_17.12
z5_raid
ZMyCustom
ZZ_Clean

jameszero 27-12-2006 18:39 529846

VitRom
Аддон MatchUp.
В его sysoc файле поменяй MsMatchUp=ocgen.dll,OcEntry,MatchUp.inf,,7 на MatchUp=ocgen.dll,OcEntry,MatchUp.inf,,7
А на установленной системе - соответсвующую строчку в sysoc.inf

VitRom 06-01-2007 19:19 532622

Спасибо тебе, о Гуру!.. :)

А я сам ни за что бы не подумал на него, бо в списке компонентов он есть, и лежит на своём месте (Стандартные/Игры)...

snow46 07-01-2007 21:26 533115

При интеграции аддона VistaPath_Finall выдается следующее:
сначало ->
----------
Сжатие файлов.
Распаковка САВ-файлов.
Обновление MMSSETUP.CAB. Подождите, пожалуйста.
Обновление SP2.CAB. Подождите, пожалуйста.
Копирование новых файлов.
Патч для Sfcfiles.dll.
Создание Svcpack.inf.
Добавление строк в Sysoc.inf.
Добавление строк в Dosnet.inf.
Добавление строк в Txtsetup.sif.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Скопировано файлов: 1.
Скопировано файлов: 1.
--------
потом появляются окна с ошибками ->
--------
File to be patched does not exist!
(".\Temp\ZP\ntsd.exe")
-----------------------------------
File to be patched does not exist!
(".\Temp\ZP\regedit.exe")
-----------------------------------
File to be patched does not exist!
(".\Temp\ZP\telnet.exe")
-----------------------------------
File to be patched does not exist!
(".\Temp\ZP\WINNTBBU.DLL")
-----------------------------------
дальше идет "modifype files"
и среди строк "No Error occurred,have a nice day"
есть строки "Could not open file"
-------------------------------------------------
в итоге получаем следующие:
---------------------------
Сжатие файлов
Распаковка САВ-файлов.
Обновление ИИSSETUP.CAB. Подождите, пожалуйста.
Обновление SP2.CAB. Подождите, пожалуйста.
Копирование новых файлов.
Патч для Sfcfiles.dll.
Создание Svcpack.inf.
Добавление строк в Sysoc.inf.
Добавление строк в Dosnet.inf.
Добавление строк в Txtsetup.sif.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Скопировано файлов: 1.
Скопировано файлов: 1.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Скрипт завершил свою работу.

ДлЯ продолжения нажмите любую клавишу . . .
-----------------------------------------------------
использовался дистрибутив Windows XP SP2 Professional Volume License
использовался только аддон VistaPath_Finall
кто, что может сказать по этому поводу?



surik 07-01-2007 21:38 533120

Очень знакомая картина. Просто эти файлы не пропатчились. Функциональность не пропала, всё будет прекрасно работать. Осмелюсь предположить, что дистрибутив был заранее подготовлен nLite - ом.

biggreeder 07-01-2007 22:05 533136

snow46
Я тоже поначалу попарился немного.
Если хочешь решить проблему с наименьшими затратами времени, попробуй то же самое проделать с другими исходными дистрибутивами.

snow46 07-01-2007 22:39 533152

surik дистрибутив не был заранее подготовлен программой nLite
дистрибутив точно совпадает с описанием винды по ссылке http://forall.ru-board.com/dg/ddb/VRMPVOL_RU/

surik 07-01-2007 22:50 533157

snow46, просто при интеграции в дистрибутив висты патча, подготовленный именно nLite - ом, у меня возникали именно те же самые ошибки. Отсюда и моё предположение...!

prokazzza 08-01-2007 01:12 533212

snow46

Все вопросы по VistaPath в соответствующую тему, такая ошибка возможна, если вы использовали аддон VistaPath совместно с аддонами типо Logonui или Run.

surik
Цитата:

snow46, просто при интеграции в дистрибутив висты патча, подготовленный именно nLite - ом, у меня возникали именно те же самые ошибки. Отсюда и моё предположение...!
Чтобы на было много ошибок нужно сперва интегрировать UpdatePack с аддонами в дистрибут, а потом доработать полученный дистрибут nLite`ом.

geepnozeex 14-01-2007 20:18 535936

http://themez.ru/index.php?name=Files&op=showcat&cid=2
там куча красивых тем
вот бы аддонов заделать их них !

igorgn 15-01-2007 11:11 536202

У меня такая же описанная выше картина с ошибками. Что интересно, то появляется, то пропадает. Несколько раз всё проходило стабильно. После добавил Exact Audio Copy и обновил dllfull и снова попёрли ошибки. Использовал два различных дистрибутива. Что интересно, в начале интеграции сразу при запуске скрипта быстренько копирую из папки адднона VistaPath файлы modifype в создаваемую папку TEMP. Иначе при интеграции выдаёт ошибку, что эти файлы в темпе не найдены. Процедуру с копированием проделываю постоянно, так как глюк тоже постоянный.

Demy 15-01-2007 14:12 536322

geepnozeex
Чем тебя не устраивает мой ThemeCreate?
http://forum.oszone.net/thread-76963.html

geepnozeex 15-01-2007 15:47 536373

оказалось это не темы сами посебе ,а для них нужны какието проги -короче это фигня полная.
а насчёт твоего ThemeCreate хочу спросить, - вот когда я добавляю тему рояль в папку аддонс апдэйтпака ,то потом тема сама слетает у меня на луну нестого ниссего бывает по 2 раза в день.
а если через ThemeCreate эту тему я добавлю чтото изменится ? я так понял чтобы не слетала тема рояль её надо интегрировать вместо луны,чтоб некуда слетать было .

compas 29-01-2007 20:42 543213

А где бы раздобыть KB909667-RUS?
На буке камеру завести не могу корректно. После установки дров машина не выключается.
Версии хотфиксов DEU, ENU, ESN и FRA ругаются на язык.

jameszero 29-01-2007 20:47 543218

compas
Цитата:

А где бы раздобыть KB909667-RUS?
В "ExtremePack v.13" он есть
http://forum.oszone.net/thread-62943-1.html

yaryar 10-03-2007 15:29 559920

Здравствуйте.
Хотел бы написать свой аддон, удаляющий массу ненужных элементов Винды при установке.
Хотелось бы начать со всеми любимого Explorer'a.
В качестве первого шага, как я понял, необходимо проследить как это делает тот же nLite. Скормил nLite 1.3 чистый дистрибутив, далее сравнил изменения в папках и файлах с оригинальным дистрибутивом с помощью программы WinMerge 2.7.1.5 (кстати, с русcким интерфейсом и бесплатная) и оказалось что в тех файлах где происходят изменения (например .inf) NLite (редиска) убирает пустые пробелы в начале строки и программа сравнения показывает изменения во всем файле. Становится очень утомительно.
В связи с этим два вопроса.
1) Подскажите, каким вы пользуйтесь инструментарием для создания новых аддонов (инструменты слежения и автоматизации)
2) Что такое списки защиты и, я читал на этом форуме, NLite удаляет всю защиту. Как это отследить и не допустить, то есть сделать то же что и Nlite, но при этом не повредить защиту (возможно это фраза - грамотно удалить из списков защиты).
Буду очень благодарен если кто-либо ответит новичку (разжуёт попонятнее). Сложно читать разрозненную документацию на английском языке (не знаю) и очень сложно читать с листа .bat, .inf, и скрипты.

Fraerok 10-03-2007 23:51 560070

yaryar
Есть несколько аддонов для удаления компонентов Windows, MSN Explorer'а в том числе. А для создания новых аддонов в основном надо следить за тем, что меняет/добавляет программа в реестре.

Sensor77 26-03-2007 11:00 566580

Подскажите,где можно найти скрипт SetupMaker? На Рапиде файл отсутствует.заранее спасибо.

dimich22 26-03-2007 11:07 566582

На самом деле, в этом посте есть прикрепленный файл setup.rar, его и нужно скачать - он содержит все необходимое (setupmaker). На всякий случай залил сюда

Sensor77 26-03-2007 15:06 566676

Спасибо

zxvik 04-04-2007 02:53 570018

А есть возможность авторам аддонов делать укороченные (или кастрированные, как хотите) на примере посмотрите мою переписку по теме "Аддон Nero Burning ROM 6.6.1.15 полная русская версия"
http://forum.oszone.net/thread-81575-4.html

Vadikan 05-04-2007 09:08 570486

Всем авторам аддонов
Цитата:

Если ваш аддон представляет собой программу, пожалуйста, обязательно приводите в шапке помимо собственного описания ссылку на официальный сайт (домашнюю страницу) программы. Можно также сделать скриншот и опубликовать его (при большом размере файла это можно сделать в виде эскиза или ссылки).
А то я захожу в некоторые темы и дивлюсь: откуда взялась программа - можно только гадать. Может она полезная и попробовать бы не помешало (хоть на виртуалке), но никаких ссылок в теме нет. Понятно, что гугл рулит, но это же не вариант. Опять же, из скриншота можно получить предварительное представление о программе (возможно, домашнюю страницу уже не захочется после этого посещать, а возможно - наоборот).

Модераторам
Если поддерживаете, закиньте цитату в шапку этой темы. А на нет и... вам виднее :)

Спасибо.

jameszero 05-04-2007 10:43 570507

Vadikan
Думаю, это очень правильная мысль.

helpuser 02-05-2007 07:11 581972

добрый день!Не могли бы вы зделать скелет или конструктор для антивируса Bitdefender antivirus 10 c возможностью русифицировать.А то я не знаю языков програмирования и думаю сам не осилю.

Murz 18-05-2007 21:00 588489

Возможно ли на странице http://forum.oszone.net/thread-63859.html возле названия и описания аддона выносить дату последнего обновления? Так, как это делается на странице с описанием аддона. Перебирать интересующие тебя аддоны каждый раз хлопотно. Правда, если это нужно для статистики посещения страницы....

Vadikan 24-05-2007 01:23 590318

Murz
Вы можете взять на себя эту приятную обязанность тут.

Murz 24-05-2007 15:36 590524

Если бы был автором аддонов, то внося изменения, наверное, смог бы...Но к сожалению и ни автор, и не специалист. Просто юзер. А имел в виду возможность автоматического дублирования подобной "...Последний раз редактировалось jameszero, 10-04-2007 в 18:51..." информации об обновлении. Но, видимо, не возможно...Или просто отлуп?

jameszero 24-05-2007 16:55 590547

Murz
Редактировать список аддонов в wiki может каждый автор аддона самостоятельно, достаточно зарегистрироваться в wiki. Тема со списком аддонов скоро будет откреплена и уйдёт в историю форума)), будет оставлен только вариант списка в wiki. Если есть конструктивные пожелания по оформлению - это на рассмотрение авторов аддонов. Кстати, редактирование wiki уже доступно...
Автоматически добавлять дату к записи невозможно, но в wiki есть кнопка "История", где можно посмотреть когда и какие записи вносились или модифицировались.

Murz 24-05-2007 21:50 590628

Спасибо. Понятно.

Jekson07 29-05-2007 11:37 592396

Лазил сегодня по просторам инета и случайно наткнулся, на что-то знакомое, ставшее уже практически родным http://okroshka.nnm.ru/windows_xp_sp2_zvercd_v754_rus

P.S. Интересно кто автор?

surik 29-05-2007 12:03 592408

Авторов сборок нынче много, большинство вышло из родных стен этого форума.
А автор конкретно этой сборки форумчанин - zver5, если не ошибаюсь...

Righter 02-06-2007 15:27 594280

Можно ли в файле Run писать ссылку на инсталлятор вместе с ключем? Например, "addon.exe /D".

jameszero 02-06-2007 15:38 594283

Righter
Да

Planeta 05-06-2007 20:56 595632

Объясните пожалуйста значения в txtsetup, указываемые в аддонах.
Перерыл половину форума, наверное что то упустил, но конкретного объяснения значений в этом файле так и не нашел.
Спасибо

Fonar 10-06-2007 18:18 597730

Помогите пожалуста. Заранее извеняюсь может я не в тему,но прошу помочь мне. Недавно решил сам состряпать winду под себя из аддонов, и наткнулся на такую проблему. Мне нужно например winrar и WMP11. у них в архивах есть файл run без расширения. внего надо вписывать типа winrar.exe на следующей строке WMP11RU.EXE или добавляя ничего не вписывать???

jameszero 11-06-2007 11:56 597922

Fonar
В файл run ничего добавлять не нужно, просто распакуйте архивы с аддонами в папку Addons и проведите интеграцию.

jameszero 15-06-2007 11:32 599580

Вложений: 1
1. Конвертирование reg файлов в inf формат из контекстного меню, с помощью утилиты reg2inf от n7Epsilon (необходим Framework 2 или 3)
Утилита помешается в System32, а в реестр добавляется следующее:
Код:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\regfile\shell\reg2inf\command]
@="Reg2Inf.exe \"%1\" \"%1.inf\" /RepVars"

[HKEY_CLASSES_ROOT\regfile\shell\reg2inf\ddeexec\Application]
@="Reg2Inf"

[HKEY_CLASSES_ROOT\regfile\shell\reg2inf\ddeexec\Topic]
@="System"

В итоге, в контекстное меню reg файлов добавляется команда reg2inf и, к примеру, файл test.reg конвертируется в test.reg.inf

2. Распаковка Хотфиксов от MS из контекстного меню.
Для распаковки инсталляций, удобно пользоваться Universal Extractor-ом, но последняя версия 1.5 не все хотфиксы от MS распаковывает правильно и приходится пользоваться либо версией 1.3, либо другими методами, а решение, на самом деле, простое - с помошью твика реестра добавляется в контекстное меню команда Unpack HotFix
Код:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\Unpack HotFix\command]
@="\"%1\" /X:\"%1_unpacked\""

В итоге, при распаковке WindowsXP-KB922582-x86-RUS.exe, на выходе получаем папку WindowsXP-KB922582-x86-RUS.exe_unpacked с извлечёнными файлами. Минус один - команда Unpack HotFix встраивается в контекстное меню всех екзешников, а не только файлов от MS, так что, рекомендовать этот твик конечным пользователям не могу, но для разработчиков, думаю, он пригодится.

3. Упаковка файлов и директорий в CAB-архивы (а так же распаковка из CAB-архивов) из контекстного меню "Отправить", с помощью набора CAB Tool
Работать с CAB-архивами можно несколькими способами, один из них - с помощью набора CAB Tool, который добавляет в контекстное меню "Отправить" два пункта CAB-IN и CAB-OUT, назначения которых, думаю понятны.
Поддерживается упаковка как директорий, так и отдельных файлов, при этом, последний символ расширения файла меняется на нижнее подчёркивание, а имя архива преобразуется в верхний регистр (test.inf >> TEST.IN_)
Запуск установочного sfx архива 3_SendTo_CAB_Tool.exe с параметром /REMOVE произведёт деинсталляцию CAB Tool

Всё что описано выше, прикрепил к посту.
Пункты 1 и 3 реализованы в виде тихих инсталляторов, пункт 2 в виде reg файла.

Участник форума gora выложил инсталлятор со всеми тремя инструментами, а в также расширенный вариант - [addon] SetTools (набор инструментов)

Berline 15-06-2007 11:50 599589

jameszero, А по отдельности можно выложить? Ковертирование и Распаковка... :blush2:

jameszero 15-06-2007 12:16 599602

Berline
Так, все ж твики расписаны, компануйте, если нужно, по отдельности.

dimich22 15-06-2007 12:22 599608

Berline
Это самораспаковывающийся 7-zip архив. Внутри есть inf-файлик. Закомментируй те строчки, которые не нужны и перепакуй.

Berline 15-06-2007 12:24 599609

Мало того, что схалявить не дали, так ещё и курс лекций прочитали! Сделал я себе без распаковки ещё до того, как попросил... =)

dimich22 15-06-2007 12:31 599612

Я так и подумал. ;) Еще новичок мог бы попросить, но не авторы аддонов.
Может, еще курс прочитать по sfx-архивам;)

Righter 05-07-2007 18:54 608658

Вложений: 1
Помогите, пожалуйста, найти ошибку в аддоне. Я в inf мало что понимаю. Собрал аддон по технологии предложенной на этом форуме. Но после этого аддона, например, не отрабатывает аддон MatchUp!

jameszero 05-07-2007 19:24 608663

Righter
http://forum.oszone.net/post-401229-374.html
Цитата:

Цитата Petya V4sechkin
Файлы Sysoc и Run должны заканчиваться пустой строкой.

В конце txtsetup и dosnet тоже желательно оставлять пустую строчку

Righter 06-07-2007 02:57 608857

jameszero
Спасибо, помогло.

vabank 08-07-2007 16:18 610009

привет! я тут наткнулся на один хотфикс + рег ключ в пакете утилит для ноутбука HP. так эти файлы делают так, чтобы четвертая кнопка спящий режим в ХР тоже появился. хотелось бы как-нить их уже внедрить в дистрибьютивчик. не поможете? заранее благодарен.

XXXler 08-07-2007 17:25 610030

vabank, [addon] Msgina - Добавляет кнопку "Спящий режим" в меню выключения компьютера (KB893056)

Bewza 10-07-2007 14:01 611002

Доброго времени суток всем.
Столкнулся вот с такой проблемой: не удаляется ярлык из суб директории с помощью инфа.
Ярлыки создаются, как положено, но при деинсталяции - остаются.

Необходимые секции:
Код:

[AIMP]
<разное всякое>
ProfileItems=AIMP.AddShortcut,UTIL.AddShortcut
Uninstall=AIMP.Uninstall

[AIMP.Uninstall]
<разное всякое>
Run=AIMP.AdvInfCall
ProfileItems=AIMP.DelShortcut,UTIL.DelShortcut

[AIMP.AddShortcut]
Name                = "%APPNAME%"
CmdLine        = 16422,"%APPNAME%",cAIMP.exe
SubDir                = "%NON_MS%\%APPNAME%"
WorkingDir        = 16422,"%APPNAME%"
InfoTip                = "Мультимедиа центр"

[UTIL.AddShortcut]
Name                = "AIMP Utils"
CmdLine        = 16422,"%APPNAME%",AIMP_Utils.exe
SubDir                = "%NON_MS%\%APPNAME%"
WorkingDir        = 16422,"%APPNAME%"
InfoTip                = "Утилиты мультимедиа"

[AIMP.DelShortcut]
Name                = "%APPNAME%", 0х00000002
Subdir                = "%NON_MS%\%APPNAME%"

[UTIL.DelShortcut]
Name                = "AIMP Utils", 0х00000002
Subdir                = "%NON_MS%\%APPNAME%"

[Strings]
APPNAME                = "AIMP Classic"
NON_MS                = "Soft"

У меня появляется желание удалить их через DelDirs, но хотелось бы разобраться

garbals 18-07-2007 20:34 615460

может кто подскажет почему не срабатывает ключ -y у архива 7z
и где капать

Fanzuga 11-08-2007 18:21 626317

Такой вопрос: как средствами аддона удалить\отредактировать строку в sysoc.inf?

Real Root 12-08-2007 19:20 626632

Случайно ниукого нет софтины, чтоб инф файл в батничек переконвертировать. Просто нужно обновить уже установленную систему, в которой почемуто не устанавливаются инфы (Правый клик - установить - не работает, по крайней мере файлы не копируются). А к компу подключено очень специфичное оборудование, которое требует много дров и программу-управлялку этой железкой. Короче, настраивать специалисту очень долго, да и вызов такового стоит очень дорого.

Немного не в тему, но задать подобный вопрос негде:
Случайно ниукого нет софтины, чтоб инф файл в батничек переконвертировать. Просто нужно обновить уже установленную систему, в которой почемуто не устанавливаются инфы (Правый клик - установить - не работает, по крайней мере файлы не копируются). А к компу подключено очень специфичное оборудование, которое требует много дров и программу-управлялку этой железкой. Короче, настраивать специалисту очень долго, да и вызов такового стоит очень дорого.

vserd 13-08-2007 10:34 626818

Real Root,
%systemRoot%\system32\rundll32.exe advpack.dll,LaunchINFSection %1, DefaultInstall

вместо %1 полный путь к inf-файлу.

jameszero 13-08-2007 11:17 626837

vserd, секции DefaultInstall в аддоне может не быть, по крайней мере у нас, её наличие не выдвинуто обязательным условием при выкладывании аддона. Вместо DefaultInstall придётся подставлять то, что в секции [Optional Components] - для каждого аддона своё.

А если нет DefaultInstall, то и установка из контекстного меню не работает.

Real Root, вот такой вариант, на примере аддона Scanner. Открываем его inf
Код:

[Optional Components]
scn2

[scn2]
OptionDesc="Scanner 2.8"
Tip="Визуальный просмотр содержимого дисков и папок"
IconIndex=42
Parent=NonMS
Modes=0,1,2,3
CopyFiles=scn2.Copy
AddReg=AddShell.Menu
ProfileItems=scn2.AddShortcut
SizeApproximation=176814
Uninstall=scn2.Uninstall
...

и добавляем, в любое место секцию DefaultInstall с директивами копирования файлов, внесения записей в реестр и создания ярлыков (в других аддонах, может быть по другому)
Код:

[DefaultInstall]
CopyFiles=scn2.Copy
AddReg=AddShell.Menu
ProfileItems=scn2.AddShortcut

Аддон становится универсальным, появляется возможность его установки из контекстного меню и способом предложенным vserd

vserd 13-08-2007 11:55 626861

jameszero, если честно, я так и не понял, у Real Root не обновляются все инфы или только которые от аддонов, но вроде Петя безусловным требованием выдвигает условие что пак не может быть установлен как обновление. И устанавливать аддоны просто так, в общем случае, не получится, там может быть завязана логика на другие служебные файлы.
А если запускать установку из винды по winnt32, то должно все сработать.....

И спасибо за разъяснение почему иногда контекстное меню не срабатывает. :))
Только остается вопрос, а как система тогда определяет какую секцию запускать когда установка идет через добавление нового оборудования или диспетчер устройств???

jameszero 13-08-2007 12:54 626889

vserd, установить пак и аддоны, заменяющие файлы дистрибутива - (IE7, WMP11...), так не получится, а программы сторонних разработчиков можно.
Цитата:

как система тогда определяет какую секцию запускать когда установка идет через добавление нового оборудования или диспетчер устройств???
Добавление оборудования это вопрос отдельный, а рассмотреть как устанавливаются программы из "Установки компонентов Windows" можно.
Взять тот же аддон Scanner, он добавляет в файл sysoc.inf строчку
Код:

scn2=ocgen.dll,OcEntry,scn2.inf,,7
Прочесть её можно так: найти секцию scn2 в файле scn2.inf и выполнить все перечисленные в ней директивы.
Это же, можно реализовать вашим вариантом
Код:

%systemRoot%\system32\rundll32.exe advpack.dll,LaunchINFSection \путь\scn2.inf, scn2

gora 15-08-2007 11:02 627861

Прочитал всю ветку, но доступных моему пониманию примеров изготовления аддонов так и не нашел! Неужели ни кто из авторов аддонов не может написать пример создания своего аддона с разъяснениями всех шагов, что б можно было повторить и поучиться? Или это большой секрет?

XXXler, попробовал использовать ваш скрипт из 30-го поста. Вопросы:
1 Что за файлы PreCompile.exe, PreCompile.lst и upd создаются вместе с файлами аддона? )(С остальными вроде понятно.)
2 Их назначение и как их использовать?
3 Почему не создается сразу cab файл?

jameszero 15-08-2007 14:22 627995

gora,
Цитата:

Неужели ни кто из авторов аддонов не может написать пример создания своего аддона с разъяснениями всех шагов, что б можно было повторить и поучиться?
Мочь то многие могут но, как в подписи у Boa Soft - "Человеческая лень - главная движущая сила технического прогресса." :)

По поводу скрипта XXXler - штука удобная, спору нет. PreCompile.exe, PreCompile.lst и папка Src используются при подготовке файлов аддона, в дальнейшем, в большинстве случаев не нужны, а файл upd, как раз и создаёт cab архив, и сжимает inf. Достаточно переименовать upd в upd.cmd и выполнить.
Почему cab не создаётся сразу - скрипт генерирует только секции копирования и деинсталляции файлов (собственно, самая рутинная работа), а добавление ярлыков, записей в реестр, регистрацию библиотек и др. корректировки, нужно прописывать вручную, естественно, это удобнее делать с исходными не сжатыми файлами. Когда всё готово, запускается upd.cmd
Либо же, он будет запущен самим UpdatePack в ходе интеграции, это штатная функция:
Цитата:

Цитата http://forum.oszone.net/post-401229-374.html
Может быть еще один файлик для обновления: Upd (при его обнаружении скрипт удаляет папку Compressed, переименовывает Upd в Upd.cmd и выполняет, причем при выполнении текущей директорией становится папка аддона).


gora 15-08-2007 14:55 628023

jameszero, спасибо за ликбез. :)
Цитата:

Цитата jameszero
"Человеческая лень - главная движущая сила технического прогресса."

Так она и должна бы заставить "гуру" поделиться своими знаниями с подрастающим поколением, дабы снять со своих плеч часть работы по созданию аддонов и переложить ее на "молодежь".
Цитата:

Цитата jameszero
а добавление ярлыков, записей в реестр, регистрацию библиотек и др. корректировки, нужно прописывать вручную

Вот здесь бы чуть подробнее и с примерами - цены б Вам не было ;). А то как доходит до этого места, так обычно начинаются очень "ученые" фразы и ..."куды бедному крестьянину податься!?" Я не против "научности", но надо учитывать, что здесь не только "гуру" "тусуются", но и простой НАРОД заходит, поучиться у них (у "гуру") чему то.
Еще раз спасибо за помощь, но может кто то из ВАС повернется лицом к новичкам да и напишет инструкцию с примерами! А!? Или
Цитата:

Цитата jameszero
Где ты ни на что не способен - там ты не должен ничего хотеть

???

vserd 15-08-2007 15:18 628034

gora,
Цитата:

Я не против "научности", но надо учитывать, что здесь не только "гуру" "тусуются", но и простой НАРОД заходит, поучиться у них (у "гуру") чему то.
А гуру становятся только когда ручкми тонны информационной породы перевернут, за одно подчерпывая другую полезную инфу....
Цитата:

Цитата gora
может кто то из ВАС повернется лицом к новичкам да и напишет инструкцию с примерами

Спасиение утопающих дело самих утопающих.... :)
Гуру или кто-либо другой знающий пишут инструкции только когда их достанут.... или вдохновение накатит... или звезды на небе определенным образом встанут..... :)))), в общем редко. И не благодарная это работа, столько труда, а никто не читает :(.
А во всех остальных случаях написание инструкции явзяется делом начинающего, в качестве задания по упорядочиванию накопленной инфы. :(
А теперь серьезно.
Напиши ЧАВО по результатам чтения форума, а вопросы которые не раскрыты оставь без ответов, там и ответы появятся, кто-то будет читать и споткнется на отсутствии ответа, и даст ответ.

dimich22 15-08-2007 15:42 628054

Попробую ответить. Это, конечно, не ответ по существу, но, может, подтолкнет к решению проблемы. Сразу оговорюсь - я не считаю себя гуру (но всегда стремлюсь к некому идеалу), хотя определенный опыт, естественно, есть.
Итак, когда мне первый раз пришлось столкнуться с вашей проблемой (или, вернее, желанием), то я первым делом просмотрел существующие аддоны, но мало что в них понял. Руки немного опустились, но нежелание выглядеть уж совсем тупым заставило начать разбираться в их структуре. Сильно помогли ссылки, приведенные в первом посте этой темы. Там есть опять же примеры, да и секции расписаны. Ну и, конечно, скрипт для создания inf-файлов тоже. Да, он создает некий скелет, но добавить "мясо" уже легче, особенно сравнив свой аддон с уже существующими. На мой взгляд здесь нет некоего универсального решения (потому и скрипт так написан) и в каждом конкретном случае нужен индивидуальный подход. Понимание придет с опытом, методом проб и ошибок. Но зато труд будет вознагражден - можно будет делать то, что нравится. И еще полезная утилита, ссылки на которую есть практически везде - reg2inf.
Да, конечно, не могу здесь (в моем случае это так, да наверное многие со мной согласятся) не отметить личный вклад одного человека - jameszero, без помощи и поддержки которого было бы намного сложнее. Это не значит, что он разжевывает все и всем, но задает верный импульс движения.
Вот, пожалуй, мой ответ.

gora 15-08-2007 15:43 628055

vserd, ваша позиция понятна.
Цитата:

Цитата vserd
написание инструкции явзяется делом начинающего, в качестве задания по упорядочиванию накопленной инфы.

Но сначала ее нужно накопить! Так что, приступаю к накапливанию ;) .
Цитата:

Цитата vserd
Напиши ЧАВО по результатам чтения форума

ЧАВО состоящее из одних вопросов, неправильно и неграмотно сформулированных, конечно повеселит "продвинутых" пользователей, но вряд ли сдвинет дело с мертвой точки. В общем мне даже ЧАВО писать рановато.
Извините, что побеспокоил.
С уважением...

vserd 15-08-2007 16:13 628074

Цитата:

Цитата gora
Напиши ЧАВО по результатам чтения форума
ЧАВО состоящее из одних вопросов, неправильно и неграмотно сформулированных, конечно повеселит "продвинутых" пользователей, но вряд ли сдвинет дело с мертвой точки

А вы попробуйте.... Для себя....

Не знаю как другие, а я начинаю с поиска инфы из доступных мне источников. И упорядочивание инфы, которая накоплена и еще не упорядочена, является способом утрясания своих знаний.

Через некоторое время, после накопления опыта, изучения других матреиалов, по результатам положительного или отрицательного опыта, этот список перетряхивается, отбивается привязка к конкрентым обстоятельствам (например "как создать ярлык в папке yyyy?" переформулируется в "как создать ярлык "), и возможно публикуется...

Если вы думаете что люди в накоплении инфы и знаний различаются, то могу вас огорчить, они не различаются. Осознание проблемы->формалирование чего хочу->поиск инфы/практики с почти нулевым прогресом-> накопление достаточного уровня для перехода кол-ва в качество-> наращивание объема и качества знаний/практики.

Что касаемо аддонов, то нужно смотреть исходники благо они открыты (прийдется перелопатить несколько десятков мегабайт пустой породы ради пары строчек, но они будут того стоить). И читать доп. инфу, пользоваться гуглением и яндексением. А желание прийти и воспользоваться уже готовым понятно, и принимается, но к сожалению не всегда осущетсвимо.
Так что если гора не идет к Магомету, то Магомету прийдется прийти к горе....

jameszero 15-08-2007 16:37 628092

Ладно, давайте не оффтопить.
Сделаю мануал :) Будет, шаг за шагом, расписан ход создания одного из моих аддонов (какого, пока секрет). Оформлю скорее всего в ворде, потому что, ещё не представляю объёма, но для поста будет длинновато.
Думаю, неделю на это вы мне дадите))

gora 17-08-2007 09:13 628887

Пытаюсь зарегистрировать библиотеку IE7Pro.dll находящуюся в папке программы c:\Program Files\IE7Pro\ . Пробовал так:
Код:

[IE7Pr_.Register]
11,%16422%\IE7Pro,IE7Pro.dll,1

и так:
[IE7Pr_.Register]
11,"%16422%/IE7Pro",IE7Pro.dll,1

не получается :( .
Строки:
RegisterDlls=IE7Pr_.Register и UnRegisterDlls=IE7Pr_.Register
имеются. Где я не прав?

jameszero 17-08-2007 09:47 628898

gora
Нужно так
Код:

[IE7Pr_.Register]
16422,"IE7Pro",IE7Pro.dll,1

Using Dirids
11 - System32
16422 - Program Files

jameszero 20-08-2007 16:56 630308

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

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

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

gora 05-09-2007 11:21 638482

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. Что это такое?

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

jameszero 05-09-2007 15:17 638637

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 в мануал

gora 05-09-2007 16:26 638680

Цитата:

Цитата jameszero
Запуск файла из inf можно осуществить так »

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

jameszero 05-09-2007 19:53 638786

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 и поймёте, что к чему.

gora 06-09-2007 08:53 638993

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 и будет ли создана такая папка, если ее нет? Можно ли использовать абсолютный или относительный путь и переменные среды в нем?

jameszero 06-09-2007 12:03 639116

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"


gora 06-09-2007 13:28 639164

jameszero, 11.1
Цитата:

Цитата gora
А кто следит, чтобы не было коллизии между именами файлов из разных аддонах или ее там быть не может? »

Цитата:

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


jameszero 06-09-2007 19:08 639316

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, переменные среды не используются.

gora 06-09-2007 20:37 639343

Цитата:

Цитата jameszero
%USERPROFILE% ещё не существует во время установки аддонов

Тогда разъясните как это работает.
По этому пути IE7Pro\Files\ForceCopy\SVCPACK\ лежит файл install_.cmd следующего содержания
Код:

@echo off
mkdir "%USERPROFILE%\Application Data\IE7pro"
copy /y "%PROGRAMFILES%\IE7Pro\conf.ini" "%USERPROFILE%\Application Data\IE7pro"
copy /y "%PROGRAMFILES%\IE7Pro\plugin.ini" "%USERPROFILE%\Application Data\IE7pro"
del "%PROGRAMFILES%\IE7Pro\conf.ini"
del "%PROGRAMFILES%\IE7Pro\plugin.ini"
exit

и запускается из файла Run командой install_.cmd. И это реально работает! После установки системы файлы таки оказываются в указанном месте.
Цитата:

Цитата jameszero
в разных cab-ах могут быть одинаковые файлы

А если файлы расположены не в cab-ах, а как в описанном выше случае в папках Svcpack. В этом случае тоже не будет коллизии имен?

jameszero 06-09-2007 22:26 639406

gora, я почему то решил, что вас интересует копирование файлов в рабочий, а не в дефолтный профиль.
В вашем примере, переменная %USERPROFILE% = профилю Default User, пока не будет создан реальный профиль.
из inf задача реализуется так
Код:

[DestinationDirs]
file.Copy=53,"Application Data\IE7pro"

--
Если в папках SVCPACK будут файлы с одинаковыми именами, то естественно, ничего хорошего не получится. Один файл будет перезаписан другим.

asmol 18-09-2007 08:14 645352

Сделал адднон HTMLINFO который формирует в корневой папке вашего дистрибитива файл ADDONS.HTM вместо ADDONS.TXT.

- Импортируется CSS стиль, взят из файла README.HTM дистрибутива
- Автоматически создается "Содержание", работают переходы к разделу и назад к содержанию
- Добавляются разделы "Ведение", "OEM информация" и "Благодарности"
- Добавляеются *.NFO файлы из всех установленных аддонов
- Если есть HTML.NFO из него берется заголовок и текст с HTML разметкой
- txt формат (ADDON.NFO) добавляется как преформатированная секция

igorgn 22-09-2007 23:17 647838

Вопрос на засыпку. Можно ли патчить наборами аддонов 64-разрядную XP?

vserd 23-09-2007 13:22 648020

Цитата:

Цитата igorgn
Можно ли патчить наборами аддонов 64-разрядную XP »

IMHO, Общий ответ НЕТ. Т.к. обновления от х86, а тебе нужны х64. Если их заменить на х64, то ДА. Ну и программы можно попробовать ставить.

Всем
как можно в аддоне в Required задать условие OR (или)?
т.е. требуется аддон А или аддон Я. В текущей реализации идет объедененеие по И.

VitRom 07-10-2007 17:13 655697

asmol, идея ничего, но для полной крутизны надо бы ещё (или уже есть?) вставлять ссылку на твой файл где-нибудь в самом начале "официального" readme.htm

jameszero 08-10-2007 10:31 656125

Добавил в пост с утилитами контекстного меню набор CAB Tool. Описание там же.

gora 08-10-2007 12:09 656202

Цитата:

Цитата jameszero
Описание там же. »

Считаю необходимым/крайне_желательным добавить описание в виде ридми в указанный архив - будет удобнее. А то потом вспоминай, что там и для чего.
И про ключ /REMOVE для 3_SendTo_CAB_Tool.exe тоже бы не плохо упомянуть.

jameszero 08-10-2007 13:27 656265

gora, учтено.

gora 08-10-2007 13:51 656289

Цитата:

Цитата jameszero
Для удаления CAB Tool из системы, нужно извлечь из архива файл INSTALL.VBS и выполнить его с параметром /REMOVE

Можно и не извлекать! можно просто указать 3_SendTo_CAB_Tool.exe /REMOVE и модуль старательно передаст незнакомый ключ в строку RunProgram="hidcon:\"cscript.exe\" INSTALL.VBS" ;)

gora 11-10-2007 11:49 658321

jameszero, продолжу свой FAQ
16 Какие существуют правила к написанию строк в файле Run? Пример:
Код:

TCx7zSFXBtn.exe -ai -! "C:\Program Files\Total Commander"
Данная строка корректно работает при запуске указанного 7z SFX архива на "живой" системе и не срабатывает в аддоне при установке Windows (в файле svcpack.inf запись присутствует в неискаженном виде, проверил). Параметр "C:\Program Files\Total Commander" должен быть передан в исполняемую программу, но передается лишь его часть, а именно C:\Program . Какие правила я нарушил и как писать параметр с пробелами, в данном случае, в файле Run?

jameszero 11-10-2007 12:59 658368

gora
Такие эксперименты я не проводил. Затрудняюсь ответить.

Boa Soft 11-10-2007 13:06 658373

gora,

На сколько я помню, SVCPACK понимает только короткие имена. Попробуйте положить в svcpack
cmd и в нем уже выполнять команды.

gora 11-10-2007 13:41 658400

Boa Soft, Вы имеете ввиду длину имени TCx7zSFXBtn.exe ? Так я делал его и TCxBtn.exe и с тем же результатом. Хотя у меня есть пример длинного имени которое нормально обрабатывается: UltraISO.exe /VERYSILENT, UltraISOreg.exe)
А про cmd, попробую, но не очень это красиво получается, хотя, если не найду другого пути, то... Меня интересует вопрос: почему не_обрабатываются/не_правильно_обрабатываются кавычки? Они что, не учитываются в SVCPACK !?

jameszero 11-10-2007 14:04 658424

Вложений: 1
Отвечаю на вопрос в теме c аддоном Miranda IM.
Есть ряд программ, которые для установки достаточно просто скопировать в нужную директорию, создать ярлыки, добавить записи в реестр (последнее опционально)
К таким программам относится и Miranda.
В аддоне я использовал следующий inf файл
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[Optional Components]
Uninst7

[Uninst7]
OptionDesc                        =%PROG_NAME%
Modes                                =0,1,2,3
AddReg                        =PROG.AddReg
ProfileItems                        =PROG.AddShortcut
Uninstall                        =mUninst.Uninstall

[DefaultInstall]
OptionDesc                        =%PROG_NAME%
Modes                                =0,1,2,3
AddReg                        =PROG.AddReg
ProfileItems                        =PROG.AddShortcut
Uninstall                        =mUninst.Uninstall

[Uninstall]
BeginPrompt                        =BeginUnInsPrompt
RunPreSetupCommands        =Close.Prog:1
RunPostSetupCommands        =Dir.Delete
EndPrompt                        =EndUnInsPrompt
DelReg                        =PROG.DelReg
ProfileItems                        =PROG.DelShortcut

[BeginUnInsPrompt]
Title=Деинсталляция %PROG_NAME%
Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType=YESNO

[Close.Prog]
TASKKILL /F /IM %PROG_1%
TSKILL %PROG_2%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.

[PROG.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayName",,%PROG_NAME%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayVersion",,"v%PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","Publisher",,"%PROG_MADE%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon"

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[Strings]
PROG_DIR        ="Miranda IM"
PROG_NAME        ="Miranda IM"
SRTC_NAME        ="Miranda IM"
PROG_VERS        ="0.7"
PROG_MADE        ="oszone.net"
PROG_URL        ="http://forum.oszone.net/forum-62.html"
PROG_INF        ="Uninst7.inf"
PROG_1        =miranda32.exe
PROG_2        =miranda32
PROG_SDIR        =""
PROG_INFO        ="Программа для общения по ICQ протоколу"

При редактировании только одной секции [String] и переименовании секции инсталляции, можно использовать этот inf для установки/удаления других аддонов. Аддоны должны быть комбинированные, т.е. сначала из sysoc срабатывает данный inf файл, а затем из SVCPACK запускается sfx архив, созданый любым доступным способом, при этом, sfx архив должен просто распаковать файлы в нужную директорию.
Создание ярлыков, внесение информации в реестр (в том числе о деинсталляции) реализовано в inf файле.

Деинсталляция перенесена из привычного для sysoc аддонов места "Установка компонентов Windows" в Установку и удаление программ"
При деинсталляции будет выдан запрос "Вы действительно хотите удалить такую то программу?",
Если программа в данный момент запущена, она будет выгружена из памяти, далее произойдёт удаление директории с программой, ярлыков, записей реестра.
По окончании деинсталляции будет сообщено "Программа такая то удалена"

Приведу пример inf-а для программы Test,
Директория установки - Program Files\Утилиты\Folder\Test
Ярлык - Пуск\Программы\Утилиты\Ярлык Test Program.lnk
Код:

[Optional Components]
Uninst8

[Uninst8]
OptionDesc                        =%PROG_NAME%
Modes                                =0,1,2,3
AddReg                        =PROG.AddReg
ProfileItems                        =PROG.AddShortcut
Uninstall                        =mUninst.Uninstall

<skip>

[Strings]
PROG_DIR        ="Утилиты\Folder\Test"
PROG_NAME        ="Test Program"
SRTC_NAME        ="Ярлык Test Program"
PROG_VERS        ="0.0.0.1"
PROG_MADE        ="oszone.net"
PROG_URL        ="http://forum.oszone.net/forum-62.html"
PROG_INF        ="Uninst8.inf"
PROG_1        =test.exe
PROG_2        =test
PROG_SDIR        ="Утилиты"
PROG_INFO        ="Программа для примера работы inf файла"

Так же, в файлах txtsetup, dosnet, sysoc необходимо заменить все Uninst7 на Uninst8
И переименовать сам файл Uninst7.inf в Uninst8.inf.
Идея подсмотрена здесь
Пустышку аддона Miranda прикрепил к посту. В sfx архиве реализована защита от случайного запуска.
Если возникли вопросы, спрашивайте.

gora 11-10-2007 14:56 658450

Спасибо за разъяснения, но откликаясь на ваше предложение ;) задавать вопросы, спрошу:
а)
Цитата:

Цитата jameszero
переименовании секции инсталляции »

А что это за число которое там используется? Оно может быть любым или зависит от чего то? Может быть оно буквой или словом?
б)
Цитата:

Цитата jameszero
sfx архив должен просто распаковать файлы в нужную директорию.
Создание ярлыков, внесение информации в реестр (в том числе о деинсталляции) реализовано в inf файле. »

Если я правильно понял, то в sfx архиве все таки МОЖНО делать ярлыки и записи в реестр, но НЕ нужно т.к. все они НЕ будут удалены при деинсталляции. Я прав?
в) Если sfx архив распакует некоторые файлы/папки не основную папку программы, то деинсталлятор не будет знать об этом и, соответственно, не удалит их, удалив при этом основную папку программы. Это так?
г) Создать ярлык можно только в Пуск\Программы\... или можно и на панель быстрого запуска, или и туда и туда одновременно?

jameszero 11-10-2007 16:37 658550

gora,
а) секции установки, как и имена файлов могут называться произвольно, цифры, буквы - не важно. Критично только переименовывать inf файл, чтобы имя не дублировалось от аддона к аддону, а название секции можно не менять. Я всего лишь для единообразия сделал название секции и имя inf-а совпадающими.

б) ярлыки и записи в реестр можно создавать и sfx архивом, просто тогда нужно будет предусмотреть их удаление из inf

в) можно предусмотреть удаление файлов, добавив DelFiles в inf, но тогда, как и в предыдущем случае, inf становится не универсальным. Сабж больше подходит для установки простейших программ, которых не мало.

г) можно создать и несколько ярлыков, просто придётся внести больше измений в inf
На рабочем соле, например, ярлык создастся, если присвоить переменной PROG_SDIR следуюшее значение
Код:

PROG_SDIR        ="..\..\Рабочий стол"
Как поместить ярлык в панель быстрого запуска, простого способа я не знаю.

Предложенный inf всего лишь шаблон и, конечно, его можно дополнять секциями удаления файлов, дерегистрации библиотек...
У меня ряд программ устанавливается из sfx архивов, а встраивать в каждый архив механизм деинсталляции трудоёмко и я сделал inf файл, который значительно облегчил задачу. Возможно, кто то ещё найдёт его полезным.

Boa Soft 12-10-2007 01:57 658814

jameszero,
Цитата:

Цитата jameszero
Предложенный inf всего лишь шаблон и, конечно, его можно дополнять секциями удаления файлов, дерегистрации библиотек...
У меня ряд программ устанавливается из sfx архивов, а встраивать в каждый архив механизм деинсталляции трудоёмко и я сделал inf файл, который значительно облегчил задачу. Возможно, кто то ещё найдёт его полезным. »


Для таких вещей Inno Setup очень даже рулит. Если потратить час - другой на разбор продукта, то потом можно клепать полноценные проффесионально сделанные инсталляторы за 10-20 минут!

http://www.jrsoftware.org

Бесплатное, инсталлятор можно сделать локализованным, ключик /VERYSILENT дает абсолютно тихую установку. На T12-T13 отрабатывает великолепно.

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

jameszero 12-10-2007 08:43 658870

Boa Soft
Inno Setup я использую, есть у меня и под него простейшие шабоны, наподобие этого, есть скрипты и посерьёзней. Просто, иной раз, при интеграции программы в 100Кб, упаковка в Inno Setup не целесообразна потому, что значительно увеличивает размер программы по сравнению с полезным.
К тому же, мне хотелось сделать аддон Miranda доступным для самостоятельного обновления (в виде конструктора)
Обновить sfx архив перетянув в него файлы, смогут практически все, а по Inno Setup нужно будет проводить ликбез.

vek 12-10-2007 10:18 658925

Boa Soft,
А в InnoSetup есть функция чтобы абсолютно тихая установка была "по умолчанию" без ключика?

gora 15-10-2007 09:57 660694

jameszero, изучив ваш шаблон для аддона, сделал свой аддон-конструктор для ТС.
Перед собой ставил задачу:
1 7z SFX архив в аддоне должен быть универсальным (с возможностью установки как а составе аддона, так и на "живую" систему).
2 Должна иметься возможность деинсталляции ТС.
3 7z SFX архив должен быть самодостаточен (не требуется ни каких дополнительных внешних файлов).
4 "Нестандартное" место установки ТС и название папки установки (c:\totalcmd).
5 Создание ярлыков на рабочий стол и панель быстрого запуска и их автоматическое удаление при деинсталляции ТС.

Полученный аддон-конструктор для ТС (проверил: работает и при установке в качестве аддона, и при установке на "живую" систему) прикрепил к посту. Если сочтете возможным, посмотрите пожалуйста и подскажите - может я где то ошибся.

jameszero 15-10-2007 11:55 660779

Вложений: 1
gora
У меня в предложенном варианте не отрабатывает деинсталляция. Если убрать из строки деинсталляции hidcon или прописать путь к Uninstall.bat то всё нормально.
Код:

так
C:\totalcmd\Uninstall.bat
или так
C:\totalcmd\hidcon C:\totalcmd\Uninstall.bat

Можно ещё сделать деинсталлятор средствами sfx 7z (пример установочного файла во вложении)

PS: BeginPrompt из inf-а убран намеренно?

gora 15-10-2007 12:27 660812

Цитата:

Цитата jameszero
У меня в предложенном варианте не отрабатывает деинсталляция. »

Очень странно. :( У меня все отрабатывается (сделал два аддона ТС и Миранды и все в порядке). Правда я не уверен в %24%\%PROG_DIR%\hidcon Uninstall.bat. Притаскивает эта переменная с собой слеш в конце или нет!? А Вы у себя не потерли файлы Uninstall.bat и hidcon.exe внутри моего архива при проверке (понимаю, что глупость спрашиваю, но всякое бывает)?
Цитата:

Цитата jameszero
Можно ещё сделать деинсталлятор средствами sfx 7z (пример установочного файла во вложении) »

Это я знаю, но хотел без дополнительного увеличения объема обойтись. Ваш вариант обязательно посмотрю.
Цитата:

Цитата jameszero
BeginPrompt из inf-а убран намеренно? »

Да. Отмена деинсталяции в нем не спасала от удаления ярлыка с панели быстрого запуска. :( Вот и решил обойтись без него.

PS Вы оказались правы. Сейчас запустил на работе и деинсталляция без указанных Вами изменений не прошла. :( Буду разбираться, спасибо.

jameszero 15-10-2007 12:40 660830

Цитата:

Цитата gora
А Вы у себя не потерли файлы Uninstall.bat и hidcon.exe внутри моего архива при проверке »

Естественно. Проверял "как есть".

vek 15-10-2007 22:59 661261

jameszero,
Посмотрел пример с деинсталятором (вообще идея понравилась, спасибо), но несколько вопросов:
1) Почему Uninstall копируется в %WINDIR% а не в папку программы?
2) Зачем создавать и впоследствии удалять ярлыки, с помощью 7z, если этот-же процесс все равно предусмотрен в Inf?

jameszero 16-10-2007 09:03 661398

vek,
Цитата:

Цитата vek
Почему Uninstall копируется в %WINDIR% а не в папку программы? »

Просто папка с программой не удалится если из неё будет запущен файл, она будет занята процессом.
Можно копировать не в %WINDIR%, а по общей договорённости, складывать файлы Uninstall от разных аддонов, в какой то произвольной папке.
Цитата:

Цитата vek
Зачем создавать и впоследствии удалять ярлыки, с помощью 7z, если этот-же процесс все равно предусмотрен в Inf? »

C помощью sfx создаётся/удаляется ярлык в Quick Launch, если знаете, как это сделать из inf - поделитесь.


--
Может кому пригодится:
Cоздание/удаление ярлыка в контекстном меню "Отправить" (SendTo) с помощью inf
Код:

[Version]
Signature="$Windows NT$"

[DefaultInstall]
ProfileItems                =PROG.AddShortcut

[Uninstall]
ProfileItems                =PROG.DelShortcut

[PROG.AddShortcut]
Name      = "Send_To_Shortcut",0x00000008,9
CmdLine    = 11,,prog.exe

[PROG.DelShortcut]
Name      = "Send_To_Shortcut",0x0000000A,9


gora 16-10-2007 13:05 661561

Мне все таки удалось довести аддон-конструктор (не без помощи jameszero конечно ;) ), но в отличии от его варианта деисталлятор располагается и запускается в папке программы. После деинсталляции папка программы, деинсталлятор как и все файлы связанные с программой удаляются.
Результаты прикрепил к посту. Посмотрите, может кому то окажется полезным.

vek 16-10-2007 13:59 661607

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

HKLM,"%UNINSTALL%","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection C:\Example.inf, DefaultInstall"
Прекрасно обрабатывает секцию в Inf-файле:
Код:

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %24%\%PROG_DIR%

т.е. папка программы со всем содержимым удаляется!
Или это не всегда срабатывает?

gora 16-10-2007 14:09 661616

vek, задачи, которые я ставил при создании аддона конструктора изложены в посте 211. Как создать ярлык на панели быстрого запуска и удалить его силами Inf-файла я не знаю. :( Знаете - подскажите.

vek 16-10-2007 14:21 661624

gora
Так дело выходит только в ярлыке Quick Launch, и Uninstall.exe нужен лишь для того, чтобы его удалить? Тогда ссори, я просто никогда не ставил задачи установить ярлык в Quick Launch, но подумаю, может найду какой-то вариант.

jameszero 16-10-2007 15:34 661694

gora
Эврика! Методом перебора флагов и небольшой смекалки, нашёл способ создания и удаления ярлыка в Quick Launch

Код:

[Version]
Signature="$Windows NT$"

[DefaultInstall]
ProfileItems        =PROG.AddShortcut

[Uninstall]
ProfileItems        =PROG.DelShortcut

[PROG.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR%

[Strings]
PROG_DIR        ="test_dir"
SRTC_NAME        ="Test_Shortcut"
PROG_1                =test.exe
PROG_SDIR        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Test_Info"

Нужно только проверить, как это будет работать в аддоне с Default Profile
Я проверял на рабочем профиле.

gora 16-10-2007 16:00 661722

jameszero, а два (три) ярлыка одновременно в инф файле можно сделать? Как, пример, если можно.

jameszero 16-10-2007 16:19 661745

gora
Да, в ProfileItems, через запятую прописываются имена секций создания ярлыков и создаются эти секции.
Код:

[DefaultInstall]
ProfileItems        =PROG.AddShortcut,PROG2.AddShortcut,PROG3.AddShortcut

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine                =16422,%PROG_DIR%,%PROG_1%

[PROG2.AddShortcut]
Name                =%SRTC_NAME2%
CmdLine                =16422,%PROG_DIR%,%PROG_2%

[PROG3.AddShortcut]
Name                =%SRTC_NAME3%
CmdLine                =16422,%PROG_DIR%,%PROG_3%

Удаление ярлыков по аналогии.

vek 16-10-2007 16:43 661769

gora,
Вот тут еще есть немного про создание ярлыков. (И флаги).

gora 16-10-2007 16:57 661782

vek, я читал эту вашу статью и неоднократно, но... не могу ее осилить. :( Слишком много информации и терминов для моего дряхлеющего мозга ;) . Мне бы что нибудь попроще, с примерами: вот установка такой то программы, вот для нее inf файл, эта запись - служит для того то, а эта запись - для того то. И так несколько примеров, от простого к сложному. Но это ИМХО и для других наверное все просто.

gora 17-10-2007 12:51 662214

Цитата:

Цитата jameszero
OptionDesc =%PROG_NAME%" »

А что это за непарная кавычка в конце? Может ее выбросить или наоборот добавить ей парную в начале переменной?

jameszero 17-10-2007 13:40 662242

gora
Кавычка лишняя. Опечатка.

gora 17-10-2007 14:31 662278

jameszero, почему мой вариант с деинсталлятором (приведенный во вчерашнем посте) отображает в апплете "Установка и удаление программ" истинный размер приложения (у меня это около 22Мб), а с последним найденным Вами вариантом (установка и удаление через ини файл) только 0.2Мб? Пробовал прописать в инф файле строку: SizeApproximation =22330357, помогает, но в моем варианте нет этой строки и все равно показывает правильный размер.

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

jameszero 17-10-2007 15:12 662303

gora
В "Установке и удалении программ" по идее, считывается размер папки в которой находится деинсталлятор. Хотя даже MS говорит - "Выполняется оценка требуемого места на диске для программы. Это только оценка и иногда она может быть не точна"
В любом случае, это самый последний параметр на соответствие которого я смотрю, а если быть точнее - не смотрю никогда))
Цитата:

Цитата gora
на рабочем столе ярлык появляется только после перезагрузки »

Достаточно обновлить рабочий стол (F5)

Righter 21-10-2007 13:29 664577

Мне кажется или пакеты MSI нельзя сделать в качестве аддона, а можно только EXE?
Просто пишу в Run - "THEBAT.MSI /quiet", а он упорно не хочет ставиться...

gvshil 21-10-2007 13:41 664581

Цитата:

Цитата Righter
Просто пишу в Run - "THEBAT.MSI /quiet", а он упорно не хочет ставиться... »

Попробуйте THEBAT.MSI /q

Righter 22-10-2007 01:53 664815

Естественно, это не помогло) Странно, что я на это надеялся)
Но по-моему раньше тот же the bat устанавливался из MSI пакета нормально на T13... может в последних версиях что-то с инсталлером сделали...

Vadikan 03-11-2007 02:40 671849

Righter, изучите Типы инсталляторов. Если MSI-пакет не поддерживает стандартные ключи установщика Windows, нужно направлять претензии разработчикам ПО, а не авторам аддонов. Однако не все ПО может быть установлено на Т-13. Помимо аддонов существует множество способов установки программ после установки системы и не надо о них забывать.

Цитата:

Цитата Righter
Естественно, это не помогло) Странно, что я на это надеялся) »

И прекратите ерничать, плиз. Это не поможет вам в решении проблемы. Это - модераториал.

greg_b 03-11-2007 09:35 671908

Вложений: 1
TO_ALL В данной ветке предлагались различные програмки облегчающие работу по написанию inf-файлов, и генерации аддонов. Но иногда с измененем версии надо просто пересобрать cab-файлик, поменяв его содержимое на более свежие версии. Для этого использую самописный батник. Из каталога, где лежат искомые файлики для cab-файла выполняется команда "cab 'имя архива без расширения'", результат работы будет выложен в каталог на один уровень выше. Файл cab.bat необходимо поместить в папку System32.

Debugger 03-11-2007 09:56 671912

Цитата:

Цитата Vadikan
Это - модераториал. »

А что такое "модераториал"? :) Блин, со второй попытки написал правильно.

Vadikan 03-11-2007 19:04 672113

Цитата:

Цитата Debugger
А что такое "модераториал"? »

Ну по смыслу же можно догадаться :) Это официальное сообщение модератора, связанное с поддержанием порядка на форуме, а не решением технической проблемы.

gora 04-11-2007 00:46 672249

Кто нибудь может растолковать "механизм" SVCPACK в плане передачи ключей в инсталлятор или подскажет где можно почитать об этом.
Про проблему с передачей путей с пробелами в кавычках я уже писал в этой ветке раньше, но так и не получил разъяснения, почему при передаче кавычки отбрасываются.
Сейчас столкнулся с новой проблемой:
1 Инсталлятор - 7z SFX архив.
2 Запуск приложения в файле конфигурации осуществляется строкой: RunProgram="EmEditor.msi /q".
3 В файле Run строка запуска такая: EmEditRU.exe -y -gm2 -fm0 -! REGKEY=1111-2222-3333-4444 (ключ конечно стоит правильный, а здесь просто пример).
При установке системы аддон не устанавливается вообще. (При установке на "живую" систему с указанной ком. строкой все встает нормально.)
Пробовал удалять из строки -! не помогло.
Удаление -! REGKEY=1111-2222-3333-4444 приводит к нормальной установке аддона, но без регистрации приложения.
Попробовал избавиться от знака равенства в ключах и разделил ключ так: в файле конфигурации написал RunProgram="EmEditor.msi /q REGKEY=", а файле Run оставил EmEditRU.exe -y -gm2 -fm0 -! 1111-2222-3333-4444. При этом приложение установилось и зарегистрировалось, но не сработали ключи -gm2 -fm0 !!! Т.е. установка прошла не в тихом режиме как предписано!
Что твориться с ключами в этом SVCPACK!? Может кто объяснит?

prokazzza 04-11-2007 00:51 672251

gora, а ты не пробЫвал вот так

EmEditRU.exe -y -gm2 -fm0 -! REGKEY="1111-2222-3333-4444"

gora 04-11-2007 01:08 672259

prokazzza, вообще то не пробовал, но наученный горьким опытом с кавычками в путях не думаю, что поможет. Но попробую. А почитать где про "механизм" не подскажите?

prokazzza 04-11-2007 01:37 672267

Цитата:

Цитата gora
но наученный горьким опытом с кавычками в путях не думаю, что поможет »

Мне помогает при установкии неро, без кавычек не хочет ни в какаю номерок принимать.

Цитата:

Цитата gora
Но попробую. А почитать где про "механизм" не подскажите? »

Не знаю даже :sorry:

gora 04-11-2007 01:55 672271

prokazzza, увы не помогло. Приложение не установилось даже. :(

greg_b 04-11-2007 15:12 672459

gora, думаю bat-файл со строкой вида
EmEditRU.exe -y -gm2 -fm0 -! REGKEY="1111-2222-3333-4444"
вас спасет, так как попытка загнать операнды в кавычках для RunOnceEx или svcpack.ini, чтоб небыло глюка - кавычка на кавычку, кавычкой погоняет у меня монго раз закачивалась багами, посему если возникает такой глюк - загоняю строку установки в батник, все прокатывает. Типа DOS рулит.

prokazzza 04-11-2007 17:05 672526

Да через батник должно установиться.

gora, Почемубы не сделать просто твик с серийником:) Ведь сама программа устанавливается ведь без строчек серийного номера??

gora 04-11-2007 17:46 672553

Цитата:

Цитата greg_b
думаю bat-файл со строкой ... вас спасет, »

Вы предлагаете добавить в файл Run строку с запуском батника из которого будет запускаться 7z SFX архив? Я Вас правильно понял? С консольным окном на время установки? Изложите ваш вариант четче.
Цитата:

Цитата greg_b
кавычка на кавычку, кавычкой погоняет »

Да у меня и без кавычек все ставиться (там они вовсе не нужены) только приходиться вносить серийник в файл конфигурации. Для публичного аддона это не совсем удобно т.к. не все умеют пересобирать 7z SFX архив.
Цитата:

Цитата prokazzza
Почемубы не сделать просто твик с серийником Ведь сама программа устанавливается ведь без строчек серийного номера?? »

Да так и рекомендовал пользователям в первом варианте аддона, но пользователю надо установить программу, зарегистрировать ее, экспортировать ключ реестра (лицензия там прописана не в явном виде) а затем засунуть его в 7z SFX архив. Мне показалось, что будет проще прямой ввод серийника тем более, что он предусмотрен в оригинальном инсталляторе. Я просто передать его не могу из-за непонятного "механизма" передачи ключей через svcpack.
Пока остановился на подстановке ключа в файл конфигурации (пусть учатся перепаковывать), но вариант с твиком тоже оставлен правда для импорта настроек, но может одновременно служить и для регистрации. ;)

greg_b 04-11-2007 21:36 672714

Цитата:

Цитата gora
Вы предлагаете добавить в файл Run строку с запуском батника из которого будет запускаться 7z SFX архив? Я Вас правильно понял? С консольным окном на время установки? Изложите ваш вариант четче. »

Именно так, можно задавить консольные окна при помощи CMDOW.exe - консольная утилита размером в 31 кб, включающая порядка 30 команд управления окнами приложений в операционных системах Windows NT4/2000/XP/2003 без использования мыши. Программа не требует установки и состоит всего из одного файла cmdow.exe, опции запуска которого разработчик разделил на четыре группы, в зависимости от области применения приложения. Батник поправит любой под свои реалии.

gora 04-11-2007 22:49 672755

Цитата:

Цитата greg_b
можно задавить консольные окна при помощи CMDOW.exe - консольная утилита размером в 31 кб »

Скрывать консольные окна я умею и сам. :) Для этого есть утилиты и еще меньше, например, hidcon.exe от Oleg_Sch размером всего 2048 байт! (если кого заинтересует, прикрепил к посту) Но инсталлятор уже будет состоять из трех частей. Это не мой путь, я нашел вроде вариант с одним файлом и без перепаковки. :) Спасибо за участие, но цель обращения в данную ветку была другая: узнать "механизм" передачи ключей в svcpack, а вот этого то я и не узнал. :(

greg_b 05-11-2007 00:02 672805

gora,
Цитата:

Цитата gora
цель обращения в данную ветку была другая: узнать "механизм" передачи ключей в svcpack, а вот этого то я и не узнал. »

, чесно говоря не знаю, ножен на раяне порыть, кстати как варивант встрой в 7z SFX батник, который отрабатвая интсалляцию проги смотрить нет ли к примеру в папке i386\svcpack файла prg.ini , в котором лежит ключик, т.е. у тебя в подпапке svcpack лежит программа для установки и файлик-заглюшка для ключа, человек юзая аддон правит файлик и вуаля. Механизм достаточно прост: если файл существует, считать из него ключ в переменную и поставить программу с нужными параметрами, если файла нет - просто установить программу, ключ будет потом. Я делал нечто подобное для своего cab.bat - подхват переменной.

jameszero 17-11-2007 13:36 680288

Обновил в "контекстных" утилитах версию reg2inf до 0.46

greg_b 17-11-2007 15:58 680358

jameszero, спасиб, удобная прога, сильно помагает.

gora 17-11-2007 19:30 680458

Цитата:

Цитата jameszero
который добавляет в контекстное меню "Отправить" два пункта CAB-IN и CAB-OUT, назначения которых, думаю, понятны.

Я наверно исключение, но так и не смог привыкнуть к этим сокращениям и поэтому перевел их на русский. Если сочтете возможным, замените файл Install.vbs, хотя если другие будут против, то для себя смогу этот сделать и сам. ;)

DizMan 18-11-2007 23:07 681101

gora

EmEditRU.exe -y -gm2 -fm0 -! REGKEY=\"1111-2222-3333-4444\"
или
EmEditRU.exe -y -gm2 -fm0 -! REGKEY="\"1111-2222-3333-4444\""

Есть шанс, что поможет.

-devICE- 18-11-2007 23:26 681111

а как скрыть окошки копирования и удаления файлов которые появляются при установке через INF-файл???

Opolon 24-11-2007 20:49 684696

gora,
Цитата:

Цитата gora
то для себя смогу этот сделать и сам. »

а для других сможете ? :wink:

gora 24-11-2007 23:58 684760

Цитата:

Цитата Opolon
а для других сможете ? »

Могу. :)
Инструменты от jameszero, я лишь позволил себе немного переупаковать их и изменил пункты утилиты SendTo_CAB_Tool в контекстном меню на русские.

Zlodeyz 29-11-2007 10:39 687094

Подскажите можно ли просмотреть какой нибудь прогой какую картинку изменяет respath (любой)
И еще есть у кого список файлов в котором указано какой фаил за какой ресурс отвечает

viksem 29-11-2007 12:40 687155

Zlodeyz,


Цитата:

Цитата Zlodeyz
Подскажите можно ли просмотреть какой нибудь прогой какую картинку изменяет respath (любой)
И еще есть у кого список файлов в котором указано какой фаил за какой ресурс отвечает »

задавайте вопросы в соответствующих темах.
используйте поиск, там уже по 100 раз отвечали

dimich22 04-12-2007 14:59 690278

А можно поправить слово "контекст" в английской транскрипции? А то "contecst" вместо "context" очень в глаза бросается. Странно, что обратил внимание только сейчас, хотя и у jameszero и у gora эта небрежность есть. Спасибо. Не сочтите за придирку.

jameszero 04-12-2007 15:36 690316

gora
А есть возможность сделать SendTo_CAB_Tool с выбором языка для установки?
Я не настолько хорошо знаю модифицированный SFX модуль 7-Zip, как вы :) да и со времением туговато, может возьмётесь реализовать?

gora 04-12-2007 15:44 690323

Цитата:

Цитата jameszero
А есть возможность сделать SendTo_CAB_Tool с выбором языка для установки? »

Вы имеете ввиду автоматический выбор языка в зависимости от языка системы или ручной? В принципе возможность выбора языка есть (если не автоматизировать этот процесс), но только с помощью ключей т.к. Shift уже задействован. Если конкретизируете задачу, я попробую.

dimich22, исправлю. Это видимо оригинал не совсем английский был, а я не стал править название утилиты.

jameszero 04-12-2007 15:51 690334

gora
Не обязательно Silent вариант, его можно предусмотреть с помощью ключей.
Сделать, например, GUI с запросом и двумя кнопками "Русский" и "English".

gora 04-12-2007 16:11 690345

Цитата:

Цитата jameszero
Сделать, например, GUI с запросом и двумя кнопками "Русский" и "English". »

К сожалению модифицированный модуль не предоставляет такой возможности. :( Нужно будет использовать сторонние утилиты для окна (это не проблема) или автоматически, без запроса языка, ставить язык в зависимости от языка системы (русский язык - для русской Windows, английский - для всех остальных). Оба варианта использую в инсталляторе кнопки. Какой вариант Вас устроит?

jameszero 04-12-2007 16:43 690362

Цитата:

Цитата gora
Нужно будет использовать сторонние утилиты для окна »

Не хотелось бы усложнять.
Что ж, пока вопрос с выбором языка снимаю. Выложу ваш вариант с русским интерфейсом в своём посте
Английский вариант тоже наверно оставлю, лично я больше привык к CAB-IN, CAB-OUT :)

gora 04-12-2007 23:08 690630

jameszero, попробовал обойтись без сторонних утилит. Вот что получилось:
интерактивный выбор языка для утилиты SendTo_CAB_tool
деинсталляция её с помощью ключей:
-ai0 (русский язык в контекстном меню)
-ai1 (английский язык в контекстном меню)

Поправил название утилиты Reg2Inf_context_tool (и файлов в ней)

gora 05-12-2007 10:49 690870

Вложений: 2
Компилятор аддонов v7.1 (Compiler_Addon).

Предназначен для автоматизации процесса сборки и обновления аддонов со способом интеграции SVCPACK.
Справки пока нет (и нужна ли кому будет как и сам компилятор :dont-know ), так что небольшая инструкция:
читать дальше »
1 В папке, где будет создаваться аддон (назовем ее просто - "Addon_example"), должны лежать:
папка <name>
файл Run
файл addon.nfo
файл name.ico
файл name_config.txt
файл name.res
файл Html.nfo (опционально)
файл Required (опционально)
файл Conflict (опционально)
файл nsolid (опционально)
Наличие папки и всех перечисленных файлов (кроме опциональных) обязательно. Названия файлов изменять нельзя кроме слова name. Вместо name нужно будет подставить короткое имя аддона. Что это такое, смотрите ниже.

2 В папку name положите все файлы вашей программы. Назначение файлов: Run, addon.nfo, name.ico, Html.nfo, Required, Conflict - думаю понятно.

3 Файл name_config.txt - обыкновенный файл конфигурации для модифицированного модуля от Oleg_Sch с нужными Вам параметрами.

4 Файл name.res - файл "копирайтов" известный пользователям "Кнопки для работы с 7z SFX архивами в ТС". Кто не знаком с его структурой, посмотрите здесь. В нем только добавлены несколько строк для работы Compiler_Addon (на примере аддона DeskHedron_1.00_RU):
;fstbildat=06.11.2008
;name=DeskHedr
;fullname=DeskHedron_1.00_RU
;ComprModule=0
;UpDate=0
;Pass=1
Первая строка - дата первого релиза вашего аддона. (опционально)
Вторая строка - как раз тот самый name, который должен быть во всех именах папки и файлов. Имя должно содержать не более 8 символов и не сдержать пробелов! Это будет имя инсталлятора - 7z SFX архива.
Третья строка - полное имя вашего аддона. Имя может содержать любое число символов (в разумных пределах конечно) и не сдержать пробелов! (желательно)
Четвертая строка - режим сжатия модуля (0 - не сжимать, 1 - сжимать) при создании 7z SFX архива. ПОМНИТЕ: сжатие модуля может вызывать ложное срабатывание антивирусов. * Данный параметр начиная с версии 4.5 игнорируется и сжатие модуля отключено!
Пятая строка - режим возможности последующего обновления 7z SFX архива (0 - нельзя обновлять, 1 - можно обновлять). * Данный параметр начиная с версии 7.1 игнорируется
Шестая строка - Режим однопроходного сжатия. Выходной архив аддона будет упакован без сжатия (режим Copy). Полезно для аддонов в несколько десятков МБ и более.

5 Файл nsolid может быть добавлен, если необходимо сделать solid архив, но с возможностью обновления отдельных файлов/папок. Такие файлы/папки нужно перечислить в файле nsolid. Пример:
Код:

папка1\
папка2\
файл.txt

* Начиная с версии 7.1 этот файл игнорируется

Подготовка компилятора.
Компилятор состоит из двух файлов Compiler_Addon.exe и Compiler.ini которые должны лежать рядом (расположение этой пары значения не имеет). Я их положил в папку ТС, рядом с файлами "Кнопки ..." упомянутой выше. Можно расположить их и в другом месте и создать ярлык на панели ТС (как это сделал я), Рабочем столе или другом удобном для Вас месте. В файле Compiler.ini нужно подредактировать пути в архиватору 7-Zip и модифицированному модулю, если они у вас отличаются от моих.

Использование компилятора.
После того как Вы подготовите все описанные в п.1 файлы и папку, перетащить файл name.res (только его и никакой другой!) на этот ярлык компилятора. После этого в указанной папке будет создан полноценный аддон, со всей структурой папок и файлов, запакованный в "транспортировочный" архив и файл инсталлятора для возможности оперативной проверки аддона.
Начиная с версии 7.1:
- файл name.res можно не перетаскивать на ярлык (если он сделан на панели ТС), достаточно просто щелкнуть по ярлыку и аддон будет создан.
- поддерживается режим сжатия LZMA2. Он может быть задан по умолчанию в файле Compiler.ini. Возможно оперативное изменение метода сжатия на альтернативный, удерживанием клавиш <Ctrl>+<Shift> при нажатии на ярлык. Полная аналогия с упомянутой выше "кнопкой".

Как пример прилагаю набор для изготовления упомянутого аддона DeskHedron_1.00_RU.

vek 05-12-2007 14:09 691063

gora
Извините, немного непонял:
Цитата:

Цитата gora
В папку name положите все файлы вашей программы »

т.е. Все файлы установленной программы из %programfiles%? А как же записи в реестр, добавление ярлыков, регистрация библиотек? А если файлы не только в %programfiles%\nameprogram, а где нибудь еще?
P.S. наверное config.txt? Сейчас скачаю посмотрю.

gora 05-12-2007 14:53 691111

Цитата:

Цитата vek
т.е. Все файлы установленной программы из %programfiles%? »

Ну конечно же НЕТ. Файлы программы должны быть подготовлены для этого. Добавлены файлы реестра, файлы, которые копируются при установке в другие директории, дополнительные файлы inf (если требуются). Можете посмотреть вот этот мой аддон ТС там все это предусмотрено. Компилятор подойдет не для всех программ, а лишь для тех которые могут быть установлены через SVCPACK (таких как Miranda, Total Commander, WinFlip и многих других).

vek 05-12-2007 15:15 691127

gora
Да спасибо большое, я уже посмотрел. Просто сначала смутила фраза о том, что "запихайте файлы в одну папку и будет Вам чудо..:-)", а уже потом увидел механизм установки через config.txt. Извиняюсь за необдуманно написанный, предыдущий пост.

gora 05-12-2007 15:18 691132

Цитата:

Цитата vek
смутила фраза о том, что "запихайте файлы в одну папку и будет Вам чудо..:-)", »

Этого я не обещал ;) .

gora 17-12-2007 10:01 698488

jameszero, очередные вопросы:
1
Цитата:

Цитата jameszero
Код:

PROG_1 =miranda32.exe
PROG_2 =miranda32

»

Как быть, если оригинальное имя программы имеет пробел (например, UberIcon Manager.exe) и переименование ее в "беспробельное" имя нежелательно?
2
Цитата:

Цитата jameszero
Код:

[Close.Prog]
TASKKILL /F /IM %PROG_1%
TSKILL %PROG_2%

»

Эти строки "убивают" процесс, но папка программы не всегда удаляется. В случае с UberIcon в ней остаются всего два файла (UberIcon Manager.exe и UberIcon.dll), но из-за них папка не удаляется. Хотя потом вручную она удаляется спокойно. (Для проверки переименовывал программу в беспробельное имя, но здесь привожу оригинальные имена)
Можно ли это обойти?

jameszero 17-12-2007 12:11 698562

gora
По первому пункту, должны помочь кавычки, причём тройные
Код:

PROG_1 ="""UberIcon Manager.exe"""
PROG_2 ="""UberIcon Manager"""

А по второму пункту, я тоже возился с одной программкой, её не хватало времени выгрузиться из памяти и в итоге папка не удалялась.
Экспериментировал с флагом RunPreSetupCommands=Close.Prog:5 - не помогло,
вставлял паузу
Код:

TASKKILL /F /IM %PROG_1%
TSKILL %PROG_2%
ping -n 1 127.0.0.1

тоже не всегда срабатывало. Вобщем, пока решение не нашёл.

Boa Soft 17-12-2007 12:27 698574

jameszero,
Цитата:

Цитата jameszero
оже не всегда срабатывало. Вобщем, пока решение не нашёл. »

И не сработает. Если только TASKKILL /F /IM Explorer.exe :). Программа ставит хук и он висит в адресном пространстве процесса Explorer. Пока проводник не перегрузится, dll с хуком не освободится.

gora 17-12-2007 12:47 698584

Цитата:

Цитата jameszero
По первому пункту, должны помочь кавычки, причём тройные

В результате в свойствах ярлыка вижу такую строку: "C:\Program Files\UberIcon\"UberIcon" Manager.exe". Ярлыки соответственно не работают :(. Что еще порекомендуете?
Цитата:

Цитата Boa Soft
Пока проводник не перегрузится, dll с хуком не освободится. »

Так я без перезагрузки проводника удаляю потом папку ручками и все удаляется. В чем фокус!?

PS Вроде удалось добиться удаления папки простым отказом от "принудительного завершения" :) .(удалил ключ /F и сделал TASKKILL /IM %PROG_1%)
Остался первый вопрос в пробелами в имени.

jameszero 17-12-2007 14:05 698634

gora
Цитата:

Цитата gora
"C:\Program Files\UberIcon\"UberIcon" Manager.exe" »

Попробуйте ввести ещё одну переменную, например:
Код:

[Strings]
<...>
PROG_1 ="""UberIcon Manager.exe"""
PROG_2 ="""UberIcon Manager"""
PROG_3 =UBERIC~1.EXE
<...>

и соответственно
Код:

[PROG.AddShortcut]
<...>
CmdLine        =16422,%PROG_DIR%,%PROG_3%
<...>


gora 17-12-2007 14:43 698659

Цитата:

Цитата jameszero
Попробуйте ввести ещё одну переменную »

Спасибо, помогло. :)
Сухой остаток (что мне помогло):
1 Имя в формате 8.3 для ярлыков и имя в тройных кавычках для остальных мест (по первому вопросу)
2
Код:

TASKKILL /IM %PROG_1%
TSKILL %PROG_2%
ping -n 127.0.0.1

Удалил ключ /F из первой строки и единицу из третьей. (С единицей у меня и раньше были проблемы, когда пытался делать задержку на этой команде. Она работает, как задержка, если стоит число большее единицы :( ) По умолчанию там 4 (а нам торопиться не куда :) )

gora 04-01-2008 19:02 708922

jameszero, помогите разобраться. Пробую сделать аддон с установкой из SVCPACK. Делаю на базе 7z SFX архива с возможностью установки на живую систему и столкнулся с проблемой регистрации/дерегистрации библиотеки. Не как не хочет регистрироваться, хотя, если после запуска инсталлятора вручную дать команду regsvr32.exe "C:\Program Files\IEPro\IEPro.dll", все прекрасно работает. Где у меня ошибки!? Файлы конфигурации и .inf прикрепил.

NRG 04-01-2008 20:22 708994

gora, ее не надо вроде регистрировать...

Drinko 05-01-2008 03:40 709238

Возможно кодировка IEPro_my.inf не правильная? (т.к. он подхватывается из 7-Zip архива он должен быть в UTF (sfx 7-Zip'a понимает только его))

ЗЫ и небольшая ошибочка в строке
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayName",,%PROG_NAME%"
кавычечки одной не хватает :)

ЗЫЫ и возможно так:

[PROGdll.Register]
16422,%PROG_DIR%,IEPro.dll,1

[PROGdll.UnRegister]
16422,%PROG_DIR%,IEPro.dll

хотя можно обойтись и без PROG_DIR="IEPro" и PROG_NAME="IEPro"
т.д.:

[PROGdll.Register]
16422,"IEPro",IEPro.dll,1

[PROGdll.UnRegister]
16422,"IEPro",IEPro.dll

И далее по тексту...

jameszero 05-01-2008 13:12 709408

gora
Навскидку:
RegisterDlls не отрабатывает при вызове её через advpack.
Варианта два - использовать установку через setupapi или выполнять регистрацию dll-ки такой конструкцией
Код:

[DefaultInstall]
OptionDesc                =%PROG_NAME%
Modes                        =0,1,2,3
AddReg                        =PROG.AddReg
RunPostSetupCommands        =PROGdll.Register


[PROGdll.Register]
regsvr32 /S """%16422%\%PROG_DIR%\IEPro.dll"""


gora 05-01-2008 14:52 709453

jameszero, спасибо все (и дерегистрация) работает по второму варианту.
Цитата:

Цитата jameszero
RegisterDlls не отрабатывает при вызове её через advpack. »

А вот это жаль :(.

gora 07-01-2008 16:16 711140

jameszero, снова к Вам за консультацией.
Можно ли добавлять файлы\папки в %APPDATA% в аддонах типа SYSOC и SVCPACK? Равноценны ли оба типа аддонов в данном случае?

jameszero 07-01-2008 16:54 711181

gora
Что то похожее насчёт SYSOC уже было))
Ваш вопрос
Мой ответ

А в SVCPACK, естественно, применяется переменная %APPDATA%

В обоих случаях файлы копируются в профиль Default User, потому что реальный пользователь ещё не существует.
При первом входе и создании профиля пользователя, файлы будут скопированы из Default User

gora 07-01-2008 17:09 711190

Цитата:

Цитата jameszero
При первом входе и создании профиля пользователя, файлы будут скопированы из Default User »

Так папки\файлы таки попадут в результате в нужное место или нет? У меня при установке на живую систему все ставиться, а из аддона нет.
PS У меня папки добавляются из файла конфигурации:
Код:

RunProgram="fm20:hidcon:cmd /c xcopy IEPro \"%APPDATA%\\IEPro\" /s /e /i /y"
RunProgram="hidcon:cmd /c xcopy MiniDm \"%APPDATA%\\MiniDm\" /s /e /i /y"


jameszero 07-01-2008 17:23 711201

gora
Проверил на виртуалке. Интересный момент:
так не работает
Код:

RunProgram="fm20:hidcon:cmd /c xcopy IEPro \"%APPDATA%\\IEPro\" /s /e /i /y"
RunProgram="hidcon:cmd /c xcopy MiniDm \"%APPDATA%\\MiniDm\" /s /e /i /y"

а так работает
Код:

RunProgram="fm20:hidcon:cmd /c xcopy IEPro \"%USERPROFILE%\\Application Data\\IEPro\" /s /e /i /y"
RunProgram="hidcon:cmd /c xcopy MiniDm \"%USERPROFILE%\\Application Data\\MiniDm\" /s /e /i /y"

Видимо есть какой то ньанс у %APPDATA% на этапе SVCPACK, я честно говоря не в курсе.

gora 08-01-2008 12:50 711690

jameszero, что может вызывать следующую ошибку при запуске Reg2Inf из контекстного меню?
Цитата:

Reg2Inf.exe - Ошибка приложения
Ошибка при инициализации приложения (0х00000135). Для выхода из приложения нажмите кнопку "ОК".

jameszero 08-01-2008 14:20 711746

gora
Не установлен Framework

gora 08-01-2008 15:00 711776

Цитата:

Цитата jameszero
Не установлен Framework »

Точно! Где то даже читал об этом. Да еще и версии не ниже 2.0! Раньше ни когда его не ставил, но видимо ставился с какой то "монстроподобной" программой. Буду искать.

jameszero 08-01-2008 15:25 711788

Может кому пригодится
Скриншот с переменными окружения на этапе T12, полученный запуском из SVCPACK командного файла
Код:

set
pause



Что интересно, в списке переменных нет не только %APPDATA%, но и %CDROM% прописанной на этапе T30/22 sysoc аддоном, а так же переменной %TEMP%, хотя в реестре (Shift+F10 > regedit) это дело имеется.
И ещё такой момент - текущей директорией выполнения cmd файла является не I386\SVCPACK\, а WINDOWS\ и автоматически перейти к приводу с дистрибутивом не представляется возможным, что налагает ограничения на установку софта из SVCPACK

greg_b 08-01-2008 20:15 711981

jameszero, прикольно, натолкнулся сегодня при тестировании одного аддона, дико нужен был appdata - жалко очень, буду ваять на svcpack.

jameszero 08-01-2008 20:39 711998

greg_b
Вместо %APPDATA% на этапе T12 можно использовать %USERPROFILE%\Application Data

Righter 10-01-2008 01:50 712909

аддоны поддерживают несколько ключей через пробел?
пишу в Run "OOo.exe /S" - Опенофис нормально устанавливается, пишу "OOo.exe /S /POSTREMOVE=ON" не начинается установка (на этапе установки Windows, естественно, я имею в виду. в обычном случае и то и другое работает).

gora 10-01-2008 10:37 713072

Вложений: 1
"Набор инструментов" Возможности:
1. Конвертирование reg файлов в inf формат из контекстного меню, с помощью утилиты Reg2Inf_context_tool от n7Epsilon (необходим .NET Framework v2.0 и выше). При установке в диалоговом окне содержится информация о необходимости наличия на компьютере .NET Framework v2.0 для установки Reg2Inf_context_tool. Производится проверка наличия на компьютере .NET Framework v2.0 или выше и, если он отсутствует, то установка Reg2Inf_context_tool НЕ производится.
2. Распаковка Хотфиксов от MS из контекстного меню.
3. Упаковка файлов и директорий в CAB архивы (а так же распаковка) из контекстного меню "Отправить", с помощью утилиты SendTo_CAB_tool

Предусмотрено для утилиты SendTo_CAB_tool:
1 Интерактивный выбор языка (русский, анлийский).
2 Деинсталляция с помощью ключей:
-ai0 (русский язык в контекстном меню)
-ai1 (английский язык в контекстном меню)

PS
Обновленный набор можно скачать здесь. В новом наборе добавлены некоторые возможности, а также значительно переделан и исправлен CAB_tool, для исключения ошибок, которые могут быть получены при использовании представленного в этом посте набора.

gora 10-01-2008 17:50 713511

Цитата:

Цитата Righter
аддоны поддерживают несколько ключей через пробел? »

Какой тип аддона используете? Сталкивался с подобным поведением аддонов типа SVCPACK Проблема может быть и в пробелах и в знаке равенства. Пишите подробнее.

Righter 10-01-2008 19:26 713593

Просто кладу установочный дистрибутив OpenOffice.org Professional в папку и в Run прописываю ключ тихой установки (+ удаления временных файлов).

yaryar 20-01-2008 21:40 721624

Объясните пожалуйста, можно ли с помощью какой-либо программы переделать INF или INI в reg файл. В аддоне связанном с IE и WMP твики в этих аддонах в формате inf или ini и я не знаю, как их вставить в дистрибутив, обычно твики все вставлял, как строчки reg файла. Спасибо.

Master of Magic 21-01-2008 10:26 721918

yaryar, правой кнопкой на inf-файле -> Установить. Вроде бы.

NRG 21-01-2008 11:02 721944

yaryar, http://forum.oszone.net/showthread.php?t=63496

Master of Magic 25-01-2008 14:07 725296

Код:

ProfileItems=Garri.AddShortcut
SizeApproximation=23427491
Uninstall=Kasparov.Uninstall

[Kasparov.Uninstall]
DelFiles=Kasparov.Del,Kasparov.historic games.Del,Kasparov.music.Del,Kasparov.tutorials.Del
Run=Kasparov.AdvInfCall
ProfileItems=Garri.DelShortcut

[Garri.AddShortcut]
Name="Шахматы с Гарри Каспаровым"
CmdLine=16422,"KasparovChess",KasparovChess.exe
WorkingDir=16422,"KasparovChess"
SubDir="Игры"
Infotip="Шахматы с Гарри Каспаровым"

[Garri.DelShortcut]
Name="Шахматы с Гарри Каспаровым"
CmdLine=16422,"KasparovChess",KasparovChess.exe
WorkingDir=16422,"KasparovChess"
SubDir="Игры"
Infotip="Шахматы с Гарри Каспаровым"

Не хочет удалять ярылки...

Код:

[Garri.DelShortcut]
Name="Шахматы с Гарри Каспаровым",0x00000002

Так тоже пробовал :(

vek 25-01-2008 14:14 725302

Master of Magic,
Попробуйте вот так:
Код:

[Garri.DelShortcut]
Name="Шахматы с Гарри Каспаровым",0x00000002
SubDir="Игры"


Progopis 04-02-2008 22:12 732946

Решил собрать свой аддон для Windows Media Player 11 (хоть их и так уже достаточно, в целях самообразования - ведь WMP11 может замещать WMP9, а кроме того это "родная" для системы программа)

Есть такое наблюдение. В файле wmp11.inf создается ключ с таким параметром
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}]
"Locale"="RU"

С другой стороны в Update.inf каталога Update файла wmp11.exe (тоже из установочного пака одной версии с wmp11.inf)
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}]
"Locale"="RUS"

В аддоне от Dimadr'а в wmp11ru.inf это выглядит (я пишу не явный вид, а то как будет в реестре) так:
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}]
"Locale"="ENU"

Почему в данном аддоне стоит ENU более или менее понятно. Он собирался на основе опыта зарубежных коллег, а кроме того обновления для английской версии выходят быстрее чем для русской. А вот вопрос об адекватности Microsoft в выборе значений остается спорным... Наверно это не столь важный параметр, кроме того wmp11.inf затирается Update.inf и у меня в реестре стоит именно "RUS".

В связи с этим вопрос (прежде всего к автором аддонов) - кто-нибудь разбирался с тем, если разница между RUS и RU? Я имею ввиду о возможных серьезных последствиях неверного определения обновлениями (скажем, если речь об автоматике, такой как Windows Update) и другими программами языка конкретного компонента.

Righter 05-02-2008 15:25 733494

Привет! Хочу на панель IE вывести кнопку, которая будет включать/выключать картинки. Подглядел код добавления кнопки у одной программки:
Код:

"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "Default Visible" /d "yes"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "Exec" /d "%ProgramFiles%\цеуепа.exe"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "ButtonText" /d "Кнопка"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "Icon" /d "%ProgramFiles%\фвфыв.exe"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "HotIcon" /d "%ProgramFiles%\ваыв.exe"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "MenuText" /d "&Картинки (on/off)"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "MenuStatusBar" /d "&Картинки (on/off) на страницах"
"HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions\{546B303C-41F9-4CE4-A590-4A8E5E0B098E}" /v "CLSID" /d "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}"

Но возникло два вопроса:
1) Как было сгенерировано 546B303C-41F9-4CE4-A590-4A8E5E0B098E и как сгенерировать мне ведь нужен новый адрес?
2) Как было сгенерировано 1FBA04EE-3024-11D2-8F1F-0000F87ABD16 и как мне сгенерировать своё, но чтобы эта кнопка была самой крайней справа?

DyadyaGenya 06-02-2008 20:35 734421

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

Код:

[Total_Co]
OptionDesc="Total Commander702"
Tip=%PROG_INFO%
;Parent=Total Commander702
Modes=0,1,2,3
CopyFiles=Total_Co.Copy,Total_Co.LANGUAGE.Copy
;AddReg=Total702.AddReg
;ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
SizeApproximation=4061508
Uninstall=Total_Co.Uninstall

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[Strings]
PROG_DIR        ="Total Commander702"
PROG_NAME        ="Total Commander702"
SRTC_NAME        ="Total Commander702"
PROG_VERS        ="702"
PROG_INF        ="Total_Co.inf"
PROG_1        =Totalcmd.exe
PROG_2        =Totalcmd
PROG_SDIR        =""
PROG_SDIR2        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="commander"

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

jameszero 06-02-2008 21:51 734486

DyadyaGenya
Cекции AddReg и ProfileItems закомментированы (символ ;), записи в реестр и ярлыки естественно не будут отрабатывать.
Если это просто пример, то приведите полный листинг неработающего inf-a

gora 06-02-2008 22:04 734493

DyadyaGenya, посмотрите здесь

pel_MEN 07-02-2008 11:21 734818

Кстати ещё вопрос из разряда "фантастики" (но всё же осмелюсь) встречал на сайте так называемые "конструкторы" под программы ... более или менее универсальный конструктор для аддонов существует? или хотя бы возможно его создать? Ведь практически все инсталлеры, упаковщики и ключи известны, за рядом исключений...просто лопатить буржуские сайты мне моё среднешкольное образование не позволяет (уровень не тот), а тут вроде как знающие люди. Под конструкторами, грубо говоря, подразумеваю перепаковщики по алгоритму конкретных программ (а хотелось бы всех известных :) ).

YikxX 07-02-2008 12:39 734891

Цитата:

Цитата pel_MEN
Под конструкторами, грубо говоря, подразумеваю перепаковщики по алгоритму конкретных программ »

Сложно создать столь универсальный продукт. Да и инсталляторы программ при создании аддонов чаще всего не перепаковываются (DX9, IE7, WMP и FrameWork исключаем), просто пишется батник который запускает оригинальный инсталлер с ключами и потом распаковывает и добавляет куда надо ярлыки или ключи реестра. Потом все это пакуется в тихий 7-zip SFX вкупе с hidecon, etc - все файл для аддона готов.
К тому же, существует несколько видов интеграции аддонов (svcpack, sysoc) и стуктура самих аддонов под эти виды интеграции очень различна.
С моей точки зрения, попытка создания универсального конструктора - попытка объять необъятное. Да и пользователям форума невыгодно - откуда респекты брать, если любой аддон сможет смастерить за 3 секунды. :lol:

pel_MEN 07-02-2008 13:00 734910

*YikxX*
повторюсь .... а как насчёт буржуев.. есть чё по сабжу?

YikxX 07-02-2008 13:12 734921

pel_MEN, честно говоря - не разбирался. Мне мое "среднешкольное образование" тоже не очень то позволяет (английский). :(

gora 07-02-2008 14:03 734957

Цитата:

Цитата pel_MEN
Под конструкторами, грубо говоря, подразумеваю перепаковщики по алгоритму конкретных программ »

Здесь обычно под конструкторами подразумевается некие заготовки аддона в которых отсутствуют файлы самой программы т.к. она может быть очень большой и\или имеется у пользователя. Того, что Вы хотите я на форуме не встречал, очевидно до такого еще ни кто не додумался. :(

pel_MEN 07-02-2008 14:59 734998

to All
А вашими силами это сделать возможно или просто никто не заинересован? Идею считаю стоющей потому что она моя!!! :)

DyadyaGenya 07-02-2008 21:22 735316

jameszero, Дело в том что я так уже делал, читал ваши коментарии к [Modes=0,1,2,3]
могу полностью прикрепить аддон, только сразу предупреждаю, он тренировачный, некоторые секции не заполнены, кстати, были вопросы по вашей инструкции к аддонам в этом форуме, но собирался задать потом, просто не понимаю некторые значения, такие как [RenFiles] [RegisterDlls] и надеюсь не должны сказаться на установке незаполненые секции касающиеся деинсталяции
Код:

[Version]
Signature="$Windows NT$"
SetupClass=BASE

[Optional Components]
Total_Co

[Total_Co]
OptionDesc="%PROG_NAME%"
Tip="%PROG_INFO%"
;Parent=Total Commander
Modes=0,1,2,3
CopyFiles=Total_Co.Copy,Total_Co.LANGUAGE.Copy
;RenFiles=Секции переименования файлов
AddReg=Total CommanderAddReg
;Run=Секции запуска приложений
;RegisterDlls=Секции регистрации библиотек
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
SizeApproximation=4059545
Uninstall=Total_Co.Uninstall

[DefaultInstall]
CopyFiles=Total_Co.Copy,Total_Co.LANGUAGE.Copy
AddReg=Total CommanderAddReg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut

[Total_Co.Uninstall]
DelFiles=Total_Co.Del,Total_Co.LANGUAGE.Del
Run=Total_Co.AdvInfCall
;DelReg=Секции удаления из реестра
;UnRegisterDlls=Секции отмены регистрации библиотек
;ProfileItems=Секции удаления ярлыков

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

[Total_Co.Uninstal.DelDirs]
DelDirs=Total_Co.DelDirs

[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Total Commander",Total_Co.cab,,"I386"

[SourceDisksFiles]
CABRK.DLL=1
CGLPT9X.VXD=1
CGLPTNT.SYS=1
DEFAULT.BAR=1
default.br2=1
descript.ion=1
FRERES32.DLL=1
HISTORY.TXT=1
KEYBOARD.TXT=1
Keybrus.txt=1
MAINICON.ico=1
NO.BAR=1
REGISTER.RTF=1
SFXHEAD.SFX=1
SHARENT.EXE=1
TCMADMIN.EXE=1
TCUNZLIB.DLL=1
TOTALCMD.EXE=1
TOTALCMD.MAN=1
TOTALCMD.HLP=1
TOTALCMD.INC=1
TOTALCMD.url=1
UNACEV2.DLL=1
unins000.dat=1
unins000.exe=1
UNRAR.DLL=1
WC32TO16.EXE=1
WCMICONS.DLL=1
WCMICONS.INC=1
WCMZIP32.DLL=1
Wincmd.ini=1
wincmd.key=1
WCMDENG.MNU=1
WCMDRUS.INC=1
WCMDRUS.LNG=1
WCMDRUS.MNU=1
WCMDRUSS.MNU=1

[DestinationDirs]
Total_Co.Copy=16422,"Total Commander"
Total_Co.Del=16422,"Total Commander"
Total_Co.LANGUAGE.Copy=16422,"Total Commander\LANGUAGE"
Total_Co.LANGUAGE.Del=16422,"Total Commander\LANGUAGE"

[Total_Co.Copy]
CABRK.DLL,,,4
CGLPT9X.VXD,,,4
CGLPTNT.SYS,,,4
DEFAULT.BAR,,,4
default.br2,,,4
descript.ion,,,4
FRERES32.DLL,,,4
HISTORY.TXT,,,4
KEYBOARD.TXT,,,4
"Keyb_rus.txt",Keybrus.txt,,4
MAINICON.ico,,,4
NO.BAR,,,4
REGISTER.RTF,,,4
SFXHEAD.SFX,,,4
"SHARE_NT.EXE",SHARENT.EXE,,4
TCMADMIN.EXE,,,4
TCUNZLIB.DLL,,,4
TOTALCMD.EXE,,,4
"TOTALCMD.EXE.MANIFEST",TOTALCMD.MAN,,4
TOTALCMD.HLP,,,4
TOTALCMD.INC,,,4
TOTALCMD.url,,,4
UNACEV2.DLL,,,4
unins000.dat,,,4
unins000.exe,,,4
UNRAR.DLL,,,4
WC32TO16.EXE,,,4
WCMICONS.DLL,,,4
WCMICONS.INC,,,4
WCMZIP32.DLL,,,4
Wincmd.ini,,,4
wincmd.key,,,4

[Total_Co.Del]
"CABRK.DLL"
"CGLPT9X.VXD"
"CGLPTNT.SYS"
"DEFAULT.BAR"
"default.br2"
"descript.ion"
"FRERES32.DLL"
"HISTORY.TXT"
"KEYBOARD.TXT"
"Keyb_rus.txt"
"MAINICON.ico"
"NO.BAR"
"REGISTER.RTF"
"SFXHEAD.SFX"
"SHARE_NT.EXE"
"TCMADMIN.EXE"
"TCUNZLIB.DLL"
"TOTALCMD.EXE"
"TOTALCMD.EXE.MANIFEST"
"TOTALCMD.HLP"
"TOTALCMD.INC"
"TOTALCMD.url"
"UNACEV2.DLL"
"unins000.dat"
"unins000.exe"
"UNRAR.DLL"
"WC32TO16.EXE"
"WCMICONS.DLL"
"WCMICONS.INC"
"WCMZIP32.DLL"
"Wincmd.ini"
"wincmd.key"

[Total_Co.LANGUAGE.Copy]
"WCMD_ENG.MNU",WCMDENG.MNU,,4
"WCMD_RUS.INC",WCMDRUS.INC,,4
"WCMD_RUS.LNG",WCMDRUS.LNG,,4
"WCMD_RUS.MNU",WCMDRUS.MNU,,4
"WCMD_RUS_STD.MNU",WCMDRUSS.MNU,,4

[Total_Co.LANGUAGE.Del]
"WCMD_ENG.MNU"
"WCMD_RUS.INC"
"WCMD_RUS.LNG"
"WCMD_RUS.MNU"
"WCMD_RUS_STD.MNU"

[Total_Co.DelDirs]
"%16422%/Total Commander/Plugins"
"%16422%/Total Commander/LANGUAGE"
"%16422%/Total Commander"

[Total CommanderAddReg]
HKCU\Software\Classes\Applications\TOTALCMD.EXE
HKCR\Applications\TOTALCMD.EXE
HKCU\Software\Classes\Applications\TOTALCMD.EXE
HKCR\Applications\TOTALCMD.EXE
HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Program Files\Total Commander\TOTALCMD.EXE
HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Program Files\Total Commander\TOTALCMD.EXE
HKCU\Software\Classes\Applications\TOTALCMD.EXE
HKCR\Applications\TOTALCMD.EXE
HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Program Files\Total Commander\TOTALCMD.EXE
HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Program Files\Total Commander\TOTALCMD.EXE
HKCU\Software\Classes\Applications\TOTALCMD.EXE
HKCR\Applications\TOTALCMD.EXE
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Start Menu
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common Start Menu
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Recent
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Fonts
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Start Menu
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common Start Menu
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Recent
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Fonts
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders


[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[Strings]
PROG_DIR        ="Total Commander"
PROG_NAME        ="Total Commander"
SRTC_NAME        ="Total Commander"
PROG_VERS        ="702"
PROG_MADE        ="oszone.net"
PROG_INF        ="Total_Co.inf"
PROG_1        =Totalcmd.exe
PROG_2        =Totalcmd
PROG_SDIR        =""
PROG_SDIR2        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Commander"

gora, спасибо за подсказку, но вво-первых, всегда хочеться сделать самому, ибо только так нормально разберешься с механизмом, во-вторых, это пример SVCPACK аддона, а ммне хотелось бы SYSOC, по многим причинам, и одна из причин, это то, что установка интегрированых аддонов SVCPACK видна при загрузке, пусть даже она и тихая, а SYSOC абсолютно не видна, и есть надежда, что SYSOC аддоны научусь вставлять не только в апдейт от Пети Васечкина, но и в нЛайт, есть преимущества и там и там, вот и хочеться разобраться

jameszero 07-02-2008 21:57 735346

DyadyaGenya
Всё дело в неправильном синтаксисе записей добавляемых в реестр, поэтому установка обрывается не доходя до создания ярлыков.
Кстати, в данном аддоне можете ничего не добавлять в реестр, программа будет работать и без этого.
Конвертировать reg файлы в inf рекомендую утилитой reg2inf

DyadyaGenya 07-02-2008 22:09 735353

jameszero, так в чом неправильность синтаксиса? можете подсказать? или показать место где оно у меня не правильно

jameszero, имееться ввиду что знаки типа ; или % или всетаки в секции [Total CommanderAddReg]?

jameszero 07-02-2008 22:38 735372

DyadyaGenya
Ошибки в листинге секции [Total CommanderAddReg]. Например, в вашем варианте так:
Код:

HKCU\Software\Classes\Applications\TOTALCMD.EXE
А должно быть:
Код:

HKCU,"Software\Classes\Applications\TOTALCMD.EXE",,0x10
Импортируйте любую из веток реестра, которые включены в аддон и о обработайте её с помощью reg2inf, посмотрите отличия.

Установка программ через inf файлы не терпит ошибок синтаксиса. Ошибка в одном аддоне может сделать невозможной установку всех последующих.

DyadyaGenya 10-02-2008 20:21 737376

jameszero,
Цитата:

Цитата jameszero
Кстати, в данном аддоне можете ничего не добавлять в реестр, программа будет работать и без этого.
Конвертировать reg файлы в inf рекомендую утилитой reg2inf »

Я может и зря полез сразу в дебри :-) но уж больно доходчиво вы написали интсрукцию, и по ней я уже сделал несколько тренировочных аддонов которые работали, но как писал выше там нигде не срабатывал ни один ярлык, вот и захотелось поподробней узнать свои ошибки, разобраться. Тем более что SVCPACK у меня тоже вроде получались. Спасибо, вы подтвердили мои опасения про неправильность переноса инфы из реестра, и програмка reg2inf рулит, особенно в вариации от gora но теперь стал вопрос как бы попроще вытаскивать ветки реестра, так сказать автоматом, чтоб не жать постоянно ф3, ато все програмки и Regmoon в том числе, которым я до этого пользовался не сохраняют данные реестра коректно, посссле них reg2inf ничего делать не хочет, а если прямо експортировать из regedit то работает на ура, просто хочеться автоматизировать поиск, хотя может я не умею в regedit выделять сразу все что касаеться нужной проги, типа фильтра в Regmoon

DyadyaGenya 11-02-2008 19:40 738074

jameszero, приношу извинения за возможные беспокойства, с програмуленой которая может автоматом вытягивать данные реестра разобрался, нашел очень удобную вещь, называеться jv16 PowerTools Она нетолько вытягивает данные реестра, но может ещё много чего, в том числе и чистить его, регклинер и многие другие просто далеко позади. Всем кто заинтересовался подсказываю адрес родного сайта, в инете есть под нее и все остальное, что нужно русскому пользователю :-)

http://www.macecraft.com - програмулина чистит реестр, вытягивает автоматом из него данные и не только
теперь буду разбираться могут ли sysoc аддоны встраиваться в nLite или только в апдейт от ПетиВасечкина

Drinko 11-02-2008 19:47 738080

DyadyaGenya,
Здесь, есть уже готовый аддон ;)

DyadyaGenya 12-02-2008 19:28 738783

Drinko, спасибо, не заметил прогу на форуме, в конце концов я тут савсэм мало :-) просто хотел поделиться :-)

DyadyaGenya 17-02-2008 19:20 742505

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

первый рабочий
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[Optional Components]
Opera

[Opera]
OptionDesc=%PROG_NAME%
Tip=%PROG_INFO%
Modes=0,1,2,3
CopyFiles=Opera.Copy,Opera.classes.Copy,Opera.defaults.Copy,Opera.Plugins.Copy,Opera.program.Copy,Opera.skin.Copy,Opera.styles.Copy,Opera.locale.ru.Copy,Opera.styles.images.Copy,Opera.styles.user.Copy,Opera.Sys.Copy
AddReg=PROG.AddReg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
SizeApproximation=5047906
Uninstall=Uninstall

[DefaultInstall]
CopyFiles=Opera.Copy,Opera.classes.Copy,Opera.defaults.Copy,Opera.Plugins.Copy,Opera.program.Copy,Opera.skin.Copy,Opera.styles.Copy,Opera.locale.ru.Copy,Opera.styles.images.Copy,Opera.styles.user.Copy,Opera.Sys.Copy
AddReg=PROG.AddReg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut

[Uninstall]
BeginPrompt                        =BeginUnInsPrompt
RunPreSetupCommands        =Close.Prog:1
RunPostSetupCommands        =Dir.Delete
EndPrompt                        =EndUnInsPrompt
DelReg                        =PROG.DelReg
DelFiles                        =Opera.Sys.Del
ProfileItems                        =PROG.DelShortcut,PROG2.DelShortcut

[BeginUnInsPrompt]
Title=Деинсталляция %PROG_NAME%
Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType=YESNO

[Close.Prog]
TASKKILL /IM %PROG_1%
TSKILL %PROG_2%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.

[SourceDisksNames]
1="Opera",Opera.cab,,"I386"

[SourceDisksFiles]
c3nform.vxm=1
chartabl.bin=1
dialog.ini=1
fastforw.ini=1
htm2clip.dpr=1
htm2clip.exe=1
html40en.dtd=1
License.rtf=1
lngcode.txt=1
Opera.dll=1
Opera.exe=1
operadef.ini=1
OUniAnsi.dll=1
pluginig.ini=1
runmoper.exe=1
SaveMht.vbs=1
search.ini=1
spellche.dll=1
xmlentit.ini=1
opera.jar=1
opera.pol=1
embedded.ini=1
embedd_0.ini=1
embedd_1.ini=1
standard.ini=1
standa_0.ini=1
standa_1.ini=1
standa_2.ini=1
standa_3.ini=1
NPSWF32.dll=1
netscape.exe=1
standard.zip=1
windowss.zip=1
about.css=1
cache.css=1
certinfo.css=1
config.css=1
contentb.css=1
dir.css=1
drives.css=1
error.css=1
history.css=1
im.css=1
image.css=1
info.css=1
mime.css=1
plugins.css=1
warning.css=1
wml.css=1
ru.lng=1
bar.png=1
center.png=1
opera.png=1
redcente.png=1
redleft.png=1
redright.png=1
root.png=1
top.png=1
Accessib.css=1
altdebug.css=1
classid.css=1
Contrast.css=1
Contra_0.css=1
disableb.css=1
disablef.css=1
disabl_0.css=1
disablep.css=1
Disablet.css=1
outline.css=1
structur.css=1
struct_0.css=1
struct_1.css=1
tablelay.css=1
toc.css=1

[DestinationDirs]
Opera.Copy=16422,"%PROG_DIR%"
Opera.classes.Copy=16422,"%PROG_DIR%\classes"
Opera.defaults.Copy=16422,"%PROG_DIR%\defaults"
Opera.Plugins.Copy=16422,"%PROG_DIR%\Plugins"
Opera.program.Copy=16422,"%PROG_DIR%\program"
Opera.skin.Copy=16422,"%PROG_DIR%\skin"
Opera.styles.Copy=16422,"%PROG_DIR%\styles"
Opera.locale.ru.Copy=16422,"%PROG_DIR%\locale\ru"
Opera.styles.images.Copy=16422,"%PROG_DIR%\styles\images"
Opera.styles.user.Copy=16422,"%PROG_DIR%\styles\user"
Opera.Sys.Copy=11
Opera.Sys.Del=11

[Opera.Copy]
"c3nform.vxml",c3nform.vxm,,4
"chartables.bin",chartabl.bin,,4
dialog.ini,,,4
"fastforward.ini",fastforw.ini,,4
"html40_entities.dtd",html40en.dtd,,4
License.rtf,,,4
lngcode.txt,,,4
Opera.dll,,,4
Opera.exe,,,4
"operadef6.ini",operadef.ini,,4
OUniAnsi.dll,,,4
"plugin-ignore.ini",pluginig.ini,,4
runmoper.exe,,,4
search.ini,,,4
"spellcheck.dll",spellche.dll,,4
"xmlentities.ini",xmlentit.ini,,4

[Opera.classes.Copy]
opera.jar,,,4
"opera.policy",opera.pol,,4

[Opera.defaults.Copy]
"embedded_keyboard.ini",embedded.ini,,4
"embedded_menu.ini",embedd_0.ini,,4
"embedded_mouse.ini",embedd_1.ini,,4
"standard_keyboard.ini",standard.ini,,4
"standard_menu.ini",standa_0.ini,,4
"standard_mouse.ini",standa_1.ini,,4
"standard_toolbar.ini",standa_2.ini,,4
"standard_voice.ini",standa_3.ini,,4

[Opera.Plugins.Copy]
NPSWF32.dll,,,4

[Opera.program.Copy]
netscape.exe,,,4

[Opera.skin.Copy]
"standard_skin.zip",standard.zip,,4
"windows_skin.zip",windowss.zip,,4

[Opera.styles.Copy]
about.css,,,4
cache.css,,,4
certinfo.css,,,4
config.css,,,4
"contentblock.css",contentb.css,,4
dir.css,,,4
drives.css,,,4
error.css,,,4
history.css,,,4
im.css,,,4
image.css,,,4
info.css,,,4
mime.css,,,4
plugins.css,,,4
warning.css,,,4
wml.css,,,4

[Opera.locale.ru.Copy]
ru.lng,,,4

[Opera.styles.images.Copy]
bar.png,,,4
center.png,,,4
opera.png,,,4
"red_center.png",redcente.png,,4
"red_left.png",redleft.png,,4
"red_right.png",redright.png,,4
root.png,,,4
top.png,,,4

[Opera.styles.user.Copy]
"Accessibility.css",Accessib.css,,4
"altdebugger.css",altdebug.css,,4
classid.css,,,4
"Contrastbw.css",Contrast.css,,4
"Contrastwb.css",Contra_0.css,,4
"disablebreaks.css",disableb.css,,4
"disablefloats.css",disablef.css,,4
"disableforms.css",disabl_0.css,,4
"disablepositioning.css",disablep.css,,4
"Disabletables.css",Disablet.css,,4
outline.css,,,4
"structureblock.css",structur.css,,4
"structureinline.css",struct_0.css,,4
"structuretables.css",struct_1.css,,4
"tablelayout.css",tablelay.css,,4
toc.css,,,4

[Opera.Sys.Copy]
SaveMht.vbs,,,4
htm2clip.dpr,,,4
htm2clip.exe,,,4

[Opera.Sys.Del]
"SaveMht.vbs"
"htm2clip.dpr"
"htm2clip.exe"

[PROG.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\moper","moper",,"""%16422%\%PROG_DIR%\runmoper.exe"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayName",,%PROG_NAME% %PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayVersion",,"v %PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","Publisher",,"%PROG_MADE%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon"

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[Strings]
PROG_DIR        ="Opera"
PROG_NAME        ="Opera"
SRTC_NAME        ="Opera 9"
PROG_VERS        ="9.25 build 8827"
PROG_INF        ="Opera.inf"
PROG_1        =Opera.exe
PROG_2        =Opera
PROG_SDIR        =""
PROG_SDIR2        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Интернет браузер"


DyadyaGenya 17-02-2008 19:38 742521

во втором не появляються ярлыки ни в панели быстрого запуска, ни в программ/

Код:


[Opera]
OptionDesc=%PROG_NAME%
Tip=%PROG_INFO%
Modes=0,1,2,3
CopyFiles=Opera.Copy,Opera.classes.Copy,Opera.defaults.Copy,Opera.program.Copy,Opera.skin.Copy,Opera.styles.Copy,Opera.locale.af.Copy,Opera.locale.bg.Copy,Opera.locale.cs.Copy,Opera.locale.da.Copy,Opera.locale.de.Copy,Opera.locale.es-ES.Copy,Opera.locale\
.es-LA.Copy,Opera.locale.fi.Copy,Opera.locale.fr.Copy,Opera.locale.fr-CA.Copy,Opera.locale.fy.Copy,Opera.locale.hi.Copy,Opera.locale.hr.Copy,Opera.locale.hu.Copy,Opera.locale.it.Copy,Opera.locale.ja.Copy,Opera.locale.ko.Copy,Opera.locale.mk.Copy,Opera.lo\
cale.nb.Copy,Opera.locale.nl.Copy,Opera.locale.nn.Copy,Opera.locale.pl.Copy,Opera.locale.pt.Copy,Opera.locale.pt-BR.Copy,Opera.locale.ru.Copy,Opera.locale.sv.Copy,Opera.locale.tr.Copy,Opera.locale.zh-cn.Copy,Opera.locale.zh-tw.Copy,Opera.program.plugins.\
Copy,Opera.styles.images.Copy,Opera.styles.user.Copy
AddReg=Opera AddRegg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut

[DefaultInstall]
CopyFiles=Opera.Copy,Opera.classes.Copy,Opera.defaults.Copy,Opera.program.Copy,Opera.skin.Copy,Opera.styles.Copy,Opera.locale.af.Copy,Opera.locale.bg.Copy,Opera.locale.cs.Copy,Opera.locale.da.Copy,Opera.locale.de.Copy,Opera.locale.es-ES.Copy,Opera.locale\
.es-LA.Copy,Opera.locale.fi.Copy,Opera.locale.fr.Copy,Opera.locale.fr-CA.Copy,Opera.locale.fy.Copy,Opera.locale.hi.Copy,Opera.locale.hr.Copy,Opera.locale.hu.Copy,Opera.locale.it.Copy,Opera.locale.ja.Copy,Opera.locale.ko.Copy,Opera.locale.mk.Copy,Opera.lo\
cale.nb.Copy,Opera.locale.nl.Copy,Opera.locale.nn.Copy,Opera.locale.pl.Copy,Opera.locale.pt.Copy,Opera.locale.pt-BR.Copy,Opera.locale.ru.Copy,Opera.locale.sv.Copy,Opera.locale.tr.Copy,Opera.locale.zh-cn.Copy,Opera.locale.zh-tw.Copy,Opera.program.plugins.\
Copy,Opera.styles.images.Copy,Opera.styles.user.Copy
AddReg=Opera AddRegg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut

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

[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Opera",Opera.cab,,"I386"

[SourceDisksFiles]
c3nform.vxm=1
chartabl.bin=1
dialog.ini=1
english.lng=1
fastforw.ini=1
html40en.dtd=1
License.rtf=1
lngcode.txt=1
Opera.dll=1
Opera.exe=1
operadef.ini=1
OUniAnsi.dll=1
pluginig.ini=1
search.ini=1
spellche.dll=1
spellche.ini=1
xmlentit.ini=1
opera.jar=1
opera.pol=1
embedded.ini=1
embedd_0.ini=1
embedd_1.ini=1
operadef.adr=1
standard.ini=1
standa_0.ini=1
standa_1.ini=1
standa_2.ini=1
standa_3.ini=1
netscape.exe=1
standard.zip=1
windowss.zip=1
about.css=1
cache.css=1
certinfo.css=1
config.css=1
contentb.css=1
dir.css=1
drives.css=1
error.css=1
history.css=1
im.css=1
image.css=1
info.css=1
mime.css=1
plugins.css=1
warning.css=1
wml.css=1
af.lng=1
bg.lng=1
cs.lng=1
da.lng=1
de.lng=1
esES.lng=1
esLA.lng=1
fi.lng=1
fr.lng=1
frCA.lng=1
fy.lng=1
hi.lng=1
hr.lng=1
hu.lng=1
it.lng=1
ja.lng=1
ko.lng=1
mk.lng=1
nb.lng=1
nl.lng=1
nn.lng=1
pl.lng=1
pt.lng=1
ptBR.lng=1
ru.lng=1
sv.lng=1
tr.lng=1
zhcn.lng=1
zhtw.lng=1
npds_0.zip=1
npdspl_0.dll=1
npwmsd_0.dll=1
bar.png=1
center.png=1
opera.png=1
redcente.png=1
redleft.png=1
redright.png=1
root.png=1
top.png=1
Accessib.css=1
altdebug.css=1
classid.css=1
Contrast.css=1
Contra_0.css=1
disableb.css=1
disablef.css=1
disabl_0.css=1
disablep.css=1
Disablet.css=1
outline.css=1
structur.css=1
struct_0.css=1
struct_1.css=1
tablelay.css=1
toc.css=1

[DestinationDirs]
Opera.Copy=16422,"Opera"
Opera.Del=16422,"Opera"
Opera.classes.Copy=16422,"Opera\classes"
Opera.classes.Del=16422,"Opera\classes"
Opera.defaults.Copy=16422,"Opera\defaults"
Opera.defaults.Del=16422,"Opera\defaults"
Opera.program.Copy=16422,"Opera\program"
Opera.program.Del=16422,"Opera\program"
Opera.skin.Copy=16422,"Opera\skin"
Opera.skin.Del=16422,"Opera\skin"
Opera.styles.Copy=16422,"Opera\styles"
Opera.styles.Del=16422,"Opera\styles"
Opera.locale.af.Copy=16422,"Opera\locale\af"
Opera.locale.af.Del=16422,"Opera\locale\af"
Opera.locale.bg.Copy=16422,"Opera\locale\bg"
Opera.locale.bg.Del=16422,"Opera\locale\bg"
Opera.locale.cs.Copy=16422,"Opera\locale\cs"
Opera.locale.cs.Del=16422,"Opera\locale\cs"
Opera.locale.da.Copy=16422,"Opera\locale\da"
Opera.locale.da.Del=16422,"Opera\locale\da"
Opera.locale.de.Copy=16422,"Opera\locale\de"
Opera.locale.de.Del=16422,"Opera\locale\de"
Opera.locale.es-ES.Copy=16422,"Opera\locale\es-ES"
Opera.locale.es-ES.Del=16422,"Opera\locale\es-ES"
Opera.locale.es-LA.Copy=16422,"Opera\locale\es-LA"
Opera.locale.es-LA.Del=16422,"Opera\locale\es-LA"
Opera.locale.fi.Copy=16422,"Opera\locale\fi"
Opera.locale.fi.Del=16422,"Opera\locale\fi"
Opera.locale.fr.Copy=16422,"Opera\locale\fr"
Opera.locale.fr.Del=16422,"Opera\locale\fr"
Opera.locale.fr-CA.Copy=16422,"Opera\locale\fr-CA"
Opera.locale.fr-CA.Del=16422,"Opera\locale\fr-CA"
Opera.locale.fy.Copy=16422,"Opera\locale\fy"
Opera.locale.fy.Del=16422,"Opera\locale\fy"
Opera.locale.hi.Copy=16422,"Opera\locale\hi"
Opera.locale.hi.Del=16422,"Opera\locale\hi"
Opera.locale.hr.Copy=16422,"Opera\locale\hr"
Opera.locale.hr.Del=16422,"Opera\locale\hr"
Opera.locale.hu.Copy=16422,"Opera\locale\hu"
Opera.locale.hu.Del=16422,"Opera\locale\hu"
Opera.locale.it.Copy=16422,"Opera\locale\it"
Opera.locale.it.Del=16422,"Opera\locale\it"
Opera.locale.ja.Copy=16422,"Opera\locale\ja"
Opera.locale.ja.Del=16422,"Opera\locale\ja"
Opera.locale.ko.Copy=16422,"Opera\locale\ko"
Opera.locale.ko.Del=16422,"Opera\locale\ko"
Opera.locale.mk.Copy=16422,"Opera\locale\mk"
Opera.locale.mk.Del=16422,"Opera\locale\mk"
Opera.locale.nb.Copy=16422,"Opera\locale\nb"
Opera.locale.nb.Del=16422,"Opera\locale\nb"
Opera.locale.nl.Copy=16422,"Opera\locale\nl"
Opera.locale.nl.Del=16422,"Opera\locale\nl"
Opera.locale.nn.Copy=16422,"Opera\locale\nn"
Opera.locale.nn.Del=16422,"Opera\locale\nn"
Opera.locale.pl.Copy=16422,"Opera\locale\pl"
Opera.locale.pl.Del=16422,"Opera\locale\pl"
Opera.locale.pt.Copy=16422,"Opera\locale\pt"
Opera.locale.pt.Del=16422,"Opera\locale\pt"
Opera.locale.pt-BR.Copy=16422,"Opera\locale\pt-BR"
Opera.locale.pt-BR.Del=16422,"Opera\locale\pt-BR"
Opera.locale.ru.Copy=16422,"Opera\locale\ru"
Opera.locale.ru.Del=16422,"Opera\locale\ru"
Opera.locale.sv.Copy=16422,"Opera\locale\sv"
Opera.locale.sv.Del=16422,"Opera\locale\sv"
Opera.locale.tr.Copy=16422,"Opera\locale\tr"
Opera.locale.tr.Del=16422,"Opera\locale\tr"
Opera.locale.zh-cn.Copy=16422,"Opera\locale\zh-cn"
Opera.locale.zh-cn.Del=16422,"Opera\locale\zh-cn"
Opera.locale.zh-tw.Copy=16422,"Opera\locale\zh-tw"
Opera.locale.zh-tw.Del=16422,"Opera\locale\zh-tw"
Opera.program.plugins.Copy=16422,"Opera\program\plugins"
Opera.program.plugins.Del=16422,"Opera\program\plugins"
Opera.styles.images.Copy=16422,"Opera\styles\images"
Opera.styles.images.Del=16422,"Opera\styles\images"
Opera.styles.user.Copy=16422,"Opera\styles\user"
Opera.styles.user.Del=16422,"Opera\styles\user"

[Opera.Copy]
"c3nform.vxml",c3nform.vxm,,4
"chartables.bin",chartabl.bin,,4
dialog.ini,,,4
english.lng,,,4
"fastforward.ini",fastforw.ini,,4
"html40_entities.dtd",html40en.dtd,,4
License.rtf,,,4
lngcode.txt,,,4
Opera.dll,,,4
Opera.exe,,,4
"operadef6.ini",operadef.ini,,4
OUniAnsi.dll,,,4
"plugin-ignore.ini",pluginig.ini,,4
search.ini,,,4
"spellcheck.dll",spellche.dll,,4
"spellcheck.ini",spellche.ini,,4
"xmlentities.ini",xmlentit.ini,,4

[Opera.classes.Copy]
opera.jar,,,4
"opera.policy",opera.pol,,4

[Opera.defaults.Copy]
"embedded_keyboard.ini",embedded.ini,,4
"embedded_menu.ini",embedd_0.ini,,4
"embedded_mouse.ini",embedd_1.ini,,4
"operadef6.adr",operadef.adr,,4
"standard_keyboard.ini",standard.ini,,4
"standard_menu.ini",standa_0.ini,,4
"standard_mouse.ini",standa_1.ini,,4
"standard_toolbar.ini",standa_2.ini,,4
"standard_voice.ini",standa_3.ini,,4

[Opera.program.Copy]
netscape.exe,,,4

[Opera.skin.Copy]
"standard_skin.zip",standard.zip,,4
"windows_skin.zip",windowss.zip,,4

[Opera AddRegg]
HKU,"S-1-5-18\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\runmoper.exe",0x0,"7z SFX archive tool"
HKU,"S-1-5-18\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\moper.exe",0x0,"moper"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML\shell",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML\shell\open",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image\shell",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image\shell\open",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.Image\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003_Classes\Opera.HTML\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Plugin Path",0x0,"%16422%\Opera\Program\Plugins"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Create Desktop icon",0x0,"0"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Create Quicklaunch icon",0x0,"1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Create Startmenu icons",0x0,"1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Last Directory3",0x0,"%16422%\Opera\"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Last CommandLine",0x0,"%16422%\Opera\opera.exe"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Last CommandLine v2",0x0,"%24%Program Files\Opera\Opera.exe %16422%\Opera\Opera.exe"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML\shell",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML\shell\open",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image\shell",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image\shell\open",,0x10
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.Image\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML","FriendlyTypeName",0x0,"Opera"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML\shell\open\command",,0x0,"""%16422%\Opera\Opera.exe"" ""%%1"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Classes\Opera.HTML\DefaultIcon",,0x0,"""%16422%\Opera\Opera.exe"",1"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\WinRAR\DialogEditHistory\WizArcName","0",0x0,"Opera925"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Sysinternals\Regmon","InFilters",0x1,50,6f,77,65,72,44,56,44,00,64,76,64,00,74,6f,74,61,6c,00,78,6e,76,69,65,77,00,6f,70,65,72,61,00,00
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Plugin Path",0x0,"%16422%\Opera\Program\Plugins"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Last Directory3",0x0,"%16422%\Opera\"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Last CommandLine",0x0,"%16422%\Opera\opera.exe"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Last CommandLine v2",0x0,"%24%Program Files\Opera\Opera.exe %16422%\Opera\Opera.exe"""
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\ShellNoRoam\MUICache","D:\zagr\CD Shell Tools\CDROM\Интернет\Opera 9-24\Opera_9.24_International_Setup.exe",0x0,"Setup Launcher                                                                                                                                                                                                                                                  "
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\Opera.exe",0x0,"Opera Internet Browser"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\Opera.exe",0x0,"Opera Internet Browser"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\reg","c",0x0,"D:\zagr\addon\Reg 16jv 111\opera.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\reg","d",0x0,"D:\zagr\addon\Reg 16jv 111\opera 1.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\reg","e",0x0,"D:\zagr\addon\reestr\opera.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\reg","f",0x0,"D:\zagr\addon\reestr\opera1.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\*","b",0x0,"D:\zagr\addon\reestr\opera1.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\*","f",0x0,"D:\zagr\addon\Reg 16jv 111\opera.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\*","j",0x0,"D:\zagr\addon\Reg 16jv 111\opera 1.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\*","i",0x0,"D:\zagr\addon\reestr\opera.reg"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Installer\Products\984319613E5BE304FA3DB291BB4E464D","ProductName",0x0,"Opera 9.24"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Installer\Products\984319613E5BE304FA3DB291BB4E464D\SourceList","PackageName",0x0,"Opera installer.msi"
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Microsoft\Installer\Features\984319613E5BE304FA3DB291BB4E464D","Opera",0x0
HKU,"S-1-5-20\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\runmoper.exe",0x0,"7z SFX archive tool"
HKU,"S-1-5-20\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\moper.exe",0x0,"moper"
HKU,"S-1-5-19\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\runmoper.exe",0x0,"7z SFX archive tool"
HKU,"S-1-5-19\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\moper.exe",0x0,"moper"
HKU,".DEFAULT\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\runmoper.exe",0x0,"7z SFX archive tool"
HKU,".DEFAULT\Software\Microsoft\Windows\ShellNoRoam\MUICache","%16422%\Opera\moper.exe",0x0,"moper"
HKLM,"SYSTEM\CurrentControlSet\Control\Video\{1C3448D3-CF0E-4737-93FF-1F642FFC2B75}\0000","_operationflashpoint.exe:D3DOGL_67207556",0x1,01,00,40,02
HKLM,"SYSTEM\CurrentControlSet\Control\Video\{1C3448D3-CF0E-4737-93FF-1F642FFC2B75}\0000","_covertoperations.exe:D3DOGL_67207556",0x1,09,00,40,02
HKLM,"SYSTEM\ControlSet002\Control\Session Manager\FileRenameOperations",,0x10
HKLM,"SYSTEM\ControlSet002\Control\BackupRestore\KeysNotToRestore","Pending Rename Operations",0x10000,"CurrentControlSet\Control\Session Manager\PendingFileRenameOperations"
HKLM,"SYSTEM\ControlSet001\Control\Video\{1C3448D3-CF0E-4737-93FF-1F642FFC2B75}\0000","_operationflashpoint.exe:D3DOGL_67207556",0x1,01,00,40,02
HKLM,"SYSTEM\ControlSet001\Control\Video\{1C3448D3-CF0E-4737-93FF-1F642FFC2B75}\0000","_covertoperations.exe:D3DOGL_67207556",0x1,09,00,40,02
HKLM,"SYSTEM\ControlSet001\Control\Session Manager\FileRenameOperations",,0x10
HKLM,"SYSTEM\ControlSet001\Control\BackupRestore\KeysNotToRestore","Pending Rename Operations",0x10000,"CurrentControlSet\Control\Session Manager\PendingFileRenameOperations"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Compatibility","OPERATOR",0x0,"0x02000000"

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[Strings]
PROG_DIR        ="Opera"
PROG_NAME        ="Opera"
SRTC_NAME        ="Opera 9"
PROG_VERS        ="9.25 build 8827"
PROG_INF        ="Opera.inf"
PROG_1        =Opera.exe
PROG_2        =Opera
PROG_SDIR        =""
PROG_SDIR2        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Browzer"

если можно, подскажите, в чом разница? как я понимаю, тут отличия в CopyFiles и секции реестра, секции касающиеся удаления проги я выбросил намерено, поскольку с таким большим листингом сообщение не отправлялось. Но опяь же, отличия в CopyFiles поидее не должны влиять на появление ярлыков, остается секция реестра, но тут я абсолютный ноль. Было бы ещё хорошо, если б подсказали где описываються ветки реестра, в том числе и запуск Quick Launch, к сожалению эта ссылка мне мало чего дала http://forum.oszone.net/thread-99098-5.html хотя может и не стоило наскоком все читать, может где-то что-то пропустил

jameszero 17-02-2008 20:41 742567

DyadyaGenya
С синтаксисом AddReg вы разобрались, это уже хорошо, но снимок реестра после снятия нужно ещё проанализировать. В данном случае строки вида
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\
могут применяться только на вашем компьютере и только в установленной на данный момент системе, потому что на другом компьютере комбинация цифр будет другая. Это так называемый SID(security identifier) - идентификатор безопасности, он всегда уникален и создаёт его система. Вы не сможете внести данные в несуществующий SID, на этом аддон и стопорится.
Если закоментируете секцию AddReg, то аддон установится с ярлыками.

К тому же, большая часть вашего снимка реестра не имеет отношение к Opera, это системные записи Windows.

Следующий этап - вам нужно научиться отделять записи относящиеся к программе от системного "шума"

Цитата:

может и не стоило наскоком все читать, может где-то что-то пропустил
Читать безусловно стоит, но не стремитесь сразу создать аддон включающий все премудрости. Начните с простых программ состоящих и нескольких файлов и не создающих записей в реестре, так будет легче трассировать листинг.
А чтобы разобраться с ярлыками, вот для примера inf, не копирущий ни одного файла, не добавляющий записей в реестр, а просто создающий ярлык к Блокноту в панели QuickLaunch
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[DefaultInstall]
ProfileItems=PROG.AddShortcut

[PROG.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =10,,%PROG_1%
WorkingDir        =10
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[Strings]
SRTC_NAME        ="Блокнот"
PROG_1        =Notepad.exe
PROG_SDIR        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Просмотр и редактирование текстовых документов"


Master of Magic 17-02-2008 21:42 742601

А можно как нибудь SID сделать переменным(условным, как пути %systemroot% и т.д.) , что б он ставился на любую систему.

jameszero 17-02-2008 21:52 742608

Master of Magic
Устанавливать программы нужно в текущий профиль, тогда он будет продублирован в соответствующий SID
На примере предыдущего вопроса
Код:

HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\Opera Software","Plugin Path",0x0,"%16422%\Opera\Program\Plugins"
меняем на
Код:

HKСU,"Software\Opera Software","Plugin Path",0x0,"%16422%\Opera\Program\Plugins"

Master of Magic 18-02-2008 04:44 742781

16419 - All Users\Application Data
Как узнать число для Current Users вместо All Users?

jameszero 18-02-2008 08:32 742826

Master of Magic

Using Dirids
Цитата:

53 User profile directory
Цитата:

Цитата jameszero
%USERPROFILE% = профилю Default User, пока не будет создан реальный профиль. »


Master of Magic 18-02-2008 14:16 743025

Спасибо jameszero.
На msdn написано, что число дерикторий от -1 through 32767, что означают остальные?

dimich22 18-02-2008 15:12 743066

По-моему как-то раз здесь это проскакивало. Да и через темы в шапке найти можно. В общем, вот список:
;
Цитата:

Value Destination Directory
;
; 01 SourceDrive:\pathname (the directory from which the INF file was installed)
; 10 Windows directory
; This is equivalent to %windir%.
; 11 System directory
; This is equivalent to %windir%\system32 for NT-based systems,
; and to %windir%\system for Windows 9x/Me.
; 12 Drivers directory
; This is equivalent to %windir%\system32\drivers for NT-based platforms,
; and to %windir%\system\IoSubsys on Windows 9x/Me platforms.
; 17 INF file directory
; 18 Help directory
; 20 Fonts directory
; 21 Viewers directory
; 23 Color directory (ICM) (not used for installing printer drivers)
; 24 Root directory of the system disk.
; This is the root directory of the disk on which Windows files are installed.
; For example, if dirid 10 is "C:\winnt", then dirid 24 is "C:\".
; 25 Shared directory
; 30 Root directory of the boot disk, also known as "ARC system partition,"
; for NT-based systems. (This might or might not be the same directory as
; the one represented by dirid 24.)
; 50 System directory for NT-based operating systems
; This is equivalent to %windir%\system (NT-based systems only).
;
; 51 Spool directory (not used for installing printer drivers see Printer Dirids)
; 52 Spool drivers directory (not used for installing printer drivers)
; 53 User profile directory
; 54 Directory where ntldr.exe and osloader.exe are located (NT-based systems only)
; 55 Print processors directory (not used for installing printer drivers)
; -1 Absolute path
;
;
; Value Shell Special Folder
;
; 16406 All Users\Start Menu
; 16407 All Users\Start Menu\Programs
; 16408 All Users\Start Menu\Programs\Startup
; 16409 All Users\Desktop
; 16415 All Users\Favorites
; 16419 All Users\Application Data
; 16422 Program Files
; 16427 Program Files\Common
; 16429 All Users\Templates
; 16430 All Users\Documents

Master of Magic 18-02-2008 19:06 743228

dimich22, спасибо конечно за список, я сам его приводил, с этими директориями все понятно, остальные 15000 тысяч что означают?

DyadyaGenya 18-02-2008 20:57 743362

jameszero,
Цитата:

Цитата jameszero
DyadyaGenya
С синтаксисом AddReg вы разобрались, это уже хорошо, но снимок реестра после снятия нужно ещё проанализировать. В данном случае строки вида
HKU,"S-1-5-21-725345543-1425521274-2147112213-1003\Software\
могут применяться только на вашем компьютере и только в установленной на данный момент системе, потому что на другом компьютере комбинация цифр будет другая. Это так называемый SID(security identifier) - идентификатор безопасности, он всегда уникален и создаёт его система. Вы не сможете внести данные в несуществующий SID, на этом аддон и стопорится.
Если закоментируете секцию AddReg, то аддон установится с ярлыками.
К тому же, большая часть вашего снимка реестра не имеет отношение к Opera, это системные записи Windows. »

в очередной раз большое спасибо. После Вашего ответа возникло 2 вопроса

1.-Попробовал выбросить данные про реестр, и все аддоны вроде заработали, ярлики создаються, проги запускаються и удаляються, может я мало попробовал их юзать? но вроде все срабатывает, тогда зачем было создавать секцию AddReg ?
2.-Я уже пробовал найти литературу про шумы в реестре, выкачал Window_s_XP_Registry_Gude.djvu по ссылке на странице твиков, но там ничо не нашел, может и читал наскоком, вот и не заметил, да и так немного полистал форум, и тоже ничего не нашел, что подскажете для этого?


Цитата:

Цитата jameszero
Читать безусловно стоит, но не стремитесь сразу создать аддон включающий все премудрости. Начните с простых программ состоящих и нескольких файлов и не создающих записей в реестре, так будет легче трассировать листинг.
А чтобы разобраться с ярлыками, вот для примера inf, не копирущий ни одного файла, не добавляющий записей в реестр, а просто создающий ярлык к Блокноту в панели QuickLaunch »

Спасибо и за эту подсказку, но я уже вобщем разобрался с ярлыками, уже писал что аддоны работают, просто непонятно почему одна и та же прога добавляет ярлыки а другая нет и сразу высказал предположение что разница в данных реестра, для этого и приводил пример листинга двух аддонов одной проги

jameszero, прошу прощение за повторы цитат и сообщений, почему-то иногда давжды копируется, хотя все внимательно читаю прежде чем отправить :-) и жму легонечко на кнопку :-) а потом сижу и жду пока появится в списке сообщений мой текст, а там опять повтор, так что ещё раз извиняюсь, если после меня приходится чистить посты :-) я не специально :-)

gora 18-02-2008 22:11 743416

Цитата:

Цитата DyadyaGenya
извиняюсь, если после меня приходится чистить посты :-) я не специально :-) »

Вы можете почистить их самостоятельно, используя надпись "Редактировать" в вашем посте. :)

DyadyaGenya 19-02-2008 11:42 743718

gora, спасибо за подсказку, я как всегда невнимателен :-)

Brainrif 19-02-2008 22:37 744234

Вложений: 1
Master of Magic, вот, держи "16410 - %userprofile%\Application Data", а ещё посмотри вложение - может пригодится... :) :oszone: и ещё цитата с MSDN "Dirid values from 16384 through 32767 are reserved for special shell folders" (только непонятно для каких)...

Brainrif 19-02-2008 23:40 744266

DyadyaGenya, попробуйте воспользоваться программой Install Rite , которая делает снимки до и после установки программы. Если будут вопросы - задавайте, можно и в личку...

mercuryn 22-02-2008 10:14 746012

ALL
Господа Авторы аддонов!
Хотелось бы обратить Ваше внимание на следующую проблему - стандарты в технологиях оформления и использования аддонов.
Любая, и особенно, коллективная работа в одной области требует не только принятия, но и использования целого ряда стандартов. Без них невозможно состыковать отдельные части более целой системы.
Ну а как в области аддонов???
Для авторов аддонов есть определённые правила их описания, которые не выполняются, например - нет .nfo или .txt для целого ряда аддонов - wa_Java, SunJRE5, SPTD, Service, RCadmin, QuickTime_Alternative, DelWinTOUR, DelMSMSGS, Del ZoneGames, Del MSNExplr, Cpuz, CDCloseExe, CabTools, AdobeReader, 3rdParty и других, что делает бесполезным очень нужный аддон HTMLINFO...
Для написания GUI интегратора (я был против, но раз процесс начался...) аддоны должны соответствовать целому ряду стандартов, например:
- как быть с аддонами типа HashTab, где требуется предварительно выбрать режим работы или вариант аддона;
- как будет реализована работа с аддоном tcpip, который в процессе интеграции требует диалога...

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

DyadyaGenya 22-02-2008 13:51 746162

jameszero,
Brainrif,
и все остальные форумчане, подскажите пожалуйста, в какие аддоны sysoc типа обязательно добавлять данные реестра, а в какие нет, вопрос возник потому что в инструкции добавление стоит обязательным пунктом, а на практике оказываеться уже больше 10 аддонов работает без этого, нормально устанавливаеться, добавляються ярлыки, удаляються через анинстал, и прочие, среди программ есть аддон Неро 7, который тоже в глюках пока не замечен, ну если не считать активации :-) которая получаеться необходимой в любом аддоне, и в PDVD и др

gora 22-02-2008 15:06 746216

Цитата:

Цитата DyadyaGenya
подскажите пожалуйста, в какие аддоны sysoc типа обязательно добавлять данные реестра, а в какие нет »

В аддоны, не зависимо от их типа, можно добавлять записи в реестр, а можно и не добавлять. Все зависит от самого приложения которое Вы хотите превратить в аддон. Если приложение при установке прописывает что то в реестр и без этих записей отказывается нормально работать, то будьте любезны предусмотреть аналогичные записи в своем аддоне. Если приложение просто распаковывается и не делает записей или их отсутствие ни как не сказывается на работе приложения и носит надстроечный характер, то можно их в аддоне и не делать. Однако даже для таких приложений можно делать записи в реестр, если Вы хотите что то настроить в программе, а она хранит свои настройки в реестре.
Вывод: каждая программа требует тщательного исследования, на предмет необходимых для ее успешной работы и настройки ключей реестра. Автоматизации этот процесс пока не поддается!

DyadyaGenya 22-02-2008 15:49 746250

gora, огромное спасибо, теперь понял что проверять все необходимо методом научного втыка :-)

Master of Magic 23-02-2008 02:40 746617

mercuryn, стандартизация только по вопросам
Цитата:

оформлении и технологии аддонов
не нужна, оформление - это дело личное, стандарты на технологию аддонов, уже введена microsoft-ом, а вот обновить статью http://forum.oszone.net/post-434018-30.html, было бы очень неплохо.

volk1234 23-02-2008 13:30 746787

Цитата:

Цитата mercuryn
нет .nfo или .txt для целого ряда аддонов »

Я весьма сомневаюсь, что дискусия к чему-то приведет. Но могу предложить нечто на тему Addon.nfo

Инструкция по стандартизации аддонов :)
читать дальше »

п.п. 5.
Цитата:

Цитата Petya V4sechkin
Addon.nfo - краткая информация об аддоне и дата создания (при сборке все эти файлы сливаются в один ADDONS.TXT, который пишется в корень дистрибутива);

Addon.nfo обязателен для всех аддонов в целях юзабилити. Стандартная структура файла Addon.nfo:

1. Название аддона и версия программы для которой делается аддон : Аддон(Аддон-конструктор) NETSKY 3.1.1.2
2. Дата создания аддона: 01.01.2008
3. Версия аддона: v 0.8

4. Тип интеграции аддона: SVCPACK.inf
5. Требуемые компоненты: аддон 3rdParty

6. Краткое описание: Этот замечательные вирус испробовали многие пользователи по всему свету. Вот я и решил сделать небольшой аддончик.

7.Сайт производителя программы:www.xaker.org
8.Автор аддона: Destruktor

Итого имеем:
Addon.nfo
Код:

Аддон(Аддон-конструктор) NETSKY 3.1.1.2
Дата создания аддона: 01.01.2008
Версия аддона: v 0.8

Тип интеграции аддона: SVCPACK.inf
Требуемые компоненты: аддон 3rdParty

Этот замечательные вирус испробовали многие пользователи по всему свету.
Вот я и решил сделать небольшой аддончик.

Сайт производителя программы:www.xaker.org
Автор аддона: Destruktor


mercuryn 24-02-2008 12:13 747346

volk1234, Master of Magic, незнание хотя бы основ понятий ISO-9000 "Авторами аддонов" не освобождает от обязанности следовать уже существующим правилам и рекомендациям...
Вся Windows построена на массе стандартов и правил, что обеспечивает её совместимость снизу вверх, кроме тех программ, где игнорировали эти стандарты и правила... А здесь стоят вопросы сохранения функциональности получаемой системы...
PS
Мне не хотелось никого обидеть, но приходилось заниматься достаточно крупным проектом, где набивая массу шишек пришли к выводу, что без неё, родимой, стандартизации спецификаций просто систему не сделать! Думали что открыли Америку, черта с два, ISO 9000 уже тогда существовало. Правда не очень понимали о чем в нём речь. Поняли бы раньше - жили б с Сочи...
Возможно на этом форуме многие смогут понять меру ответственности за используемый другими дополнительный продукт к одному из сложнейших программных продуктов Windows.
Если только не заниматься шапкозакидательством, к чему это приводит...

volk1234 24-02-2008 15:01 747415

mercuryn
Ваши рассуждения о ISO 9000 понятны.
Но стандартизация предпологается на всех этапах - входном, производственном и выходном.
А здесь все делает один человек, его не стандартизируешь, учитывая ухищрения необходимые для создания некоторых аддонов.
Кроме того все аддоны, сам update pack поставляются на условиях as is. Никто не заставляет вас или других устанавливать эти программы,
если желаете, то lделаете это на свой риск.
Незабывайте, что авторы аддонов "люди творческие, чувственные", работают за бесплатно, и имеют свою точку зрения, загнать их в рамки Iso 9000, просто не получится. Некоторым проще будет уйти на другой сайт где их не загоняют в рамки школьной программы - сидеть так, отвечать так, ходить строем.

Главное я считаю, результат, если аддон работает, и пользуется популярностью, пользователи довольны, значит некоторые отступления можно простить и отнести их на индивидуальность проекта.
Я считаю, это дело администраторов - планировать и предлогать средства для облегчения поиска и использования распологаемых на сайте матеръялов. Пример:wiki со списком аддонов. Возможно не все еще сделано для удобства....
Отсуствие описания в аддоне не является катострафическим, большинство активных пользователей здесь, половину аддонов может создать самостоятельно, так что без описания они смогут обойтись.
Добавлю, лично я всегда добавляю в аддон addon.nfo(как знак вежливости к правилам установленным создателем update pack), и Read.me с инструкциями из шапки темы. Описание программы и ее выходные данные - это обще принятый стандарт и правила поведения.

mercuryn 24-02-2008 15:40 747432

volk1234,
Цитата:

Цитата volk1234
Незабывайте, что авторы аддонов "люди творческие, чувственные", работают за бесплатно, и имеют свою точку зрения »

Сделать 1-2 аддона по шаблонам ещё ничего не означает. А вот у "чувственных" от собственной значимости иногда и крыша едет...
Приношу извинения, если кого обидел, но не хотелось анархии, а похоже...

gora 27-02-2008 11:27 749144

Цитата:

Цитата mercuryn
незнание хотя бы основ понятий ISO-9000 »

Я, как наверное и многие другие авторы аддонов, не являюсь IT специалистом и не знаком с ISO-9000. Я простой пользователь! :) Но тоже считаю, что некая "стандартизация" в аддонописательстве необходима.
В "инструкцию" от volk1234 я бы добавил:
1) Ссылка на ветку форума аддона (если таковая есть, и аддон не является "кукушонком", но это предмет отдельного разговора)
2) Пункт 6 должен содержать не только краткое описание программы, но и тонкости/варианты установки аддона, если таковые имеются. Наличие дополнительных ReadMe считаю излишним.
Необходимо оговорить форматирование строк в файле Addon.nfo, а то сейчас можно встретить как строки разной величины ограничения, так и вообще отсутствие такового. Например, не более 80 символов в строке.
Необходимо оговорить недопустимые спец. символы в этом файле. Читал, что означенные приводили к нежелательным последствиям в аддоне HTMLINFO.
Названия папки с аддоном должно быть беспробельным и не содержать спец. символов. Максимальную длину тоже желательно установить.
Название .ехе файлов, для варианта установки SVCPACK, должно быть в формате 8.3 и не содержать пробелов и спец. символов.
Необходимость наличия пустой папки Compressed в аддоне типа SVCPACK, где она не используется вызывает у меня сомнения. Я ее не делаю. Но если "стандарт" предпишет ее наличие, подчинюсь.

prokazzza 27-02-2008 22:50 749585

gora,

Цитата:

Цитата gora
Аддоны могут быть трех типов интеграции »

Четырех:)

gora 27-02-2008 23:11 749591

Цитата:

Цитата prokazzza
Четырех »

А подробнее? Что то Вы смотрю все критикуете да замечания делаете. Может опишите четвертый тип?

camo 01-03-2008 16:22 751268

Приветствую, Уважаемые!
Не могли бы Вы быть столь любезны, дать немного информации по аддону z_Log?
Перерыл весь форум и ничего не нашел, кроме фака, разумеется.
Извините, если не по адресу.
Спасибо!

DyadyaGenya 03-03-2008 20:20 752659

ALL я конечно выскажусь не по теме, но кто подскажет как добавляются в аддонах sysoc записи в Панель управления/установка и удаление программ? это переносятся записи реестра?

И для тех кто обсуждает инструкцию по созданию аддонов и стандарты почему никто не вспоминает про аддоны интегрируемые nLite? там я пока sysoc типа не встречал, но и просто SVCPACK тоже не срабатывает, хотя внутри он очень на него похож. Думаю многие пользователи используют оба типа обработки дистрибутива винды. Или это не в этой теме?

gora 03-03-2008 21:36 752697

Цитата:

Цитата DyadyaGenya
Думаю многие пользователи используют оба типа обработки дистрибутива винды. Или это не в этой теме? »

Вероятно Вы ошибаетесь на счет "многие". Вот что написано в "Диагностике проблем":
Цитата:

Цитата Vadikan
Если вы применяете nLite на любом из этапов работы с дистрибутивом и у вас возникают проблемы впоследствии, то не задавайте вопрос в этом форуме. Авторы наборов и аддонов не имеют возможности смоделировать все сценарии nLite, и следовательно не могут вам помочь. Уважайте их время и труд

Источник здесь

DyadyaGenya 03-03-2008 22:14 752716

gora, видимо я не совсем правильно сформулировал вопрос
во-первых, с nLite особых проблем нет, тем более что я больше вырезаю им, а интегрировать понравилось паком от Пети, и кстати, не я один, тут же на форуме многие так делают. да ещё и дрова интегрируют от Башара. А вот аддоны вообще не хотят встраиваться, сразу ошибку выдают

во-вторых, аддоны, по идее, штука более менее стандартизирована, читал в этой же ветке, что еещё майкрасофт написал некотрые стандарты, вот и возник вопрос, чем отличаются аддоны для пака от Пети и для nLite. Я догадывался, (читал факью ещё до начала прочтения всей ветки) что здесь не совсем место, вот и написал
Цитата:

Цитата DyadyaGenya
Или это не в этой теме? »

тут я больше имел ввиду то, что если есть у кого то инфа по правильной ветке форума, или вообще про наличие другого форума с этой темой, так чтоб поделились, а меня этот вопрос интересует больше из спортивного и научного интереса, вот и все.

в-третих, тут писали про разные виды аддонов, мол их 4 вида. вот ещё один повод был задать этот вопрос именно здесь :-)

в-четвертых, может подскажите как добавляются в аддонах sysoc записи в Панель управления/установка и удаление программ? в том же факью, я ещё в первый день на форуме прочитал пункт про диагностику поблем от Vadikan и такие действия делал уже не раз, но проблему понять не могу, хотя если просто вывести ярлык для функции анинстал допустим в програм, то срабатывает, не говоря уже о ручном нажатии при захождении в папку

YikxX 03-03-2008 23:02 752753

DyadyaGenya, вот тут все аддоны под nLite. Скачайте и сравните с аналогичными для апдейтпака от Пети. Так как я какую-либо обработку дистриба русской ХР nLite'ом вообще неприемлю, то я не разбирался, какие различия... Придется вам. :)

gora 04-03-2008 09:21 752934

Цитата:

Цитата DyadyaGenya
подскажите как добавляются в аддонах sysoc записи в Панель управления/установка и удаление программ? »

Пример строк "отвечающих за деинсталляцию" в аддоне DrWeb444
Код:

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\DrWeb32W.Exe"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","DisplayName",,"DrWeb v %PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","DisplayVersion",,"v %PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","Publisher",,"%PROG_MADE%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\DrWeb.inf,Uninstall"

Хотя это и комбинированный аддон, но эта запись находиться как раз в "SYSOC-овской" части аддона.

DyadyaGenya 04-03-2008 12:26 753070

gora, большое спасибо, самое обидное, что я сегодня ночью дома нашел описание в инструкции по работе с инф файлами, могу выложить тут для ленивых и невнимательных как я :-) ведь читал уже эту статью, и не раз, а заметил токо сегодня :-(
Код:

Название        Тип строки        INF-cтрока записи в реестр        Описание
Поддерживается MS Windows 95, 98, NT и выше:

DisplayName        REG_SZ        HKLM,"%Key%","DisplayName",,"Program_Name"        Имя программы, отображаемое в утилите деинсталляции
UninstallString        REG_SZ        HKLM,"%Key%","UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx C:\Windows\Inf\program.inf,Uninstall,,64,A"        Строка, выполняемая при деинсталляции пакета
DsiplayIcon        REG_SZ        HKLM,"%Key%","DisplayIcon",,"C:\program.exe,0"        Отображение ICO-пиктограммы, указывается путь к файлу с пиктограммой и её номер в списке существующих, начинащемся с нуля
Поддерживается MS Windows 2000 и выше:

DisplayVersion        REG_SZ        HKLM,"%Key%","DisplayVersion",,"10.241.8.44"        Версия программы
HelpLink        REG_SZ        HKLM,"%Key%","HelpLink",,"http://company.com/support.php"        URL технической поддержки программы
ModifyPath        REG_SZ        HKLM,"%Key%","ModifyPath",,"rundll32.exe params"        Команда, выполняемая при нажатии кнопки "Заменить"
EstimatedSize        REG_DWORD        HKLM,"%Key%","EstimatedSize",0x10001,"1024"        Размер установленной программы в Кбайтах
NoRemove        REG_DWORD        HKLM,"%Key%","NoRemove",0x10001,"0"        Флаги блокировки удаления, обновления или восстановления установленной программы. Полезно для разного рода хотфиксов и апдейтов.
NoModify        REG_DWORD        HKLM,"%Key%","NoModify",0x10001,"0"
NoRepair        REG_DWORD        HKLM,"%Key%","NoRepair",0x10001,"0"
        [strings]
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Program_Name"

YikxX, за ссылку на аддоны для nLite тоже спасибо, в ветке посвященной nLite её нет, есть другие, я там тоже задавал вопрос чем же отличаються эти аддоны от аддонов для пака от Пети, ведь они визуально похожи на SVCPACK, я их и в каб запаковывал, и архивы делал, и смд для них создавал, ничо не помагает, и на ветке тоже молчат, а обидно, хотелось бы создать что-то универсальное.
и цититируя
Цитата:

Цитата YikxX
Так как я какую-либо обработку дистриба русской ХР nLite'ом вообще неприемлю »

а как же тогда вырезать ненужные вещи из дистрибутива, я понимаю, что с появлением поголовной dvdзации :-) вопрос места как бы решен, но тем не менее? разве в паке от Пети есть такая функция? вроде ветку про пак читал, хотя может опять невнимательно? :-(

Anakin 04-03-2008 12:30 753075

Цитата:

Цитата DyadyaGenya
разве в паке от Пети есть такая функция? »

Да есть, есть такая функция. "Все дело в перце" (c). а точнее - в файлах DelOC и DelDrv;)

DyadyaGenya 04-03-2008 12:57 753095

Anakin, если можно, дайте ссылку на эту опцию в ветке про пак, шоб не засорять эту ветку

gora 04-03-2008 13:44 753125

Цитата:

Цитата DyadyaGenya
DsiplayIcon REG_SZ HKLM,"%Key%","DsiplayIcon",,"C:\program.exe,0" Отображение ICO-пиктограммы, указывается путь к файлу с пиктограммой и её номер в списке существующих, начинащемся с нуля »

Наверное правильнее DisplayIcon ;)

DyadyaGenya 04-03-2008 14:25 753139

gora, ну это не я :-) просто цитата статьи, даже не успел проверить, но ща попробую пост подправить :-)

Boa Soft 06-03-2008 01:28 754330

При разработке и тестировании GUI-интегратора заметил еще такую беду.

Только не свою, а авторов DEL - аддонов. В некотрых случаях, достаточно серьезную.

Во-первых, не надо вообще трогать DelOC.lst, если только вам не нужно удаление ссылки на inf из sysoc.inf
Во-вторых, не надо дублировать файлы в DelOC.lst и DelDrv.lst.
В третьих, не надо плодить дубли такого типа logon.exe и logon.ex_. Достаточно только logon.exe, если он будеть упакован и иметь имя logon.ex_, то и патч пакета и интегратор его найдет и удалит. В-четвертых, самое плохое. Если указать файл logon.ex_, то и патч и интегратор удалит его из i386, а ссылки в txtsetup/dosnet останутся. Причина - из имени файла легко получить его сжатое имя, а обратно - только распаковав cab. Гадать, какое было исходное расширение, ни пак ни интегратор не умеет. А это неминуемая ошибка при установке, еще на начальном этапе.

Вобщем, DelDrv.lst - удаляет фалы из любого многофайлового CAB`а и из директории i386 как в сжатом так и в несжатом виде. Кроме того, происходит удаление строк, в которых присутствует имя файла из txtsetup.sif, dosnet.inf, drvindex.inf.

DelOC.lst- удаляет фалы только из директории i386 как в сжатом так и в несжатом виде. Кроме того, происходит удаление строк, в которых присутствует имя файла из txtsetup.sif, dosnet.inf. Так же, в отличии от DelDrv.lst, если встречается файл с расширением inf, то кроме всего, проверяется, не встречается ли его имя в sysoc.inf, и при наличии вся строка, содержащая его удаляется.

Anakin 06-03-2008 10:54 754492

Boa Soft, тогда может исправить скрипт на предмет переименования этих файлов, скажем, переименовать DelDrv.lst в DelFiles.txt? А то странно получится, что для удаления, например, стандартных аватарок надо использовать DelDrv.lst (совсем неочевидный факт, но раз не надо DelOC.lst трогать).

Boa Soft 06-03-2008 11:25 754506

Anakin,
Уже стандарт устоялся. Поэтому переименовывать ненадо.
Можно и использовать DelOC.lst, но не надо одинаковые имена загонять в оба списка. К тому же, DelOC.lst не удаляет файлы из многофайловых кабов.

zeroua 09-03-2008 12:29 756399

может кто-то сделает из Патч - Памятка для меню Выполнить (Run) 2.0 полноценный, универсальный с возможностью использовать его без Виста-патч и так далее аддона

IDDQDesnik 09-03-2008 14:21 756461

zeroua,
все давно есть http://forum.oszone.net/post-527214-32.html

volk1234 09-03-2008 21:14 756661

кто нить помогите разобратся с uninstall
вот делал аддон - пример для инструкции
все замечательно устанавливается,
но не анинсталится.

Вернее совсем не понятно расхождение, описанного в учебнике по Inf и структура готовых аддонов.
как добавить аддон в список удаления программ понятно, но непонятны следующие вещи:
1. Почему недостаточно просто использовать DelDir? Зачем удалять файлы по одному, а затем удалять директории?
2. Строка HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\MYProgram,"UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx %17%\MY.inf,Uninstall,,64,A" обязательно должна иметь
параметр Uninstal? или допускается любое имя секции?
3. В некоторых аддонах есть другое присвоение Uninstall=SectionName, это я так понимаю больше для встроенных в программу анинсталяторов?
4. Даже если и необходимо сначало удалять файлы поименно, зачем создавать отдельные секции удаления для всех фалов, дублирующие секции копирования?
5. И естественно, почему не работает мой инф, я его уже искромсал, оставил одно удаление файлов, но они не удаляются:(

Drinko 10-03-2008 03:01 756803

volk1234,
А почему Вы не используете:
Код:

[Uninstall]
BeginPrompt                =BeginUnInsPrompt
RunPreSetupCommands        =Close.Prog:1
RunPostSetupCommands        =Dir.Delete
EndPrompt                =EndUnInsPrompt

[BeginUnInsPrompt]
Title=Деинсталляция %PROG_NAME%
Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType=YESNO

[Close.Prog]
TASKKILL /F /IM %PROG_1%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.

[Strings]
PROG_NAME        ="Program_Name"
PROG_DIR        ="Program_Name"
PROG_1                =Program_Name.exe


volk1234 10-03-2008 10:51 756886

Drinko
Спасибо за отклик.
Я видел этот шаблон от jameszero.

Вообще, насчитал как минимум 3 способа uninstal через inf:

1. Который указали вы, через advpack.dll,DelNodeRunDLL32

2. Который пытаюсь отработать я через advpack,LaunchINFSectionEx %17%\program.inf,Uninstall,,64,A"
даже без deldir

3.uninstal=sectionname,
[sectionname]
uninstal.exe
без учета удаления ялыков,записей реестра и удаления используемых папок.

Просто в учебнике по Inf который указан в шапке используется именно этот(2й в моем списке) способ
Я исходил из того, что новый человек, как и я сначала захочет сделать все по инструкции, а потом начнет потрошить
аддоны и искать более сложные примеры. Я даже strings не хотел использовать, однако в процессе экспериментов решил
польностью продублировать как в учебнике по inf. Что интересно в процессе экспериментов я пытался запустиь эту строку
без инфа черз rundll32, и в итоге удаления или прибавления кавычек или запятых удаление отработала из моего инфа :)
К сожалению повторить сей результат я не смог :(

greg_b 10-03-2008 16:50 757115

volk1234,
1 - DelDir - применять лучше для самих каталогов, при копировании и удалении файлов лучше испольщовать разные секции, т.к. иногда используется переименование файлов из формата 8.3 в LFN, обход защиты от записи файлов.
2 - в inf-файле должна быть полноценная секция uninstall
3 - необязательно - можешь сгенерить ссылку на свой uninstall.bat файл
4 - см п. 1
5 - неверное описание секции uninstall. Посмотри для примера кусок файла mplayerc.inf:
Код:

[mplayerc.Uninstall] 
PreInstallCommand = UnRunCmd 
DelFiles=mplayerc.Del,mplayerc.lang.del, mplayerc.data.del 
Run=mplayerc.AdvInfCall 
ProfileItems=mplayerc.DelItems1,mplayerc.DelItems2 
RunPreSetupCommand = UnRunCmd   

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

[mplayerc.Uninstal.DelDirs] 
DelDirs=mplayerc.DelDirs 

[UnRunCmd]
%16422%\MPlayer Classic\mplayerc.exe /unregvid

[mplayerc.DelDirs]
"%16422%\MPlayer Classic"

[Strings]
RunOnceKey        ="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"


volk1234 10-03-2008 20:04 757328

greg_b спасибо за ответ.

Цитата:

Цитата greg_b
2 - в inf-файле должна быть полноценная секция uninstall »

так и не понял,
вопрос был
Цитата:

Цитата volk1234
2. Строка HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\MYProgram,"UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx %17%\MY.inf,Uninstall,,64,A" обязательно должна иметь параметр Uninstal? или допускается любое имя секции? »

и что за цифра 64 и буква А в учебнике по INF ?

Просто первое на что я подумал, эта строка. Возможно неправильно указанны папраметры uninstall string.

В вашем примере, так и непонял, используется ли в исполняемой секции следующая запись: Uninstall = mplayerc.Uninstall

greg_b 10-03-2008 20:59 757355

volk1234,
1 - речь о полноценной секции [UNINSTALL], с набором всех комманд по очистке от установки
2 - помоему строка у вас сударь неверная, надо как-то вот так:
%11%\rundll32.exe advpack,LaunchINFSection %17%\myprg.inf,Uninstall,4 -
кстати проверь результат записи в реестр, возможно надо настравить кавычек.

volk1234 10-03-2008 22:39 757403

Цитата:

Цитата greg_b
речь о полноценной секции [UNINSTALL] »

Сделал отдельные секции для удаления, файлы удалились замечательно.
Возникла проблема №2 не удаляются папки
привожу код. Подозрения на кавычки в вызове advpack, но перепробЫвал все варианты кавычек и слэшей в переменных...
Код:

[NL.Uninstall]
DelFiles=DelCopyMain, DelCopyConfig, DelCopyHelp, DelCopyHist, DelCopyLang, DelCopySkin, DelCopySound, DelCopyTools, DelCopyInf, DelRenToolsLang
DelReg=Dreg
Run=NL.AdinfCall

[NL.AdinfCall]
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\netlook.inf"",NL.DD,4"
TickCount=500

[NL.DD]
DelDirs=dirs

[dirs]
%16422%\Netlook

[Dreg]
HKLM,"%Key%"

[strings]
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Netlook"


Drinko 10-03-2008 23:02 757423

Цитата:

Цитата volk1234
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\netlook.inf"",NL.DD,4" »

вроде так:
Commandline=""%11%\rundll32.exe" advpack.dll,LaunchINFSection \ "%17%\netlook.inf",NL.DD,4""

volk1234 10-03-2008 23:16 757434

Цитата:

Цитата Drinko
Commandline="%11%\rundll32.exe" advpack,LaunchINFSection "%17%\netlook.inf",NL.DD,4" »

куда кавычку подевали?
пробовал в 4 вариантах непомогает
без кавычек с одними кавычками и с двумя кавычками... :(
Код:

%11%\rundll32.exe advpack,LaunchINFSection %17%\netlook.inf,NL.DD,4
"""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\netlook.inf"",NL.DD,4"
""%11%\rundll32.exe" advpack,LaunchINFSection "%17%\netlook.inf",NL.DD,4"

прям заколдованный какойто аддон. Папки как влитые сидят. Нашел в одном аддоне вариант
с cmd /c rd /s /q спецом убрал ключи скрывающие окошко. Походу недоходит до выполнения даже этой команды(cmd не появляется),
однако файлы и данные из реестра удаляет....

Drinko 10-03-2008 23:23 757440

volk1234,
не advpack, а advpack.dll

volk1234 11-03-2008 00:18 757480

Цитата:

Цитата Drinko
не advpack, а advpack.dll »

что в лоб что полбу

Drinko 11-03-2008 00:31 757494

Код:

%16422%\Netlook
в кавычки

ЗЫ возможно какой-то процесс сидит, и папку удалить из-за этого невозможно...

volk1234 11-03-2008 00:41 757499

Цитата:

Цитата Drinko
в кавычки »

и в кавычки и обратный слэш

jameszero 11-03-2008 08:30 757630

volk1234
А файл netlook.inf в папку Windows\inf не забыли скопировать?

volk1234 11-03-2008 10:47 757691

еслибы. И копировал и переименовывал и так оставлял.
Вот что у меня получилось с вашей помощью,
файлы , ярлыки, записи в реестре, удаляются. Папки остаются. :(

и еще скрипт для генерации аддонов, почемуто в секции анинсталяции
предлагает вот такой путь "%-1%/Netlook/ вместо %1642%...

vek 11-03-2008 10:58 757707

Код:

...[Uninstall]
BeginPrompt                =BeginUnInsPrompt
ProfileItems                =PROG.DelShortcut
RunPostSetupCommands        =Dir.Delete
DelReg                        =PROG.DelReg
EndPrompt                =EndUnInsPrompt
[BeginUnInsPrompt]
Prompt=Программа %PROGNAME%  удалить?
[EndUnInsPrompt]
Prompt=Программа %PROGNAME% удалена.
[Close.Prog]
TASKKILL /F /IM %EXENAME%
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROGDIR%
[PROG.DelReg]
HKLM,"%UNINSTALL%"
[PROG.AddReg]
HKLM,"%UNINSTALL%","DisplayIcon",0,"%16422%\%PROGDIR%\%EXENAME%"
HKLM,"%UNINSTALL%","DisplayName",,"%PROGNAME%"
HKLM,"%UNINSTALL%","DisplayVersion",,"v%VERSION%"
HKLM,"%UNINSTALL%","Publisher",,"%PABLISHER%"
HKLM,"%UNINSTALL%","URLInfoAbout",,"%URL%"
HKLM,"%UNINSTALL%","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %NAMEINF%, UnInstall"
...
[Strings]
PROGNAME        ="Regshot v.1.7"
PROGPATH        =
UNINSTALL        ="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RegshotClassic"
PROGDIR        ="Regshot v.1.7"
EXENAME        ="regshot.exe"
VERSION        ="1.7.2.2"
PABLISHER        ="OSzone.net"
URL                ="https://sourceforge.net/projects/regshot"
NAMEINF        ="regshotcl.inf"
SHPATH                ="Утилиты"
SHINFO                ="Снимок реестра"
...

Кусочек кода, который отвечает за деинсталяцию вместе с папками.

jameszero 11-03-2008 11:34 757725

volk1234
Поскольку удаление папок осуществляется через advpack, то вместо инструкции Run нужно использовать RunPostSetupCommands
Run обрабатывается только через setupapi

volk1234 11-03-2008 11:51 757740

помогло предложение jameszero
и разглядывание инфа созданного скриптом

работает только такой вариант
с RunPostSetupCommands и удаление папок по одной:
Код:


[NL.Uninstall]
DelFiles=DelCopyMain, DelCopyConfig, DelCopyHelp, DelCopyHist, DelCopyLang, DelCopySkin, DelCopySound, DelCopyTools, DelCopyInf, DelRenToolsLang
DelReg=Dreg
ProfileItems        =        ShortcutD
RunPostSetupCommands=NL.AdinfCall

[NL.AdinfCall]
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\netlook.inf"",NL.DD,4"

[NL.DD]
DelDirs=dirs

[dirs]
"%16422%\Netlook\Tools\Configurator\Languages"
"%16422%\Netlook\Tools\Configurator"
"%16422%\Netlook\Tools"
"%16422%\Netlook\Sound"
"%16422%\Netlook\Skin"
"%16422%\Netlook\Languages"
"%16422%\Netlook\Help"
"%16422%\Netlook\Config"
"%16422%\Netlook"

[Dreg]
HKLM,"%Key%"

[ShortcutD]
Name                =        "Netlook 2.3",0x00000002
SubDir                =        "Утилиты"

[strings]
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Netlook"


greg_b 11-03-2008 21:13 758132

volk1234,
Цитата:

Цитата volk1234
удаление папок по одной »

- ну вот и разобрался, я на аналогичные грабли наступал с аддоном qip infium - там море папок, удлял по одной в обратном порядке.

vek 11-03-2008 22:11 758183

volk1234&greg_b
Что-то я Вас не понял. Задача стоит удалить все папки либо по одной?
Код:

rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROGDIR%
Такая строчка удалит полностью корневую папку со всеми вложенными.
Вот пример кода для QIP Infinum 9000b
Код:

[Uninstall]
BeginPrompt                =BeginUnInsPrompt
ProfileItems                =PROG.DelShortcut
RunPostSetupCommands        =Dir.Delete
DelReg                        =PROG.DelReg
EndPrompt                =EndUnInsPrompt


[BeginUnInsPrompt]
Prompt=Программа %PROGNAME%  удалить?
[EndUnInsPrompt]
Prompt=Программа %PROGNAME% удалена.

[Close.Prog]
TASKKILL /F /IM %EXENAME%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROGDIR%

[PROG.AddReg]
HKLM,"%UNINSTALL%","DisplayIcon",0,"%16422%\%PROGDIR%\%EXENAME%"
HKLM,"%UNINSTALL%","DisplayName",,"%PROGNAME%"
HKLM,"%UNINSTALL%","DisplayVersion",,"v%VERSION%"
HKLM,"%UNINSTALL%","Publisher",,"%PABLISHER%"
HKLM,"%UNINSTALL%","URLInfoAbout",,"%URL%"
HKLM,"%UNINSTALL%","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %NAMEINF%, UnInstall"

[PROG.DelReg]
HKLM,"%UNINSTALL%"

[PROG.AddShortcut]
Name                =%PROGNAME%
CmdLine        =16422,%PROGDIR%,%EXENAME%
WorkingDir        =16422,%PROGDIR%
SubDir                =%SHPATH%
InfoTip                =%SHINFO%

[PROG.DelShortcut]
Name                =%PROGNAME%,0x00000002
SubDir                =%SHPATH%

[Strings]
PROGNAME        ="QIP Infium"
PROGPATH        =
UNINSTALL        ="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QIP Infium"
PROGDIR        ="QIP Infium"
EXENAME        ="infium.exe"
VERSION        ="9000 b"
PABLISHER        ="OSzone.net"
URL                ="http:\\www.qip.ru"
NAMEINF        ="qipinfium.inf"
SHPATH                ="Интернет"
SHINFO                ="ICQ-клиент"


volk1234 12-03-2008 00:14 758249

Цитата:

Цитата vek
Что-то я Вас не понял. Задача стоит удалить все папки либо по одной? »

Цитата:

Цитата volk1234
Просто в учебнике по Inf который указан в шапке используется именно этот(2й в моем списке) способ
Я исходил из того, что новый человек, как и я сначала захочет сделать все по инструкции, а потом начнет потрошить
аддоны и искать более сложные примеры. Я даже strings не хотел использовать, однако в процессе экспериментов решил
польностью продублировать как в учебнике по inf. »

Стояла задача создать максимально простой учебный аддон для инструкции. Пример Punto switcher от jameszero неплохой, но более сложный. И в нем используется скрипт для генерации inf, что несовсем прозрачно.

volk1234 13-03-2008 03:35 759127

vek

Cleanup
[DefaultInstall]
Cleanup=1

Function
This parameter located in an install section is useful for when you want to delete your INF when you uninstall, but you need your INF to finished uninstalling.

In the case where you need a reboot to finish deleting or unregistering a file because it is in use, then your INF may still be needed to do this. This function causes your INF to automatically be deleted when it has finished the uninstall.

источник вроде из win Setup API. А в переведнной статье нет такого упоминания использования Cleanup. Правда API вроде года 99...

вот кстати еще содержимое setupapi.h
....
#define DIRID_USERPROFILE 53
#define DIRID_LOADER 54

#define DIRID_DEFAULT DIRID_SYSTEM

//
// First user-definable dirid. See SetupSetDirectoryId().
//
#define DIRID_USER 0x8000
...
по идее это определяемый dirid ?

Drinko 13-03-2008 04:09 759132

volk1234,
Если Вы об этой статье, то там все это рассматривается...

volk1234 13-03-2008 04:17 759133

Цитата:

Цитата Drinko
о там все это рассматривается... »

если вы вчитывались
здесь речь идет о совершенно другом применнении параметра Cleanup - удаление инф файла после анинстала
а в статье о применении этого параметра для "очистки" папок. Про dirid просто привел новую для меня инфу
что за dirid =0x8000?

Drinko 13-03-2008 05:40 759153

volk1234,

Посмотрите здесь:
http://dev.makingthings.com/browser/atest/SetupAPI.h
http://msdn2.microsoft.com/en-us/lib...82(VS.85).aspx

volk1234 13-03-2008 11:30 759283

drinko-прям гугль.
vek- может всеже пригодится

Irekson 14-03-2008 20:02 760549

Авторам Deladdons
 
Уважаемые авторы DelAddons !

Убедительная просьба скооперировать Ваши усилия !(желательно в одну тему) .
При установке Ваших аддонов вкупе (исключая дубликаты и реализованные разными путями, например OOBE),
ошибки возникают всегда, даже при чистой установке UpdatePack-XPSP2-Rus (без единого addona) любой версии.
Ошибки возникают , если не при установки, то при запуске всегда чего-то не хватает.

greg_b 15-03-2008 11:35 760829

Irekson, каждый пользует что ему надо, так что про гибрид речи не идет. Если надо - собери самостоятельно в кучу все сам:
для удаления из ОС - DelOC.lst объеденить
для удаления драйверов - DelDrv.lst объеденить
и пост обработку собрать на базе файликов Finish
пару тестов на виртуалке - и у вас рабочий гибрид.

P.S.: сделанное вручную всегда приятней подсмотренного

ya158 15-03-2008 13:47 760882

Цитата:

Цитата Irekson
ошибки возникают всегда »

Поподробнее, пожалуйста. Я использую одновременно
DelBMPinWin
DelDamp
DelGameContr
DelLanDrv
DelLang
DelMSMSGS
DelMSNExplr
DelP2P
DelPinball
DelScreenSaver
DelSearchAssistant
DelSoundDrv
DelSpeechSupport
DelTransferTool
DelUpgrade9x
DelVideoDrv
DelWinTOUR
DelZoneGames
и проблем нет.

Цитата:

Цитата Irekson
еализованные разными путями, например OOBE »

А есть несколько аддонов, удаляющих ООВЕ?

Wills 15-03-2008 14:15 760893

Цитата:

Цитата ya158
и проблем нет. »

ЕСТЬ!, вот например: когда интегрирую с аддоном DelSearchAssistant,на установленной винде,когда жму на кнопку ПОИСК, у меня завершается процесс "explorer.exe"

ya158 15-03-2008 14:52 760916

Цитата:

Цитата Wills
ЕСТЬ!, вот например: когда интегрирую с аддоном DelSearchAssistant,на установленной винде,когда жму на кнопку ПОИСК, у меня завершается процесс "explorer.exe" »

Никогда с таким не сталкивался. А это точно от этого аддона?

Wills 15-03-2008 14:58 760924

Цитата:

Цитата ya158
А это точно от этого аддона? »

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

ya158 15-03-2008 15:48 760963

Wills,
Тогда, может быть, это от несовместимости DelSearchAssistant с какими-нибудь другими аддонами. Давай во-первых? перейдем в тему по DelSearchAssistant , а, во-вторых, напиши список своих аддонов.

Irekson 15-03-2008 21:09 761198

Когда удаляю ЗНАКОМСТВО с WINDOWS
При первой загрузке система выводит значок знакомства с windows на панель рядом с часами, при нажатии на значок, система естественно его не может найти

ya158
"А есть несколько аддонов, удаляющих ООВЕ?"

насчет ООВЕ я имел ввиду аддон для полного удаления и аддон для подмены HTML.

Irekson 15-03-2008 21:35 761223

greg_b
Цитата:

Irekson, каждый пользует что ему надо, так что про гибрид речи не идет. Если надо - собери самостоятельно в кучу все сам
Я конечный пользователь и хотелось бы не напрягаться самому, придумывая велосипед, когда есть такой форум и такие люди как Ты например, тем более я не умею и нет времени на это. Это конечно все относится к аддонам DEL, все остальное разумеется компонуешь сам.

И еще раз просьба создать отдельную тему, одну, по DelAddons - и каждый там выберет то, что ему нужно, главное их безконфликтность друг с другом и.т.д, и.т.п

P.S.

На счет "Конечного пользователя" думаю GUI интегратор в его конечном варианте будет большой прорыв

greg_b 15-03-2008 22:19 761267

Irekson,
во-первых - я использую 21 отдельный аддон по удалению компонент - глюков нет, смысл собирать их в один?
во-вторых - "Конечному пользователю" не лишне почитать и мануал как и что, полезно будет.

no404error 15-03-2008 23:51 761332

Irekson
Цитата:

Я конечный пользователь и хотелось бы...
...подумать о другом "конечном пользователе", которому ваша солянка не нужна, а нужны перчики фаршированые. Для того аддоны и не объединяют что бы иметь право выбора между тем что нужно "конечному пользователю".

p.S.
Цитата:

Партия сказала: "надо", комсомол ответил: "есть!".

Irekson 16-03-2008 00:15 761343

Цитата:

Для того аддоны и не объединяют что бы иметь право выбора между тем что нужно "конечному пользователю".
Вы меня не правильно поняли

Я имел ввиду не собирать все эти аддоны в один, а объединить их все в одной теме, чтобы конечный пользователь не рыскал по всему форуму и wiki (где их несколько), а выбирал их в одной теме (каждый по отдельности) посвященной удалению компонентов

Righter 16-03-2008 11:21 761498

Подскажите, как сделать в меню пуск ярлык на "Установка и удаление программ"?
При установке я удаляю ярлыки "Каталог Windows.lnk", "Microsoft Update.lnk", "Выбор программ по уиолчанию.lnk" из меню пуск, но хотелось бы видеть там установку и удаление программ.
Если в панели управления сделать ярлык, то он в свойствах не показывает куда ссылается. Я вычислил, что это "C:\WINDOWS\system32\appwiz.cpl". Но значек получается корявый.
Короче, может кто знает, как сделать правильно ярлык?

DyadyaGenya 16-03-2008 13:39 761589

Righter, тут эта тема обсуждалась не раз :-) сам наступал на эти грабли, смотреть можно и статье про инф файл,ссылка в заглавии ветки форума, и тут в посте от:
Цитата:

Цитата gora
Пример строк "отвечающих за деинсталляцию" в аддоне DrWeb444
Код:
Код:

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\DrWeb32W.Exe"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","DisplayName",,"DrWeb v %PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","DisplayVersion",,"v %PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","Publisher",,"%PROG_MADE%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DrWeb_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\DrWeb.inf,Uninstall"

Хотя это и комбинированный аддон, но эта запись находиться как раз в "SYSOC-овской" части аддона. »

и от меня: :-)
Цитата:

Цитата DyadyaGenya
Код:
Код:

Название Тип строки INF-cтрока записи в реестр Описание
Поддерживается MS Windows 95, 98, NT и выше:
DisplayName REG_SZ HKLM,"%Key%","DisplayName",,"Program_Name" Имя программы, отображаемое в утилите деинсталляции
UninstallString REG_SZ HKLM,"%Key%","UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx C:\Windows\Inf\program.inf,Uninstall,,64,A" Строка, выполняемая при деинсталляции пакета
DsiplayIcon REG_SZ HKLM,"%Key%","DisplayIcon",,"C:\program.exe,0" Отображение ICO-пиктограммы, указывается путь к файлу с пиктограммой и её номер в списке существующих, начинащемся с нуля
Поддерживается MS Windows 2000 и выше:
DisplayVersion REG_SZ HKLM,"%Key%","DisplayVersion",,"10.241.8.44" Версия программы
HelpLink REG_SZ HKLM,"%Key%","HelpLink",,"http://company.com/support.php" URL технической поддержки программы
ModifyPath REG_SZ HKLM,"%Key%","ModifyPath",,"rundll32.exe params" Команда, выполняемая при нажатии кнопки "Заменить"
EstimatedSize REG_DWORD HKLM,"%Key%","EstimatedSize",0x10001,"1024" Размер установленной программы в Кбайтах
NoRemove REG_DWORD HKLM,"%Key%","NoRemove",0x10001,"0" Флаги блокировки удаления, обновления или восстановления установленной программы. Полезно для разного рода хотфиксов и апдейтов.
NoModify REG_DWORD HKLM,"%Key%","NoModify",0x10001,"0"
NoRepair REG_DWORD HKLM,"%Key%","NoRepair",0x10001,"0"
 [strings]
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Program_Name"

»

Righter, хотя может я не правильно понял вопрос, может другой тип аддона испльзуете? тут все примеры sysoc аддонов

Righter 16-03-2008 16:18 761630

DyadyaGenya, не свосем понял о чем вы. Мне нужно в пуск добавить ярлык, который будет ссылаться на "Установка и удаление программ". Вот и всё.

Сейчас он ссылается на объект "%SYSTEMROOT%\system32\appwiz.cpl" и ярлык берет там же. Работает правильно, но если создавать ярлык из панели управления, то в качестве объекта так и пишется "Установка и удаление программ". Вот я думаю может я могу так же сделать.

greg_b 16-03-2008 18:58 761703

Irekson,
1 - конечный пользователь юзает готовый дистриб, а вы получается где-то посерединке, но работать и вкладывать силы в разработку не хотите.
2 - научитель пользоваться поиском и отбором по форуму - очень полезно, т.к. вопросы вашего рода очень большая редкость.

gora 17-03-2008 14:28 762164

Разбираясь с возможными причинами некорректной работы некоторых аддонов использующих ключи HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx обнаружил следующее:
1 Отсутствует "стандартизация" для аддонописателей на номера/буквы ключей используемых в этих аддонах. Это может привести к тому, что два и более аддона будут создавать одноименные ключи и соответственно правильно сработает только последний из них, т.к. затрет предыдущие. Узнать об использовании аддоном данного ключа(ей) без "разборки" аддона не представляется возможным, а это по силам далеко не каждому пользователю.
2 Некоторым из аддонов может потребоваться перезагрузка после завершения установки и тогда каждый такой аддон будет ее производить, хотя, возможно, хватило бы и одной после установки всех.

Предложение:
1 Информация об использовании аддоном ключа HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx с конкретным номером(и) должна быть доступна пользователю и где то написана, например, в addon.nfo.
2 Сделать некий "стандартный" аддон (вроде 3rdParty) производящий перезагрузку после отработки всех аддонов использующих данный ключ. В остальных аддонах, так же использующих данный ключ и требующих перезагрузки указывать на необходимость использовать этот "стандартный" аддон.

Если Вам известны другие способы выхода из данной ситуации, поделитесь ими.

PS Прикрепил вариант такого аддона.

DyadyaGenya 19-03-2008 21:00 763859

all у меня вопрос, разбираясь с деинсталяцией приложений установленных через sysoc аддон появилась мысль, (хотя это может опять же из-за моей невнимательности, мог не увидеть что эта тема уже обсждалась), а почему когда добавляют запись в панель управления/установка и удаление программ, для деинсталяции, да и вообще в инф-файле для анинстала используют такую сложную систему с удалением файлов, директорий и записей реестра? не проще ли добавть ссылку на саму деинсталяцию проги, которая есть почти во всех устанавливаемых прогах? я добавил, все удалилось прекрасно. Вот пример добавления ветки реестра в управление/установка и удаление программ для winamp

Код:

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%","UninstallString",0x0,"""%16422%\Winamp\UninstWA.exe"""
получилось проще и без всяких секций типа [PROG.DelReg], [PROG.Uninstall], [DelFiles]

DyadyaGenya 19-03-2008 21:19 763876

Righter, я вас действительно не правильно понял потому что думал, что вопрос который вы задали, относиться к написанию аддонов, а если вам просто надо сделать ярлык в меню пуск, так это решаеться твиком при установке винды, только надо определиться куда именно ставить, в пуск, или пуск/программы, будут отличаться. Подробней в ветке по твикам,здесь, чтоб сильно не заморачиваться воспоминаниями могу привести пример вставки в контектное меню

Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\4]
@="Панель управления"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\4\command]
@="rundll32.exe shell32.dll,Control_RunDLL"

но повторюсь, похоже вам надо в другую ветку :-)

ya158 19-03-2008 21:21 763878

Цитата:

Цитата DyadyaGenya
не проще ли добавть ссылку на саму деинсталяцию проги »

А если этого файла нет? Файл деинсталяции появляется, если для инсталяции используется установщик типа Inno. При использовании sysoc используются только файлы самой программы, а служебные типа UninstWA.exe не нужны. Дополнительный плюс sysoc - можно при установки программы дополнительно скопировать/установить некоторые файлы (плагины, дополнения и т. п.), а так же добавить запись в "Установку компонентов Windows", что в свою очередь даёт возможность многократно устанавливать.деинсталировать программу из "Установки компонентов Windows". Кстати программы частенько создают записи в реестре и новые файлы при работе, которые штатный деинсталятор не удаляет, а через inf файл их можно удалить.

DyadyaGenya 20-03-2008 11:19 764174

ya158, да я как бы не против, просто я скомбинировал и тот и тот способ в одном инф файле, получилось меньше строк в инф-файле, типа упростилась задача, появился выбор чего удалять, чего оставлять, ну а таких программ у которых нет родного деинсталятора не так уж много и не часто они создают дополнительные записи в реестр да и дополнительных плагинов у них не много. И я конечно не такой большой специалист, но помоему и инсталяторы типа msi создают подобные служебные приложения, да и если вдруг прога добавила запись в установку и удаление програм и имеет там функцию анинтстала то эту запись легко вычислить в реестре и добавить. Да и часто конечному пользователю, особенно начинающему, много дополнительных плагинов не нужно, а достаточно стандартной поставки

gora 20-03-2008 12:59 764240

DyadyaGenya, к сказанному ya158 можно добавить и то, что некоторые установщики создают файл деинсталляции соизмеримый по размерам с самой программой, особенно когда сама программа небольшая!!! Включение такого деинсталлятора приведет к увеличению размера аддона, а оно нам надо!? :dont-know

DyadyaGenya 20-03-2008 16:17 764361

gora, вообще то я имел ввиду те случаи когда
Цитата:

Цитата DyadyaGenya
часто конечному пользователю, особенно начинающему, много дополнительных плагинов не нужно, а достаточно стандартной поставки »

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

gora 20-03-2008 16:32 764371

Цитата:

Цитата DyadyaGenya
поэтому повторюсь, имеет ли смысл в некоторых случаях для простоты написания ... использовать ссылку на файлик деинсталяции »

Коротко - Да. Ключевое слово здесь "в некоторых случаях".
Цитата:

Цитата DyadyaGenya
для ... уменьшения размера »

А вот это очень сомнительно! Мне не встречались деинсталляторы которые были бы меньше чем запись в inf файле относящаяся к удалению программы. ;)

ya158 20-03-2008 19:25 764479

DyadyaGenya,
Ко всему сказанному выше можно добавить, что зачастую штатный деинсталятор не удаляет всего, что наинсталировала прога. Например, разделы реестра и папки в пользовательском профиле, котрые создаются при первом запуске программы. Хотя, конечно, что бы удалить их через inf надо точно знать что и где создаётся. Ещё один плюс inf'a - это, то что всё четко и прозрачно видно, что устанавливается и что удаляется.

vserd 21-03-2008 10:38 764850

Цитата:

Цитата DyadyaGenya
проще ли добавть ссылку на саму деинсталяцию проги, которая есть почти во всех устанавливаемых прогах »

Если устанавливать через инсталятор, то проще. Если без инсталятора, то нет. Кроме этой программы деинсталяции есть еще и настроечный файл в котором собственно и прописывается что нужно снести. Все что добавлено позже не удалится, нужно подчищать ручками.

DyadyaGenya 22-03-2008 12:15 765516

ya158, и vserd, спасибо за отзывы, и чтоб закрыть дисскусию, повторюсь, преимущества инф файла я вобщем знаю, и как подметил gora, использование родного деинсталятора имеет смысл в некоторых случаях, именно в тех, в которых я и спрашивал :-) все равно, конечный пользователь, (если вы ставите систему не себе, и в день по нескольку раз и разным юзерам), если вдруг надумает добавить плагины и какие нибудь настройки в конкретныую прогу, ни файл деинсталяции, ни инф-файл не смогут подчистить сразу все, и придеться подчищать в ручную, в конце концов, не будет же он ради правильной деинсталяции одной проги переустанавливать винду с новой версией аддона :-)

gora 25-03-2008 09:50 767132

2 ALL
Аддон x-Reset10, о котором я писал здесь, "поселен" в эту ветку.

DyadyaGenya 27-03-2008 12:53 768879

такой вопрос, разбирался с разными вариантами деинсталяции приложений в аддонах sysoc, собирал их с помощью утилиты от XXXler кажется jameszero писал к ней инструкцию. Данная утилитка создает секцию [AdvInfCall] которая якобы может запустить секцию удаления файлов, вот такой листинг:
Код:

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

но, если не добавлять в секцию [Winamp.Uninstall] строки DelDirs=Winamp.DelDirs то [Winamp.AdvInfCall] не срабатывает, если поставить точку с запятой перед Run=Winamp.AdvInfCall или вообще её убрать, что одно и тоже, то строка DelDirs=Winamp.DelDirs отрабатывает на ура, а эту строку я вношу руками, так вот, хотелось бы знать где причина не срабатывания Run=Winamp.AdvInfCall которая создаеться утилиткой?

ya158 27-03-2008 19:41 769247

DyadyaGenya,
Данная секция всего лишь запускает секцию Winamp.Uninstal.DelDirs. Логика такая:

1. Run=Winamp.AdvInfCall говорит, что в секции Winamp.AdvInfCall при помощи параметра Commandline запускается интерпретатор AdvancedINF, который в свою очередь запускает секцию Winamp.Uninstal.DelDirs в файле Winamp.inf.
2. Теперь надо создать секцию Winamp.Uninstal.DelDirs, в которой будет инструкция на удаление необходимых директорий. Это можно сделать тремя способами -
см. инструкцию

Обрати внимание, что секция, которая запускается при помощи
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\Winamp.inf"",Winamp.Uninstal.DelDirs,4"
должна называться Winamp.Uninstal.DelDirs

DyadyaGenya 28-03-2008 20:00 770055

ya158, да в том то и дело, что она есть, и вроде даже прописываю, странно, когда использую промт и в нем прописываю
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

то все красиво срабатывает, понимаю, что может пример не коректный, просто тоже с использованием rundll32.exe advpack.dll
а в предыдущем примере указанная секция есть, вот она:
[Winamp.Uninstal.DelDirs]
DelDirs=Winamp.DelDirs
по идее должна была удалить

volk1234 28-03-2008 22:34 770139

DyadyaGenya,
я кода пример аддона netlook писал для руководства столкнулся с похожей проблемой,
мне здесь помогли:
volk1234
Поскольку удаление папок осуществляется через advpack, то вместо инструкции Run нужно использовать RunPostSetupCommands
Run обрабатывается только через setupapi
http://forum.oszone.net/post-757725-446.html

и в руководстве по созданию аддонов в примере создания аддона Netlook http://forum.oszone.net/post-762548-474.html
посмотрите про деинсталяцию, я также споткнулся на удалении папок, хотел удалять как по инструкции, а потом использовать более продвинутые методы.
Если вкратце для удаления папок пользуйтесь RunPostSetupCommands вместо Run и Удаляйте структуру папок снизу предварительно удалив файлы.

Код:

Имеем структуру папок:
Folder
 -subfolder1
    --subsubfolder1
 -subfolder2

Условным кодом удаляем:

Del subsubfolder1
Del subfolder1
Del subfolder2
Del Folder


ya158 30-03-2008 11:06 770830

Цитата:

Цитата DyadyaGenya
ya158, да в том то и дело, что она есть, и вроде даже прописываю, странно, когда использую промт и в нем прописываю
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%
то все красиво срабатывает, понимаю, что может пример не коректный, просто тоже с использованием rundll32.exe advpack.dll
а в предыдущем примере указанная секция есть, вот она:
[Winamp.Uninstal.DelDirs]
DelDirs=Winamp.DelDirs
по идее должна была удалить »

В первом примере можно удалять НЕПУСТЫЕ директории, а во втором примере каталог Winamp.DelDirs перед удалением должен быть ПУСТЫМ. Попробуй перед
DelDirs=Winamp.DelDirs
вставить строку
Cleanup=1
Для удаления с помощью rundll32.exe синтаксис должен быть следующим:

Код:

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

[Winamp.Uninstal.DelDirs]
RunPreSetap=Winamp.Uninstal.Del:1

[Winamp.Uninstal.Del]
rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%"


DyadyaGenya 30-03-2008 23:00 771187

ya158, про
Цитата:

Цитата ya158
Cleanup=1 »

я читал в статье и пробовал сам, в том числе и DelFiles=files все равно не удаляет, потому и возник вопрос, а про
RunPreSetap не написал только потому что использовал в нем
Код:

rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%
точнее использовал с промтом и как
Цитата:

Цитата volk1234
RunPostSetupCommands »

поэтому и возник вопрос, почему не удаляеться строчкой из заготовки, судя по словам
Цитата:

Цитата volk1234
Поскольку удаление папок осуществляется через advpack, то вместо инструкции Run нужно использовать RunPostSetupCommands
Run обрабатывается только через setupapi »

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

и ещё,
Цитата:

Цитата ya158
Код:
[Winamp.AdvInfCall] Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\Winamp.inf"",Winamp.Uninstal.DelDirs,4" TickCount=500
[Winamp.Uninstal.DelDirs]
RunPreSetap=Winamp.Uninstal.Del:1
[Winamp.Uninstal.Del]
rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%" »

зачем дважды делать телодвижения, если можно сразу вызвать
[Winamp.Uninstal.DelDirs]
RunPreSetap=Winamp.Uninstal.Del:1

volk1234 31-03-2008 19:16 771760

Цитата:

Цитата DyadyaGenya
выходит либо приложение не право, либо я чего-то не понимаю
и ещё, »

Цитата:

Цитата DyadyaGenya
RunPreSetap=Winamp.Uninstal.Del:1 »

RunPreSetap следует писать RunPreSetupCommands

ya158 31-03-2008 20:01 771814

Цитата:

Цитата volk1234
RunPreSetap следует писать RunPreSetupCommands »

Полностью согласен - моя вина - торопился.

Цитата:

Цитата DyadyaGenya
я читал в статье и пробовал сам, в том числе и DelFiles=files все равно не удаляет »

Надо удалить сначала файлы в подпапках, потом подпапки поочереди, потом основную папку, то есть сначала удалить файл C:\Folder\Folder1\files.ext, потом подпапку C:\Folder\Folder1, и только потом папку C:\Folder

Цитата:

Цитата DyadyaGenya
использовал в нем
Код:
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR% »

Надо rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%"

Забыл добавить, что если файл занят каким-либо приложение, то его удалить не удастся - сначала надо выгрузить приложение.
Цитата:

Цитата DyadyaGenya
зачем дважды делать телодвижения, если можно сразу вызвать
[Winamp.Uninstal.DelDirs]
RunPreSetap=Winamp.Uninstal.Del:1 »

Откуда ты собираешься сразу вызвать Winamp.Uninstal.DelDirs? Надеюсь ты не забыл, что Run и Commandline относятся к setupapi (аддон с применением sysoc устанавливается через setupapi), а RunPre(Post)SetupCommands - к advpack. Поэтому setupapi через Run-Commandline вызывает с помощью advpack секцию, в которой идёт обработка RunPre(Post)SetupCommands
Наверное, можно сделать
Код:

Commandline="""%11%\rundll32.exe"" advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%""
но я так не пробовал.
Кстати я ещё заметил, что в некоторых случаях требуется удвоение кавычек, например, ""%11%\rundll32.exe""
И ещё - что ты имеешь ввиду под
Цитата:

Цитата DyadyaGenya
промтом »


gora 01-04-2008 11:19 772223

Господа модераторы!
Цитата:

Цитата Petya V4sechkin
Руководство по созданию аддонов (текущая бета)
обсуждение в этой теме »

Предлагаю выделить написание инструкции в отдельную ветку. В ней автор будет "владеть" шапкой и сможет в шапке своей ветки давать ссылки на части своей инструкции "рассыпанные" в ветке. Так же он сможет закрепить в шапке инструкцию в виде файла и она всегда будет видна "ищущим" ее. Это будет значительно удобнее. ИМХО.

jameszero 01-04-2008 12:12 772265

Выделил обсуждение в отдельную тему Руководство по созданию аддонов (текущая бета)

Просьба ко всем, просмотрите свои посты, если случайно пропустил или перенёс лишний, скиньте в PM ссылку на пост.
Посты датированые до 27-02-2008 19:19 переносить не стал, т.к. они будут расположены раньше поста закреплённого в шапке.

DyadyaGenya 03-04-2008 13:45 773775

ya158, приведу более полные примеры, может так будет больше понятно.
пример работы промта (и для этого примера насколько я понял даже файлы перед удалением папок удалять не нужно) :
Код:

[Winamp.Uninstall]
BeginPrompt                        =BeginUnInsPrompt
RunPreSetupCommands        =Close.Prog:1
RunPostSetupCommands        =Dir.Delete
EndPrompt                        =EndUnInsPrompt
DelReg                        =PROG.DelReg
ProfileItems                        =PROG.DelShortcut,PROG2.DelShortcut

[BeginUnInsPrompt]
Title=Деинсталляция %PROG_NAME%
Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType=YESNO

[Close.Prog]
TASKKILL /IM %PROG_1%
TSKILL %PROG_2%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.

пример как не работает:
Код:

[Winamp.Uninstall]
DelFiles=Winamp.Del,Winamp.Plugins.Del,Winamp.Plugins.avs.Del,Winamp.Plugins.DSP_SPS.Del,Winamp.Plugins.Milkdrop.Del,Winamp.Plugins.ml.Del,Winamp.Skins.Winamp Modern.Del,Winamp.Plugins.avs.Winamp 5 Picks.Del,Winamp.Plugins.freeform.xml.Del,Winamp.Skins.W\
inamp Modern.about.Del,Winamp.Skins.Winamp Modern.notifier.Del,Winamp.Skins.Winamp Modern.player.Del,Winamp.Skins.Winamp Modern.scripts.Del,Winamp.Skins.Winamp Modern.shade.Del,Winamp.Skins.Winamp Modern.standardframe.Del,Winamp.Skins.Winamp Modern.title\
bar.Del,Winamp.Skins.Winamp Modern.window.Del,Winamp.Skins.Winamp Modern.xml.Del,Winamp.Plugins.freeform.wacs.jpgload.Del,Winamp.Plugins.freeform.xml.about.Del,Winamp.Plugins.freeform.xml.checkbox.Del,Winamp.Plugins.freeform.xml.combobox.Del,Winamp.Plugi\
ns.freeform.xml.dropdownlist.Del,Winamp.Plugins.freeform.xml.historyeditbox.Del,Winamp.Plugins.freeform.xml.menubutton.Del,Winamp.Plugins.freeform.xml.msgbox.Del,Winamp.Plugins.freeform.xml.pathpicker.Del,Winamp.Plugins.freeform.xml.popupmenu.Del,Winamp.\
Plugins.freeform.xml.statusbar.Del,Winamp.Plugins.freeform.xml.tabsheet.Del,Winamp.Plugins.freeform.xml.titlebox.Del,Winamp.Plugins.freeform.xml.tooltips.Del,Winamp.Plugins.freeform.xml.wasabi.Del,Winamp.Plugins.freeform.xml.wasabi.fonts.Del,Winamp.Plugi\
ns.freeform.xml.wasabi.garbage.Del,Winamp.Plugins.freeform.xml.wasabi.menu.Del,Winamp.Plugins.freeform.xml.wasabi.Scripts.Del,Winamp.Plugins.freeform.xml.wasabi.window.Del,Winamp.Plugins.freeform.xml.wasabi.xml.Del,Winamp.Plugins.freeform.xml.wasabi.xml.\
groups.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.button.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.editbox.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.slider.Del,Winamp.Plugins.freeform.xml.wasab\
i.xml.xui.standardframe.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.text.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.titlebar.Del
Run=Winamp.AdvInfCall
DelReg=PROG.DelReg
;UnRegisterDlls=Секции отмены регистрации библиотек
ProfileItems=PROG.DelShortcut,PROG2.DelShortcut

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

[Winamp.Uninstal.DelDirs]
DelDirs=Winamp.DelDirs


gora 04-04-2008 12:51 774439

Случайно наткнулся на аддон PxysX Драйвер физического ускорителя который использует для установки ключи HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx, делая запись с номером 7773. Надо отдать должное автору аддона который указал это в шапке. Дело в том, что один из аддонов DotNet11_35 использует (использовал по крайней мере) ключи 777 и 778 и ключ 7773, как это не покажется странным, будет попадать между ними! Windows будет их отрабатывать в следующей последовательности: 777 затем 7773 и только потом 778!!! Возможно ни чего страшного и не произойдет, но, согласитесь, это не порядок. Это прямое следствие отсутствия "стандартов" для аддонописателей. Считаю, что нужно вернуться к прерванному обсуждению СТАНДАРТОВ (не путать с "Руководством по созданию аддонов"). Кто за?

vek 04-04-2008 17:14 774668

gora
Вот интересно, как это стандартизировать? Раздать участникам форума квоту на номера записей в RunOnceEx :-)? Или списочек сделать, какие номера и чем заняты, а какие нет? Хотя я не против стандартизации а наоборот двумя руками "ЗА", но по-моему проблему стандартом не решить. Здесь авторы должны быть просто внимательней и не строить свои аддоны, нарушая последовательность записей. О замечанных нарушениях, ИМХО, необходимо просто писать в соответствующую ветку. Пусть автор переделает. (Что ему сложно другой номер поставить?). А уследить за всеми аддонами просто невозможно.

gora 04-04-2008 17:24 774673

Цитата:

Цитата vek
Вот интересно, как это стандартизировать? »

Можно, например, оговорить применение только трехсимвольных ключей причем, если для аддона их нужно несколько, то только идущих последовательно (случай указанный выше уже не повторится). "Обязать" авторов указывать примененные ими ключи в шапке (в посте) ветки с аддоном, составить список на форуме с занятыми ключами... Придумать то что то можно, вот только было бы желание! :)

Vadikan 05-04-2008 07:22 775091

Цитата:

Цитата gora
ключи 777 и 778 и ключ 7773, как это не покажется странным, будет попадать между ними! Windows будет их отрабатывать в следующей последовательности: 777 затем 7773 и только потом 778!!! »

В RunOnceEx допускается диапазон 000 - 999, ЕМНИП, поэтому 7773 и обрабатывается таким образом, типа десятичной дроби...

Цитата:

Цитата vek
Или списочек сделать, какие номера и чем заняты, а какие нет? »

Почему бы и нет? Были бы желающие вести такой список... Собственно, gora то же самое и говорит :)

Цитата:

Цитата gora
Можно, например, оговорить применение только трехсимвольных ключей »

Обязательно. В данном случае автор проявил совершенно ненужную изобретательность, и ему нужно об этом сказать. Он же для людей делает аддон, следовательно должен исправить. Если не хочет исправлять, тему можно убить смело - такой футбол нам не нужен :)

ya158 05-04-2008 16:40 775399

Цитата:

Цитата DyadyaGenya
пример как не работает: »

А что у тебя в секции Winamp.DelDirs? И что конкретно не удаляется? А лучше приведи полностью свой inf или выложи куда-нибудь.

DyadyaGenya 05-04-2008 17:06 775418

ya158, не удаляються все директории указанные в списке ниже, хотя файлы из них удалены, остались только пустые папки

Код:

[Winamp.DelDirs]
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/titlebar"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/text"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/standardframe"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/slider"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/editbox"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/button"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/groups"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/window"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/Scripts"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/menu"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/garbage"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/fonts"
"%16422%/Winamp/Plugins/freeform/xml/wasabi"
"%16422%/Winamp/Plugins/freeform/xml/tooltips"
"%16422%/Winamp/Plugins/freeform/xml/titlebox"
"%16422%/Winamp/Plugins/freeform/xml/tabsheet"
"%16422%/Winamp/Plugins/freeform/xml/statusbar"
"%16422%/Winamp/Plugins/freeform/xml/popupmenu"
"%16422%/Winamp/Plugins/freeform/xml/pathpicker"
"%16422%/Winamp/Plugins/freeform/xml/msgbox"
"%16422%/Winamp/Plugins/freeform/xml/menubutton"
"%16422%/Winamp/Plugins/freeform/xml/historyeditbox"
"%16422%/Winamp/Plugins/freeform/xml/dropdownlist"
"%16422%/Winamp/Plugins/freeform/xml/combobox"
"%16422%/Winamp/Plugins/freeform/xml/checkbox"
"%16422%/Winamp/Plugins/freeform/xml/about"
"%16422%/Winamp/Plugins/freeform/wacs/jpgload"
"%16422%/Winamp/Skins/Winamp Modern/xml"
"%16422%/Winamp/Skins/Winamp Modern/window"
"%16422%/Winamp/Skins/Winamp Modern/titlebar"
"%16422%/Winamp/Skins/Winamp Modern/standardframe"
"%16422%/Winamp/Skins/Winamp Modern/shade"
"%16422%/Winamp/Skins/Winamp Modern/scripts"
"%16422%/Winamp/Skins/Winamp Modern/player"
"%16422%/Winamp/Skins/Winamp Modern/notifier"
"%16422%/Winamp/Skins/Winamp Modern/about"
"%16422%/Winamp/Plugins/freeform/xml"
"%16422%/Winamp/Plugins/freeform/wacs"
"%16422%/Winamp/Plugins/avs/Winamp 5 Picks"
"%16422%/Winamp/Skins/Winamp Modern"
"%16422%/Winamp/Plugins/ml"
"%16422%/Winamp/Plugins/Milkdrop"
"%16422%/Winamp/Plugins/freeform"
"%16422%/Winamp/Plugins/DSP_SPS"
"%16422%/Winamp/Plugins/avs"
"%16422%/Winamp/Skins"
"%16422%/Winamp/Plugins"
"%16422%/Winamp"


ya158 05-04-2008 19:01 775498

DyadyaGenya, Вроде всё правильно. Даже и не знаю в чем затык. Могу посоветовать следующее - попробуй по-очереди из различных секций запускать на выполнение заведомо рабочие секции или параметры. То есть, например, поскольку файлы нормально удаляются из секции Winamp.Uninstall, допиши туда DelDirs=Winamp.DelDirs и посмотри будут ли удалятся директории. Также попробуй из секции Winamp.Uninstal.DelDirs удалить\добавить какой-нибудь файл или параметр в реестр и, тогда, можно будет понять запускаятся ли эта секция или нет.

Drinko 05-04-2008 22:02 775692

DyadyaGenya, попробуйте в секцию [Winamp.Uninstal.DelDirs] прописать Cleanup=1

volk1234 06-04-2008 13:10 775965

Цитата:

Цитата DyadyaGenya
[Winamp.Uninstal.DelDirs]
DelDirs=Winamp.DelDirs »

Цитата:

Цитата DyadyaGenya
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR% »

Вы что используете это вместе?
Насколько я понял, DelNodeRunDLL32 удаляет папку с файлами, если они незаняты сисиемой,
так что DelDirs и удаление файлов безполезны, а может и мешают.

DyadyaGenya 09-04-2008 11:45 778041

Drinko, Cleanup=1 вставлял, в принцыпе уже где то выше писал об этом
volk1234, нет :-) их я вместе не использую, это были примеры из разных вариантов инф-файлов, просто вставал вопрос как использую промт, вот его и привел :-) и там же где то написал что этот способ удаляет все содержимое папки с файлами :-)
ya158, буду пробовать, хоть конечно же есть более легкие способы, через тот же промт все красиво получаеться с использованием DelNodeRunDLL32 , но уже стало интересно, хочеться разобраться

gora 11-04-2008 12:17 779453

Vadikan, Petya V4sechkin, jameszero
Цитата:

Цитата Vadikan
В RunOnceEx допускается диапазон 000 - 999, ЕМНИП »

Кто нибудь может дать однозначный ответ на вопросы:
1 Какой диапазон "номеров" "разрешен" в RunOnceEx в теории?
2 Допустимы ли буквы в "номере" этих ключей?
3 Допустима ли кириллица в "номере" этих ключей?
4 Какова последовательность их обработки (если 2 и/или 3 допустимы)?
5 Какой диапазон ключей будет "разрешен" в RunOnceEx для использования в аддонах на этом сайте (будут ли введены ограничения/рекомендации)?

На первые четыре вопроса меня устроят и ссылки, а вот на пятый вопрос хотелось бы услышать мнение администрации.

Заранее благодарен за любую информацию.

mercuryn 11-04-2008 16:34 779596

Предлагаю:
1. для аддона перезагрузки gora использовать RunOnceEx=zzzz_999;
2. для остальных аддонов использовать диапазоны 950-999, a00-a99, ... - ... z00-z99, следя за использованием последних групп, диапазон 950-999 зарезервировать для системных аддонов;
3. вести таблицу использованных номеров RunOnceEx.

ya158 11-04-2008 19:04 779689

Цитата:

Цитата gora
1 Какой диапазон "номеров" "разрешен" в RunOnceEx в теории?
2 Допустимы ли буквы в "номере" этих ключей?
3 Допустима ли кириллица в "номере" этих ключей?
4 Какова последовательность их обработки (если 2 и/или 3 допустимы)? »

Опытным путём выяснил, что можно использовать цифры, буквы( латиница и кириллица) и некоторые символы (! [ ] { } @_ например).
По поводу 4 пунта - см. картинку http://rapidshare.com/files/106656115/RunOneEx.JPG
Цитата:

Цитата mercuryn
3. вести таблицу использованных номеров RunOnceEx. »

Полностью согласен - можно в wiki , чтоб добавлять ключи могли не только авторы аддонов, поскольку некоторые из них редко появляются на форуме, я некоторые и не появляются вовсе.http://rapidshare.com/files/106656115/RunOneEx.JPG

mercuryn 12-04-2008 17:44 780222

gora, похоже это не та ветка, где можно решать вопросы стандартизации, а так как другой не нашёл, то похоже это никому не надо...

DyadyaGenya 13-04-2008 12:11 780536

Вложений: 1
Товарищи аддоностроители поскольку я ленивый человек, и устал каждый раз для проверки правильности sysoc-аддона переустанавливать винду, пусть даже на виртуальной машине, это всеравно утомительно, плюс давно думал как бы делать из этих аддонов что-то типа варианта тихой установки как в Svcpack прямо на готовую винду, при этом к сожалению нигде не смог найти описания как это можно сделать, да и вообще возможно ли это, пришлось самому подумать. Пока придумал один способ, подсмотрел в настройках винды, когда читал про инф, мол можно настроить так, чтоб по двойному клику мыши срабатывал запуск инф-файла, мол это предусмотрено в майкрософте. но по умолчанию отключено. Может кому пригодиться, ну или развейте тему лучше меня, лично мне не нравиться только скорость распаковки:
Создаем папку с названием аддона, можно прямо в самом аддоне, распаковываем туда cab-файл проги и её инф-файл, меняем в нем:
Код:

[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Prog",Prog.cab,,"I386"

на
Код:

[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Prog",Prog.cab,,

создаем батник со строчками:
Код:

rundll32.exe advpack,LaunchINFSection Prog.inf,DefaultInstall
copy Prog.inf c:\windows\inf

команда copy необходима для копирования того же инф-файла в папку винды, из которой она берет данные для анинстала аддонов, куда те автоматом встраиваються при интеграции в дистрибутив. Секция [DefaultInstall]в инф-файле тоже обязательно должна быть :-)

Низкая скорость распаковки видимо зависит от команды bat, которая "предназначена" для доса, но с виндовыми командами я знаком меньше, возможно Innosetup смог бы решить это проблему скорости, но я ещё не разобрался с ним

для примера вкладываю файлик с рабочим примером аддона WinFlip

volk1234 13-04-2008 23:13 780873

Господа товарищи,
изучая тексты аддонов пришла в голову одна мысля. Опровергните меня если неправ.
Среди комманд inf файла есть такая - UpdateInis. Изменяет данные в ini- файлах.
А файлик boot.ini как раз такой. То есть можно реализовать изменение boot.ini не через скрипт или bootcfg, и не через патч setupdd.sys(что не есть хорошо),
а обычным аддоном sysoc. Причем возможно ветвление типа If (правда инвалидное)
типа [updatebootini.x86] , [updatebootini.ia64] для выбора редактируемых параметров.

пример:
Код:

[Version]
Signature=$Chicago$

[DefaultInstall]
UpdateInis=BOOTINIfile

[DestinationDirs]
BOOTINIfile=24

[BOOTINIfile]
boot.ini, operating systems, "multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU"  /noexecute=alwayson /fastdetect",  "multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU"  /noexecute=alwaysoff /fastdetect"

или может возможно обновление не всего параметра а его части??? Например:

Код:

boot.ini, operating systems, "/noexecute=alwayson", "/noexecute=alwaysoff "

mercuryn 15-04-2008 11:18 781697

volk1234,
Цитата:

Цитата volk1234
... пришла в голову одна мысля. Опровергните меня если неправ. »

А Вам это надо??? А нам это надо???

Shido 15-04-2008 11:26 781705

volk1234, mercuryn, может и не надо, но если бы все так рассуждали этого форума бы не было. Да и точно знать что можно сделать, а что нет - полезно, даже если пользоватся никогда не будеш.

volk1234 15-04-2008 11:49 781728

Цитата:

Цитата mercuryn
А Вам это надо??? А нам это надо??? »

Гм. Меня смущает тон, но отвечу, мне надо, чтобы мне в голову приходили хорошие идеи,
Вам надо меня оповергнуть, поскольку если я неправ и сделаю аддон, куча людей засыпет
форум сообщениями (это я преувеличиваю конечно).
В любом случае меня интересует синтаксис и работа инструкции UpdateInis, boot.ini чем не пример.

mercuryn 15-04-2008 11:58 781738

Shido, volk1234, отсутствие или наличие чувства юмора крайне индивидуально...

DyadyaGenya 28-04-2008 15:07 790847

к моему стыду возник вопрос про запуск ехе после установки аддона
пытался использовать и RunPostSetupCommands и просто rundll32.exe advpack,LaunchINFSection
приведу один их примеров инфа, который на мой взгляд больше всего должен был оказаться работоспособным:
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.0
SetupClass=BASE

[Optional Components]
Light_Al

[Light_Al]
OptionDesc=%PROG_NAME%
Tip=%PROG_INFO%
Modes=0,1,2,3
CopyFiles=Light_Al.Copy,Light_Al.Help.Copy,Light_Al.Icons.Copy,Light_Al.Langs.Copy,Light_Al.Logo.Copy,Light_Al.Report.Copy,Light_Al.Skins.Copy,Light_Al.Subtitles.Copy,Light_Al.Plugins.AviSynth.Copy
AddReg=PROG.AddReg
Run=Light_Al.AdvInfCall
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
SizeApproximation=7125109
Uninstall=Light_Al.Uninstall

[DefaultInstall]
CopyFiles=Light_Al.Copy,Light_Al.Help.Copy,Light_Al.Icons.Copy,Light_Al.Langs.Copy,Light_Al.Logo.Copy,Light_Al.Report.Copy,Light_Al.Skins.Copy,Light_Al.Subtitles.Copy,Light_Al.Plugins.AviSynth.Copy
AddReg=PROG.AddReg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
RunPostSetupCommands=Light_Al.AdvInfCall

[Light_Al.Uninstall]
BeginPrompt                        =BeginUnInsPrompt
RunPreSetupCommands        =Close.Prog:1
RunPostSetupCommands        =Dir.Delete
EndPrompt                        =EndUnInsPrompt
DelFiles=LA.lap.del,LA.xml.del
DelDirs=Light_Al.LightAlloy.Del
DelReg                        =PROG.DelReg
ProfileItems                        =PROG.DelShortcut,PROG2.DelShortcut

бла-бла-бла

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.

[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Light Alloy",Light_Al.cab,,

[SourceDisksFiles]
autoitla.au3=1
autoitla.exe=1
LA.exe=1
LA.lap=1
LA.xml=1
mc.xml=1
ms.xml=1
uninst.exe=1
zagadki.ini=1
english.chm=1
russian.chm=1
Spanish.chm=1
Amigos.icl=1
Amigos.xml=1
Chihiro.icl=1
Chihiro.xml=1
DevilIns.icl=1
DevilIns.xml=1
LA1x.icl=1
LA1x.xml=1
PK69.icl=1
PK69.xml=1
TMP.icl=1
TMP.xml=1
WMP6.icl=1
WMP6.xml=1
XPlite.icl=1
XPlite.xml=1
XP.icl=1
XP.xml=1
Belarusi.txt=1
Czech.txt=1
Dutch.txt=1
English.zip=1
French.txt=1
German.txt=1
Lithuani.txt=1
Polish.txt=1
Romanian.txt=1
Spanish.txt=1
Turkish.txt=1
Ukrainia.txt=1
oreol.jpg=1
CSV.txt=1
Extended.txt=1
Text.txt=1
XML.txt=1
DarkAllo.bmp=1
Flat.bmp=1
Gen.bmp=1
htech.bmp=1
Luna14Li.bmp=1
PK69WMPL.las=1
QTime.bmp=1
Windoze9.bmp=1
XPBlue.bmp=1
XP.bmp=1
XPsilver.bmp=1
test.srt=1
test.ssa=1
BlockBus.avs=1
Clean2D.avs=1
Convolut.avs=1
Version.avs=1
VersionF.avs=1

[DestinationDirs]
Light_Al.Copy=16422,"Light Alloy"
Light_Al.Help.Copy=16422,"Light Alloy\Help"
Light_Al.Icons.Copy=16422,"Light Alloy\Icons"
Light_Al.Langs.Copy=16422,"Light Alloy\Langs"
Light_Al.Logo.Copy=16422,"Light Alloy\Logo"
Light_Al.Report.Copy=16422,"Light Alloy\Report"
Light_Al.Skins.Copy=16422,"Light Alloy\Skins"
Light_Al.Subtitles.Copy=16422,"Light Alloy\Subtitles"
Light_Al.Plugins.AviSynth.Copy=16422,"Light Alloy\Plugins\AviSynth"

[Light_Al.Copy]
"autoit-la.au3",autoitla.au3,,4
"autoit-la.exe",autoitla.exe,,4
LA.exe,,,4
LA.lap,,,4
LA.xml,,,4
mc.xml,,,4
ms.xml,,,4
uninst.exe,,,4
zagadki.ini,,,4

бла-бла-бла-бла-бла :-)

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[Light_Al.AdvInfCall]
Commandline=rundll32.exe advpack,LaunchINFSection ""16422,%PROG_DIR%\Light_Al.inf"",RunPostSetup,4"
TickCount=500

[RunPostSetup]
LA.exe    (любой ехе вставляю и не работает  :(, вставлял и параметры типа /param1 /param2 )

[Strings]
PROG_DIR        ="Light Alloy"
PROG_NAME        ="Light Alloy"
SRTC_NAME        ="Light Alloy"
PROG_VERS        ="4,1 build 6105"
PROG_INF        ="Light_Al.inf"
PROG_MADE      =DyadyaGenya
PROG_URL        =http://www.softella.com/?la
PROG_HELP      =16422,"Light Alloy\Help\russian.chm
PROG_1        =LA.exe
PROG_2        =LA
PROG_SDIR        =""
PROG_SDIR2        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Player"

кроме того пытался вставить секцию как в статье про инф
Код:

[DefaultInstall]
RunPostSetupCommands=cmd.end

[cmd.end]
LA.exe /param1 /param2

ну и были другие варианты

gora 28-04-2008 15:13 790853

Цитата:

Цитата DyadyaGenya
возник вопрос про запуск ехе после установки аддона »

А собственно, что Вы хотели сделать!? Запустить проигрыватель сразу после установки аддона!? ДО завершения установки системы!?

jameszero 28-04-2008 15:32 790864

DyadyaGenya
Нужно указывать путь к запускаемой программе.
При инсталляции через advpack так:

Код:

[DefaultInstall]
RunPostSetupCommands=cmd.end

[cmd.end]
"%16422%\%PROG_DIR%\LA.exe /param1"

Можете посмотреть примеры в моём аддоне DrWeb. В нём реализован запуск екзешников с параметрами и через advpack, и через setupapi.

DyadyaGenya 28-04-2008 18:03 790960

Вложений: 1
gora, нет, :-) просто пробовал разные ехе подсовывать :-) на самом деле написал авторегистрацию через autoit могу прикрепить файл

jameszero, так тоже пробовал, но почему то не получаеться, я ему уже и прописывал полный путь с указанием диска и папки програмы, все равно не хочет даже плеер запустить, не говоря про регистрацию, и в [DefaultInstall] помещал, и просто в [Optional Components]

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

jameszero 28-04-2008 19:01 790995

Каким образом вызывается установка, через setupapi или через advpack?

В первом случае нужно использовать Run, а во втором RunPostSetupCommands.

ya158 28-04-2008 20:42 791048

DyadyaGenya,
1. Ты в секции
Код:

[Light_Al.AdvInfCall] 
Commandline=rundll32.exe advpack,LaunchINFSection ""16422,%PROG_DIR%\Light_Al.inf"",RunPostSetup,4" 
TickCount=500

пытаешься найти Light_Al.inf в папке 16422,Light Alloy (именно в 16422,Light Alloy, а не в C:\Programm Files\Light Alloy). Когда ты запускаешь rundll32.exe пути надо указывать как в ком строке Windows, а не как в секции [DestinationDirs]. Помимо этого Light_Al.inf скорее всего лежит не в Programm Files, а в C:\windows\inf, где лежат все inf-файлы sysoc-аддонов. Поэтому твоя секция должна выглядеть так (ты ещё забыл открывающие кавычки перед rundll32.exe)

Код:

[Light_Al.AdvInfCall] 
Commandline="rundll32.exe advpack,LaunchINFSection ""%17%\Light_Al.inf"",RunPostSetup,4" 
TickCount=500

2. Секция [Light_Al.AdvInfCall] запускает на выполнение секцию [RunPostSetup] при помощи advpack, но в интерпретаторе advpack нет команды LA.exe, а есть команда RunPostSetupCommands. Поэтому надо делать так

Код:

[Light_Al.AdvInfCall] 
Commandline="rundll32.exe advpack,LaunchINFSection ""%17%\Light_Al.inf"",RunPostSetup,4" 
TickCount=500

[RunPostSetup]
RunPostSetupCommands=RunLa

[RunLA]
Путь_к_LA\La.exe /param

3. Про пути к программе тебе очень правильно заметил jameszero. Учти синтаксис путей тут тоже как в командной строке Windows.

DyadyaGenya 28-04-2008 23:46 791201

jameszero спасибо за вариант с RunPostSetupCommands, я уже так делал, но не ставил кавычек просто в статье по инф путь не указывался, так как там все примеры описывали расположение инф файла в корне, прямо на С, вот и не подумал про кавычки, а путь прописывал без кавычек - элементарное незнание синтаксиса

ya158, к сожалению способ почему то не срабатывает, да и инф файл я ложил и в папку с програмой и в папку windows\inf. я для облегчения проверки батник написал, так он автоматом ложил и туда и туда, просто не понимал почему не срабатывает, вот и подкладывал его куда только мог придумать :) но мне очень хочеться понять почему не срабатывает, возможно проблема опять в синтаксисе, не знание которого доказал пример jameszero, а ведь был я на правильном пути, если б не кавычки.
Хотя если в обоих вариантах используеться один и тот же интерпритатор, то не понятно, почему в одном случае срабатывает, в другом нет, я кстати попробовал ради интереса заменить RunLa в
Цитата:

Цитата ya158
[RunPostSetup]
RunPostSetupCommands=RunLa
[RunLA]
Путь_к_LA\La.exe /param »

на cmd.end и все равно не получилось.

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

ya158 28-04-2008 23:58 791210

DyadyaGenya,
Давай полностью свой аддон (желательно все версии с описанием) - посмотрю где какие ошибки.

gora 14-05-2008 17:40 802610

2 ALL
Обновил Компилятор аддонов. Ссылка в шапке.
Появилось немного нового. Если кому то интересно - распишу.
К сожалению не получил ни одного отзыва о его работе хотя он был скачан 280 раз! Странно это. :(

Black Babay 14-05-2008 22:14 802875

gora, конечно интересно! Сегодня первый раз, к своему стыду, наткнулся на этот мегаполезный компилятор. Сижу - разбираюсь. Пока никак не пойму какие ключи в Run прописывать. Посмотрел в других АддОнах, сделанных с его помощью, но так и не понял :o

Покопался еще, начало получаться...

gora 16-05-2008 12:02 804138

Black Babay, все ключи для аддонов, при использовании Компилятора, это ключи модифицированного модуля, который можно найти здесь.

DyadyaGenya 17-05-2008 21:35 805114

ya158, доброго времени суток, ну конечно же и всем форумчанам, наконец то дошли руки до проверки моей писанины и с огорчением обнаружил что мой злополучный аддон Light Alloy с авторегистрацией не срабатывает при установке винды. При проверке батником все красиво регистриться, а при установке винды не хочет. Честно говоря много работы, и некогда разбираться, поэтому решил воспользоваться вашим предложением глянуть мой аддон. Все варинты пока выкладывать не буду, если можна, посмотрите хотя бы этот.

http://letitbit.net/download/6f21027...-Alloy.7z.html
или
http://depositfiles.com/files/5414888

askarmuk 18-05-2008 22:31 805751

Здравствуйте, у меня вопрос по поводу набора CAB Tool, взятого отсюда. Я скачал оба варианта: и с сайта Azimut Project, и набор три-в-одном с форума, но в обоих случаях после установки в контекстном меню ничего не появилось. В чем может быть дело?
*Извиняюсь, нашел пункты CAB-IN, CAB-OUT и CAB Tool в меню отправить. Я-то думал, что они появятся в основном меню. Второй вопрос остается - можно ли для тех же целей пользоваться утилитой makecab.exe, которая имеется в XP?

maik5 18-05-2008 23:24 805782

askarmuk,
Вот ещё один вариант [addon] CabTools.
Цитата:

Цитата serghio
Можно инсталлировать на установленную систему. »

Команду makecab.exe для этих целей тоже можно использовать. Здесь немного об этом написано.

ya158 20-05-2008 21:41 807170

DyadyaGenya,
Держи исправленный inf.
Несколько замечаний :
1. Не понял что такое upd.cmd b для чего он нужен. Для аддона с моим инфом он точно не нужен :wink:
2. Не стал разбираться подробно с твиками реестра - только удалил в начале секции PROG.AddReg точно не нужные твики. В секции PROG.DelReg надо для полной деинсталяции указать ключи, которые добавляются в PROG.AddReg.
3. Не знаю зачем тебе при удалении вывод диалоговых окон (команды BeginPrompt и EndPrompt), но из секции Light_Al.Uninstall при использовании менеджере "Установка и удаление компонентов Windows" они работать не будут, так как при этом используется SETUPAPI. Для того, чтобы увидеть эти окна используй

Код:

rundll32.exe advpack,LaunchINFSection Путь_к_файлу\Script.inf,Light_Al.Uninstall,4
и
из командной строки. Но лучше забей на эти окна - если собрался удалять прогу, то зачем лишние вопросы, да и установить по-новой не проблема. В этом случае удали из секции Light_Al.Uninstall параметры BeginPrompt, EndPrompt, RunPreSetupCommands и RunPostSetupCommands, а так же секции [BeginUnInsPrompt] и [EndUnInsPrompt].

Вот и всё. Если есть ещё вопросы - задавай не стесняйся.

DyadyaGenya 21-05-2008 16:29 807809

ya158, спасибо, все сработало, правда я считал что должно было на т13 а регистрация выскочила на т24 :) а про т24 даже нигде не читал :)
по поводу upd.cmd :) это я просто забыл удалить после использования компилятора
ну а по поводу
Цитата:

Цитата ya158
диалоговых окон (команды BeginPrompt и EndPrompt), но из секции Light_Al.Uninstall при использовании менеджере "Установка и удаление компонентов Windows" они работать не будут, так как при этом используется SETUPAPI »

могу поспорить, у меня ссылка на них дана в секции PROG.AddReg и все красиво вызывается именно из менеджера "Установка и удаление программ"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%","UninstallString",,"rundll32. exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Light_Al.Uninstall"

а нужно на всякий случай, вдруг промазал и нажал на соседнюю прогу :) и вообще я как то обсуждал этот вопрос раньше. Некоторые посты:
http://forum.oszone.net/post-765516-413.html
http://forum.oszone.net/post-773775-425.html
http://forum.oszone.net/post-778041-435.html
и вы кстати, принимали участие в обсуждении :) и в моем инфе строк для удаления проги получается меньше

по поводу
Цитата:

Цитата ya158
В секции PROG.DelReg надо для полной деинсталяции указать ключи, которые добавляются в PROG.AddReg. »

казалось что достаточно вот этого:
[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%"
даже в руководстве по созданию аддонов приведена только эта строка

и ещё я знаю что надо удалить из моего аддона файл uninst.exe и ссылку на него в инфе дабы убрать лишнее, просто руки не доходят :)

ya158 21-05-2008 20:18 807983

Цитата:

Цитата DyadyaGenya
я считал что должно было на т13 а регистрация выскочила на т24 »

На Т13 устанавливаются SVCPACK аддоны, а компоненты Windows, к которым относятся SYSOC аддоны - на 24. Чтобы не мелькало окно регистрации на этом этапе - запусти эту регистрацию ПОСЛЕ установки Windows. Как это делается посмотри в моём аддоне QT Breadcrumbs.

Цитата:

Цитата DyadyaGenya
могу поспорить, у меня ссылка на них дана в секции PROG.AddReg и все красиво вызывается именно из менеджера "Установка и удаление программ" »

Я имел ввиду менеджер Установка и удаление компонентов Windows, из которого устанавливаются/удаляются SYSOC аддоны, хотя конечно же можно делать как ты - устанавливать через Установка и удаление компонентов Windows, а удалять через Установка и удаление программ. Но кстати обрати внимание, что твоя строка
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%","UninstallString",,"rundll32. exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Light_Al.Uninstall"
запускает именно интерпретатор AdvancedINF.

Цитата:

Цитата DyadyaGenya
казалось что достаточно вот этого: »

Эта строка удалит только раздел
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%,
а как же ключи, с помощью которых регистрируются для запуска в LA мультимедиа-файлы?

DyadyaGenya 24-05-2008 14:58 809846

ya158, спасибо за последний коментарий, хотя я вроде и пробовал ответить уже, но сегодня не обнаружил своего ответа, поэтому вкратце повторюсь
1 - поскольку я до этого ни разу не встречал ссылки на программу в менеджере Установка и удаление компонентов Windows, то и решил что просто опечатка, потому и выделил жирным Установка и удаление программ
2 - Окно регистрации не мешает нисколько, хотя было бы приколько сделать его невидимым но оставить на прежнем месте
3 - как мне пояснили в обсуждении руководства по написанию аддонов, sysoc аддоны не относятся к компонентам windows, это не обвинение, а просто чтоб другие форумчане не заходящие в ту ветку тоже имели представление
4 - мне уже не только ты настучал по голове насчет удаления всех веток реестра, но первому, кто обратил на ошибку внимание благодарностей большет :)

Mitunia 30-05-2008 23:45 814877

Возможно авторы аддонов сочтут полезным еще одно предложение-улучшение.

http://forum.oszone.net/showthread.php?p=813268

AlexNeo 08-06-2008 22:12 821736

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

1. Compression Bin v1.2 build 6128 - Скачать в сборку включен modifype.
Утилита предназначена для сжатия любого файла с помощью утилиты makecab (LZX с максимальной степенью сжатия) путём перетаскивания в окно программы, есть возможность обрабатывать исполняемые файлы утилитой modifype. Выходной файл имеет вид “%filename%._**”, сжатые файлы помещаются в директории с исходными файлами.
Страница программы

2. GS CAB`er, v1.1.5.7 - Скачать
Программа служит для создания и извлечения архивов в формате *.cab.
Возможности программы:
* Создание архивов в формате cab с разными степенями сжатия.
* Извлечение архивов в формате cab.
* Возможность интеграции в меню проводника.

3. CL-Tools 4 v1.0 - Прямая скачка с оф.сайта
GUI интерфейс для консольных утилит: (CDIMAGE, UPX, MAKECAB, EXTRACT).
Страница программы
Описание программы на русском

volk1234 08-06-2008 23:31 821805

AlexNeo
Лучше указывать ссылки на сайт\страничку программы.

Compression Binv1.2 build 6128 и другие билды

http://www.msfn.org/board/Compressio...12-t80717.html

Програмка не поддерживает упаковку множества файлов в один CAB- архив

CL-Tools
Прямая ссылка на закачку
Страничка програмки
Почитать на русском о програмке

Resylenr 09-06-2008 05:41 821913

volk1234
Цитата:

Програмка не поддерживает упаковку множества файлов в один CAB- архив
GS CAB`er, v1.1.5.7 пакует в один cab файл.

volk1234 09-06-2008 12:30 822095

CL-Tools -> Cab4Win имеет недостаток
После добавления нескольких файлов для пакования в cab, их никак нельзя удалить,
то есть для того чтобы запаковать другие файлы надо выходить из программы.

А вообще лучшая на мой взгляд утилита для паковки в cab - CabPack от автора ERUNT - Lars Hederer
К сожалению домашняя страничка не работает, надеюсь автор жив здоров...

CoaCH 14-06-2008 19:58 826097

Вложений: 1
Не зная в эту ветку или нет... подскажите пожалуйста
попробЫвал сделать sysoc аддон программы Ligth Alloy, инф прилагаю(гляньте где косяки)
Во- первых создался один ярлык на программу, пытался создать второй на анинсталл.
Во- вторых, при удаление чере компоненты виндоус вылетела ошибка explorer.exe, процесс был перезапущен
И, в- третьих поясните пожалуйста в секции на удаление ярлыков, что значат вот эти цифры
Цитата:

Name = "Light Alloy",0x00000002
Да, секцией для добавления записей в реестр пока не занимался, поскольку сейчас на ноуте с Вистой, и снимки реестра сделать никак.
Проверял работоспособность на ВМ.
Зарание спасиба.

jameszero 15-06-2008 12:28 826446

CoaCH
В inf-файле не соответствуют имена вызываемой и существующей секции создания ярлыка, поэтому он и не создаётся.
Код:

[LA]
<skip>
ProfileItems=LA.AddShortcut,LA.uninst.AddShortcut
<skip>

[prog.uninst.AddShortcut]
Name                = Uninstall
<skip>

Цитата:

Цитата http://oszone.net/3827
0x00000001 Указывает программе установки создать или удалить ярлык для текущего пользователя. При отсутствии данного флага действия над ярлыками будут происходить для всех учетных записей.

0х00000002 Указывает программе установки удалить ярлык. При отсутствии данного параметра ярлык будет создан.


volk1234 22-06-2008 13:44 832263

jameszero

Мне кажется неплохо было бы вам поделится в этой ветке с другими авторами аддонов,
основными отличиями при создании аддонов для UP SP2 и SP3. Если они есть.

dimich22 23-06-2008 13:07 832879

Может, jameszero еще чего добавит, но от себя укажу на основные вещи, на которые, наверное, уже многие обратили внимание.
В основной своей массе, аддоны, пригодные для SP2, подходят и для SP3. Но вот те, которые содержат изменные системные файлы, подлежат обновлению. Это, например, BSRoyale, RCAdmin.
Интеграция таких аддонов может проходить нормально, но вот при установке возникают проблемы.
Остальные отличия, пожалуй больше касаются самого набора обновлений, нежели самих аддонов.

gora 30-06-2008 20:23 838746

Цитата:

Цитата Petya V4sechkin
Hive - специфические твики реестра, при сборке из них формируется один Hivepck.inf, который прописывается в секцию [HiveInfs.Fresh] файла Txtsetup.sif и выполняется еще на текстовом этапе установки (см. гайд от Gosh); в файле Hive секции указывать не надо.

Следует ли это читать как НЕЛЬЗЯ? Интересует, в частности, секция [Strings] и ее работоспособность в данном файле.

volk1234 02-07-2008 03:43 839915

Цитата:

Цитата gora
Интересует, в частности, секция [Strings] и ее работоспособность в данном файле. »

Посмотрел скрипт UpdatePack, да и из цитаты логически вытекает:
в скрипте жестко забита одна секция [HiveInfs.Fresh] откуда и выполняются все записи из Hivepck.inf. Указание любых других секций возможно,
но приведет только к глюкам, ИМХО.
Сам скрипт не приспособлен для добавления других секций через Hive, он создает из одиночных файлов Hive файл Hivepck.inf,перед этим создав
в этом файле секции [Version] и [Addreg] - куда и пуляет записи из конфингурационных файлов Hive.

Что то мне подсказывает, что программа установки проигнорирует секцию [Strings] в inf-файле из секции [HiveInfs.Fresh]. Даже если и секция
[Strings] будет работать, то надо просто редактировать сам скрипт UpdatePack, а не использовать hive. В противном случае ваша секция
[Strings] может при сборке вклинится в записи от других аддонов в Hivepck.inf и получим половину записей в секции [Addreg],а половину после,
т.е. в секции [Strings].

Соображения по редактирования скрипта (если секция [Strings] работает в [HiveInfs.Fresh] ):
Код:

.........
Echo [Version]>Temp\HIVEPCK.INF
Echo Signature = "$Windows NT$">>Temp\HIVEPCK.INF
Echo.>>Temp\HIVEPCK.INF
Echo [Strings]>Temp\HIVEPCK.INF
Echo переменная_пути1 >>Temp\HIVEPCK.INF
Echo переменная_пути2 >>Temp\HIVEPCK.INF

и тд.
Echo [AddReg]>>Temp\HIVEPCK.INF
.......

Затем в к.ф. Hive вашего аддона можно использовать переменные пути..?..

SOLON7 04-07-2008 17:29 842384

ADDON PowerIso 4.1
 
Здравствуйте Господа, Вот создал Аддон.
Метод интеграции Svcpack.
Береться инсталлятор Оригинальный (от PowerIso).
Аддон удачно установилься, но не добавились записи в реестр программой Reg2Exe.
Что интересно файлы PowerISO41.exe и Addreg.exe в папку интегрировались I386\SVCPACK\
Я не знаю в чем проблема??

Содержимое файла Run
PowerISO41.exe /S
Addreg.exe

Люди добрые помогите, обьясните почему файл Addreg не запустилься и не добавил изменения в реестр.
Содержание файла Svcpack.inf после интеграции
[SetupHotfixesToRun]
FP_AX.EXE /S
MSXML.EXE
ROOTSUPD.EXE /Q
ar8std.exe
FP_PL.EXE /S
KAV6.EXE
klinst.exe
PowerISO41.exe /S
Addreg.exeTC7setup.exe -y -gm2 -fm0
Utorrent.exe
Winamp.exe /SILENT /VERYSILENT

surik 04-07-2008 17:44 842391

SOLON7, спроси об этом здесь: http://forum.oszone.net/forum-62.html

surik 04-07-2008 20:05 842513

SOLON7, если это: Addreg.exeTC7setup.exe -y -gm2 -fm0 действительно так, то скорее всего Addreg и не запустится.

jameszero 04-07-2008 20:15 842524

SOLON7
Не хватает пустой строки после Addreg.exe в файле Run - Информация для создателей аддонов
Файл Svcpack.inf в итоге должен выглядеть так:
Код:

[SetupHotfixesToRun]
FP_AX.EXE /S
MSXML.EXE
ROOTSUPD.EXE /Q
ar8std.exe
FP_PL.EXE /S
KAV6.EXE
klinst.exe
PowerISO41.exe /S
Addreg.exe
TC7setup.exe -y -gm2 -fm0

Utorrent.exe
Winamp.exe /SILENT /VERYSILENT


SOLON7 04-07-2008 21:07 842569

Да Господа, так и понял, что не хватает пустой строки в файле RUN...
Вот хотелось бы его опубликовать и залить но форум почему-то жалуеться и выдает сообщение
Exceeds your quota by 110.7 Kb.

Какие мой действия для того чтобы опубликовать Аддон.

jameszero 04-07-2008 21:16 842570

SOLON7
Залейте на любой обменник и опубликйте на форуме ссылку.

P.S. Надеюсь в Addreg.exe нет контрафактной информации в виде серийного номера ;)

volk1234 09-07-2008 20:07 847133

Цитата:

Цитата volk1234
Соображения по редактирования скрипта (если секция [Strings] работает в [HiveInfs.Fresh] ): »

gora не пробовали экспериментировать???

Стёпа 26-07-2008 05:50 861316

Здрасте всем.
Я наверно первый кто начнёт тут не благодарить, а ругать!
Я - так же собираю свою винду. Сделал практически всё.
Поменял загрузчик, окно установки, окно входа в систему, приветствие...
Полностью изменил тему на стиль Vista, от иконок до системных библиотек.
Звуковую схему и т.д. Оптимизация на полную кАтушку, как служб так и реестра.
Менее трети взято отсюда (oszone) - всё с головы и собственного опыта.
Собрал XP поудачнее того же Zvercd - это не моё мнение, а всех кто сравнивает на хабах.
Вобщем долго расхваливать себя не буду. Надеюсь понятно, что не ламак.
О, да, кстати, парадокс, сколько тут тупых вопросов не было задано пока небыло моментов,
чтобы я задумался... аммм... Ну, т.е. знаю не всё, но ВПОЛНЕ достаточно!
Ответы мог дать каждому, но откуда знать,
что за меня уже не дали ответы в следующей сотне постов. <-- замечание модерам.

И вот перехожу к сути дела (для кого-то прикола)
Вопрос:
Что такое аддон? ДА ДА ДА! Что такое Addon????? (то что это дополнение я знаю)
Я спрашиваю потому что ни один поисковик, включая google (который я юзаю "не стандартно")
--== надеюсь вы поняли что я имею ввиду под словом нестандартно ==--
не может мне найти куда ложить папку Addons!!! Где она должна создаваться?
Вы не поверите, но я выпил пачку Persen пока решил обратиться к вам!!!
Нет. я не с силами собирался, а всё надеялся найти ответ сам!!!
У меня уже бошка кругом от повторяющегося флуда и кросспостинга на вашем форуме!
Клянусь! Читал 13 часов чистого времени!!! Но щас уже нет сил!!!
Всегда читал мануалы от корки до корки!!!
Но ваши топики с тысячью постами бессмыслицы и повторяющимеся тупымми вопросами меня потихоньку
сводят с ума! Всё можно уместить в 50!!!! повторюсь в 50!!!!! раз меньше!!!
Но сам факт как использовать аддон нигде не написано!
Пусть назовёт меня идиотом и слепцом тот, который даст ссылку на точное назначение и использование папки аддонс. Некоторые ухмыляются, но пусть попробуют! Ну ка!
И не надо ввот этих \Files\ForceCopy... у меня уже в горле сидят!
Начнём с того что имеется папка I386, рядом $OEM$, рядом гигантский WPI
Я всё это сделал за три дня. НО ВОТ ПРОКЛЯТЫЙ АДДОН МАТЬ ЕГО!!!
Я сделал WPI со всеми инсталляшками с sfx за пару часов. Когда тут люди по сто раз тупо переспрашивают, ковыряясь в носу: "а как это..." И одновременно мастерски делятся
последствиями их работы с addons. ГДЕ ВЫ НАШЛИ ОПИСАНИЕ???
Как бездарный ламак (неспособный понять, что файлы с префиксом 1049 и 1033
являются нашими родными русским и ангельским языками) спокойно делится впечатлениями
об итеграции .NET? КАК?

Вобще всё началось с .NET Framework. Всё тут и ежу понятно, как создавать sfx
хоть через 7z от Олега, хоть WinRAR'ом (как я). Как перепаковать языки и удалить лишнее.
Я даже написал собственный Cleaner через cmd. Получше всякого CCleaner :)
Проблем (в отличае от ленивых юзеров, нехотящих юзать поиск) с удалением пустых папок
и папок после инсталляции нет.

ЗЫ
На виртуальной машине не хотел никак ставиться .NET Framework 3.0.
И ключи ему пихал /q и т.п. эксперименты. Но я так как остальные не парился со всякими passive
так как хорошо понимаю com строку и её значения в применении.
Но потом дошло, что проблема в том, что у меня не было .NET 2.0
Оказывается он не поставит его без 2.0.... Хм... А в тихом ряжиме как вы знаете ошибок нет.
Вот и парился.... Искал....

Вернёмся к делу! Необходимо кратчайшее, но внятное обьяснение всего, что связано с Addons
Как юзать! Не дайте пацану повесится! Мои нервы в ваших руках!

Глобальный респект Васечкину и Vadikan! Это не люди, а служба спасения ленивцев.
Поражает их терпение и безвозмездная помощь народу.
Ведь все могут всё сделать сами. ЛИшь бы инет был норма и не лениться. А они всё за всех делают.
НО САМОЕ ГЛАВНОЕ МАНУАЛ!!!! ЕСТЬ МАНУАЛ ВОПРОСОВ НЕ ИМЕЕМ! По крайней мере я :)
Пошёл пить колёса и спать...
Вторая ночь оверклокера прошла бестолку... :(

Vadikan 26-07-2008 06:53 861320

Цитата:

Цитата OSzone-Rulez
куда ложить папку Addons!!! Где она должна создаваться? »

_README - раздел Аддоны.

Очень много лирики, видимо следствие колес :)

P.S. Отправьте мне PM с желаемым ником - текущий не годится.

Стёпа 26-07-2008 17:46 861602

Умоляю не тыкайте, а просто скагжите де у вас на диске с дистрибом лежит папка Addons.
Возьмём пример на .NET Framework
Вот Вы скачали DotNet11_35_nc_080611_20-43.7z
Как и куда его ложить, народ? Очень надеюсь на поддержку.
Колёса кончаются... ;)

СТОП! Кажись понял!
Просто нужно было скачать архивчег UpdatePack-XPSP2-Rus-8.3.15.7z
И во входящую в нём папку Addons и ложить сами аддоны. Так?

zuckij 26-07-2008 19:12 861649

Цитата:

Цитата OSzone-Rulez
И во входящую в нём папку Addons и ложить сами аддоны. Так »

Так

volk1234 29-07-2008 21:32 863918

Стёпа
Что то лирическое у меня настроение. Отвечука и я вам,

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

Цитата:

Цитата Стёпа
о ваши топики с тысячью постами бессмыслицы и повторяющимеся тупымми вопросами меня потихоньку
сводят с ума! Всё можно уместить в 50!!!! повторюсь в 50!!!!! раз меньше!!! »

Если смотреть не на количество постов, а на их размер, то на месте вашего поста уместилось бы штук 5 обычных -
"как сделать то или это" :)

Цитата:

Цитата Стёпа
Я всё это сделал за три дня. НО ВОТ ПРОКЛЯТЫЙ АДДОН МАТЬ ЕГО!!!
Я сделал WPI со всеми инсталляшками с sfx за пару часов. Когда тут люди по сто раз тупо переспрашивают, ковыряясь в носу: "а как это..." И одновременно мастерски делятся
последствиями их работы с addons. ГДЕ ВЫ НАШЛИ ОПИСАНИЕ??? »

Я вот когда не могу найти чего - либо, не бегаю по квартире, а сажусь и вспоминаю где я видел ЭТО в последний раз. Вы моглибы просто подумать и вспомнить, а откуда вы услышали это название - Аддоны? Наверняка там и ссылки были.

Цитата:

Цитата Стёпа
Всегда читал мануалы от корки до корки!!! »

Цитата:

Цитата Стёпа
Вернёмся к делу! Необходимо кратчайшее, но внятное обьяснение всего, что связано с Addons
Как юзать! Не дайте пацану повесится! Мои нервы в ваших руках! »

Спецально посмотрел мануал по написанию аддонов, вроде все нормально изображено:

http://oszone.net/6946#a3



Цитата:

Цитата Стёпа
Я спрашиваю потому что ни один поисковик, включая google (который я юзаю "не стандартно") »

Вы используете www.Google.com ? Это чтобы небыло разночтений.
у меня на запрос аддон Windows XP первыеже 10 ссылок были на сайт oszone.net.
Или вот вам ответ с другого сайта :
Цитата:

Цитата http://www.litkafe.ru/warez/soft/6741-windows-xp-sp3-black-edition-russian.html
Аддон предназначен для интеграции в дистрибутив Windows XP посредством UpdatePack-XPSP3-Rus.

Цитата:

Цитата Стёпа
Вторая ночь оверклокера прошла бестолку... »

А что вы разгоняете?

XpucT 30-07-2008 07:09 864181

volk1234, поверь психологу по совместительству, человек не ламак.
На oszone действительно слишком много мусора. С каждым днём найти что-то становится сложнее. Это правда. Одни и те же вопросы по нескольку раз. А google правда ведёт всё время сюда. :) Слава Вадику, что он пишет грамотно и понятно.
Кстати из всех его возгласов понятно, что всё что нужно ему знать это что:
Цитата:

Цитата volk1234
Аддон предназначен для интеграции в дистрибутив Windows XP посредством UpdatePack

Стёпик, покури и аддонь как Тебе подсказал volk1234 :)

P.S. Буквально неделю назад у самого спрашивали "а куда именно ложить аддоны?" :)

Guffer 30-07-2008 08:59 864206

Цитата:

Цитата Стёпа
Что такое аддон? ДА ДА ДА! Что такое Addon????? (то что это дополнение я знаю)
Я спрашиваю потому что ни один поисковик, включая google (который я юзаю "не стандартно")
--== надеюсь вы поняли что я имею ввиду под словом нестандартно ==--
не может мне найти куда ложить папку Addons!!! Где она должна создаваться? »

Цитата:

Цитата Стёпа
Всегда читал мануалы от корки до корки!!! »

по моему тут маленькая нестыковка... если ты читаешь все мануалы, то почему не читаешь описание аддонов? у 95% из нах так и написано : "аадон предназначен для интеграции в дистрибутив с использование UpdatePack-XPSP3-Rus", ну или чуть по другому сформулированно. И как тебя не заинтересовало что такое UpdatePack и с чем его едят? твой пост это и есть самый настоящий мусор за которым и прячется ценная инфа. поменьше бы таких самородков и ориентироваться на форуме было бы в 50 раз проще
Цитата:

Цитата Стёпа
повторюсь в 50!!!!! »


Delirium 30-07-2008 09:28 864231

Цитата:

Цитата XpucT
volk1234, поверь психологу по совместительству, человек не ламак. »

XpucT, а вы, как психолог по совместительству, ответьте тогда, разговаривает ли "не ламак" на албанском постоянно? И еще, никто здесь не требует кому то чего то объяснять, если человек считает себя умным, то флаг ему в руки, MSDN на шею и google в дорогу - пусть пишет сам. А постСтёпа очень смахивает на писанину пьяного молодого человека, обчитавшегося башорга. Критика вообще-то принимается только при наличии здравых предложений, а не криков "я могу написать винду но не хочу".

Vadikan 30-07-2008 09:30 864238

Степа все понял давно. Заканчиваем со флеймом, спасибо.

gora 03-08-2008 15:04 866951

2 All
Компилятор аддонов v3 обновлен.

Изменения:
- обновлен модифицированный модуль (благодарности Oleg_Sch)
- добавлена поддержка файлов Html.nfo (опционально)
- рядом с архивом созданного аддона добавляется exe файл того же аддона для возможности оперативной проверки инсталлятора, например, на виртуальной машине

Ссылка на пост в шапке.

maik5 03-08-2008 17:16 867029

gora,

Спасибо за оперативность. Html.nfo прекрасно подхватился, теперь не надо его вручную запихивать - усё на автомате :).

DyadyaGenya 08-08-2008 14:42 871128

опять вопрос ну и немного коментариев:
пытаюсь сделать аддон сразу для нескольких игрушек (разные версии Морхухна-стрелялка петухов). Соответсвтвенно все устаналивается в одну папку по имени производителя игрушки, выносяться ярлыки в пуск/программы но на работчий стол больше одного ярлыка не ставиться, устанавливается только последний в списке. Если положить ярлыки в быстрый запуск, то тоже срабатывает только один, но первый в списке. Поэтому вопрос, есть ли способ добавить несколько ярлыков касающихся одного приложения на работчем столе и панели быстрого запуска, ведь при инсталяции некоторых приложений родным установщиком могут налепить с 10 ненужных ярлыков
когда писал инффайл заметил, что если ложить несколько прог в одну папку, то для создания ярлыков необходимо указывать не просто полный путь исполнения файла типа
CmdLine =16422,%PROG_DIR1%,%PROG_SDIR1%,%PROG_1%
достаточно указать CmdLine =16422,%PROG_SDIR1%,%PROG_1%, а в первом случае срабатывать не будет
для полной ясности приведу листинг создания ярлыков, заодно может и подскажете почему нельзя создать несколько
Код:

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_SDIR1%,%PROG_1%
WorkingDir        =16422,%PROG_SDIR1%
SubDir                =%PROG_SDIR1%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR2%,%PROG_2%
WorkingDir        =16422,%PROG_SDIR2%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[PROG3.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR3%,%PROG_3%
WorkingDir        =16422,%PROG_SDIR3%
SubDir                =%PROG_SDIR3%
InfoTip                =%PROG_INFO%

[PROG3.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR3%

[PROG4.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR4%,%PROG_4%
WorkingDir        =16422,%PROG_SDIR4%
SubDir                =%PROG_SDIR4%
InfoTip                =%PROG_INFO%

[PROG4.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR4%

[PROG5.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR5%,%PROG_5%
WorkingDir        =16422,%PROG_SDIR5%
SubDir                =%PROG_SDIR5%
InfoTip                =%PROG_INFO%

[PROG5.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR5%

[PROG6.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR5%,%PROG_6%
WorkingDir        =16422,%PROG_SDIR5%
SubDir                =%PROG_SDIR6%
InfoTip                =%PROG_INFO%

[PROG6.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR6%

[PROG7.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR4%,%PROG_7%
WorkingDir        =16422,%PROG_SDIR4%
SubDir                =%PROG_SDIR7%
InfoTip                =%PROG_INFO%

[PROG7.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR7%

[PROG8.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR3%,%PROG_8%
WorkingDir        =16422,%PROG_SDIR3%
SubDir                =%PROG_SDIR8%
InfoTip                =%PROG_INFO%

[PROG8.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR8%

[PROG9.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR2%,%PROG_9%
WorkingDir        =16422,%PROG_SDIR2%
SubDir                =%PROG_SDIR9%
InfoTip                =%PROG_INFO%

[PROG9.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR9%

[PROG10.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_SDIR1%,%PROG_10%
WorkingDir        =16422,%PROG_SDIR1%
SubDir                =%PROG_SDIR10%
InfoTip                =%PROG_INFO%

[PROG10.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR10%

[Strings]
PROG_DIR        ="phenomedia"
PROG_NAME        ="Moorhuhn"
SRTC_NAME        ="Moorhuhn"
PROG_VERS        ="4v1"
PROG_MADE        ="www.phenomedia.com"
PROG_URL        ="http://www.phenomedia.com"
PROG_HELP      ="http://www.phenomedia.de/"
PROG_INF        ="phenomed.inf"
PROG_1        =Moorhuhn3.exe
PROG_2        =MoorhuhnInvasion.exe
PROG_3  =MoorhuhnPiraten.exe
PROG_4  =Moorhuhn-Soccer.exe
PROG_5  =CrazyChickenJod.exe
PROG_6  =CrazyChickenJod.exe
PROG_7  =Moorhuhn-Soccer.exe
PROG_8  =MoorhuhnPiraten.exe
PROG_9        =MoorhuhnInvasion.exe
PROG_10        =Moorhuhn3.exe
PROG_SDIR1        ="phenomedia\Moorhuhn 3"
PROG_SDIR2        ="phenomedia\Moorhuhn Invasion Vollversion"
PROG_SDIR3        ="phenomedia\Moorhuhn Piraten\Game"
PROG_SDIR4        ="phenomedia\Moorhuhn Soccer"
PROG_SDIR5        ="phenomedia\морхун1"
PROG_SDIR6      ="..\..\Рабочий стол"
PROG_SDIR7      ="..\..\Рабочий стол"
PROG_SDIR8      ="..\..\Рабочий стол"
PROG_SDIR9      ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_SDIR10    ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="Moorhuhn"


jameszero 08-08-2008 15:23 871174

DyadyaGenya
Разумеется, будет один ярлык, ведь во всех секциях создания ярлыков задано одно и то же имя - %SRTC_NAME%. Ярлыки перезапишут друг друга по очереди, кто последний - тот и папа :)
Нужно вводить столько переменных имени, сколько уникальных ярлыков хотите получить, по аналогии с несколькими переменными %PROG_1%, %PROG_2%, %PROG_3%... По желанию, можете ввести и несколько переменных %PROG_INFO% (для каждого ярлыка свою).

Плюс, не обязательно создавать дубли:
Код:

PROG_SDIR6      ="..\..\Рабочий стол"
PROG_SDIR7      ="..\..\Рабочий стол"
PROG_SDIR8      ="..\..\Рабочий стол"
PROG_SDIR9      ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_SDIR10    ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"

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

DyadyaGenya 08-08-2008 19:41 871353

jameszero, спасибо, как обычно все просто и логично, и не внимательно :(
а по поводу
Цитата:

Цитата jameszero
не обязательно создавать дубли: »

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

да и кстати, не подскажете почему все таки не срабатывал полный путь для смд?
Цитата:

Цитата DyadyaGenya
CmdLine =16422,%PROG_DIR1%,%PROG_SDIR1%,%PROG_1% »


jameszero 09-08-2008 13:50 871672

DyadyaGenya
Цитата:

Цитата DyadyaGenya
CmdLine =16422,%PROG_DIR1%,%PROG_SDIR1%,%PROG_1% »

Не работает потому, что структура неверна.
Правильная конструкция такая
Цитата:

CmdLine=Переменная dirids, путь к папке программы относительно переменной, имя исполняемого файла

dimon1947 13-08-2008 02:45 874149

Vadikan,
Цитата:

Цитата Vadikan
Степа все понял давно. Заканчиваем со флеймом, спасибо. »

Интересное отношение к флейму? Пару строк лести и пиши, что хочешь!

DyadyaGenya 03-09-2008 14:52 890109

jameszero,
Цитата:

Цитата jameszero
Цитата:CmdLine=Переменная dirids, путь к папке программы относительно переменной, имя исполняемого файла »

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

[Strings]
PROG_DIR        ="phenomedia"
PROG_SDIR1        ="phenomedia\Moorhuhn 3"

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

теперь ещё вопросы, почему то не все аддоны прописываются в компоненты виндоус, в том числе и твой аддон оперы, я в него уже добавлял и SetupClass=BASE, да и так вроде в руководстве сказано что достаточно указать секцию [Optional Components]
http://oszone.net/6946#d6 а все равно не показывается, хотя если в winnt.sif его закоментировать, поставить офф, то не установится, значит где то там в компонентах висит, но не показывается

тоже вопрос, не знаю кто подскажет, создал свой sysoc аддон для добавления записей в реестр (твиков) но почему то ветка HKCR не устанавливается, хотя на рабочей машине все сразу схватывает, в статье про твики сказано http://oszone.net/2779/:
Код:

HKEY_CLASSES_ROOT (HKCR)
Я не буду дублировать весьма подробное описание этого раздела реестра, данное в статье МS KB. Ознакомьтесь с ним самостоятельно. Я его интерпретирую следующим образом. Если вы хотите, чтобы изменения затронули всех пользователей (включая будущих), то либо импортируйте параметры HKCR вместе с HKCU из cmdlines.txt, либо импортируйте параметры в раздел HKEY_LOCAL_MACHINE\Software\Classes при первом входе в систему.

получается надо каким то образом дождаться либо т13, ведь все что стартует из cmdlines насколько я знаю, стартует на т13, либо указать применение при первом входе, вот и не пойму как это сделать, при этом от инф файла и sysoc аддона отказываться не хочется

jameszero 03-09-2008 15:15 890123

DyadyaGenya
В "Компоненты Windows" прописываются только SYSOC аддоны, а Opera, с недавних пор, SVCPACK аддон.
SYSOC аддоны в обязательном порядке содержат в корневой папке файл sysoc и при интеграции его содержимое копируется в sysoc.inf дистрибутива Windows. Если не указана метка hide, то аддон появляется в списке "Компонентов Windows"

Цитата:

Цитата DyadyaGenya
создал свой sysoc аддон для добавления записей в реестр (твиков) »

часть твиков невозможно внести на этапе установки sysoc аддонов, потому что они будут переписаны системой на последующих этапах.
Воспользуйтесь аддоном MyCustom, в нём реализовано внесение настроек при первом входе.

DyadyaGenya 03-09-2008 19:06 890283

jameszero,
Цитата:

Цитата jameszero
Opera, с недавних пор, SVCPACK аддон »

у меня как раз вариант ещё sysoc версии 9.25 и 9.26, отсюда с форума качал, так что вопрос остается, хотя нет, только что глянул, имеется ввиду, что hide стоит в sysoc файле аддона а не в инф? тогда понятно, у меня везде эта метка отсутствует

Цитата:

Цитата jameszero
Воспользуйтесь аддоном MyCustom, »

как раз в нем есть точно такие же ветки реестра как и у меня, да и по структуре вроде ничем не отличается, и тоже имеено они и не устанавливаются, я уже поменял на HCLM как пишут здесь http://support.microsoft.com/kb/256986/ru но все равно результат один
хотя наверно это больше вопрос к Boa Soft
так, на всякий случай выложу здесь строки которые не срабатывают:
Код:

;Добавление в меню файла/папки "Копировать в" и "Переместить в"
HKCR,"*\shellex\ContextMenuHandlers\Copyto",,0x0,"{C2FBB630-2971-11d1-A18C-00C04FD75D13}"
HKCR,"*\shellex\ContextMenuHandlers\Moveto",,0x0,"{C2FBB631-2971-11d1-A18C-00C04FD75D13}"
HKCR,"Folder\shellex\ContextMenuHandlers\Copyto",,0x0,"{C2FBB630-2971-11d1-A18C-00C04FD75D13}"
HKCR,"Folder\shellex\ContextMenuHandlers\Moveto",,0x0,"{C2FBB631-2971-11d1-A18C-00C04FD75D13}"

обьяснение оказалось простым: по поводу аддона от Boa Soft: у меня было две версии, в более новой было много дополнений, но не было именно этих строк, а в моем случае просто забывал добавлять в секции исполнения дочернние секции

truvo 11-11-2008 02:31 949149

Предложение такое. В некоторых аддонах на форуме объединены по несколько утилит, которые ставятся одним пакетом. Вместе с тем вероятны случаи, когда человеку хочется внедрить в дистрибутив одну-две утилиты из этого пакета, а остальные фишки ему ни к чему. Предлагаю авторам всех таких "пакетных" аддонов учитывать и такие потребности. То есть - в обязательном порядке снабжать свой аддон инструкцией по его возможному урезанию.
Типа так: "Если вы хотите убрать из предлагаемого набора (из аддона) программу XXX - выполните следующие действия: удалите такие-то файлы, такие-то строчки из inf..." Ну и т. п.

cnegok 19-11-2008 03:46 956521

возможно, глупый вопрос, но!
никак не могу разобраться в одной строчке файла конфигурации для модифицированного модуля от Oleg_Sch. может кто раставит знаки препинания здесь
Код:

RunProgram="hidcon:cmd /c reg delete hkcu\\Software\\Microsoft\\Windows\\ShellNoRoam\\MUICache /v %windir%\\system32\\notepad.exe /f"

gora 19-11-2008 08:55 956611

Цитата:

Цитата cnegok
в одной строчке файла конфигурации для модифицированного модуля от Oleg_Sch »

У модуля есть своя ветка и вопрос лучше адресовать туда. Только сначала сделайте экспорт записи из реестра, которую Вы хотите удалить, и приведите ее там в формате reg. Посмотрел у себя аналогичную ветку и для нее написал бы так (но возможно у Вас другая):
Код:

RunProgram="hidcon:REG delete \"HKCU\\Software\\Microsoft\\Windows\\ShellNoRoam\\MUICache\" /v \"%windir%\\system32\\NOTEPAD.EXE\" /t REG_SZ /d \"Блокнот\" /f"

Stanner 20-11-2008 09:49 957854

Обращаюсь к авторам аддонов типа SVCPACK.
Мне кажется, что для многих программ с инсталлятором Inno Setup (да и других, наверное) надо изменить название записи удаления программы. Обычно по шаблону используется что-нибудь типа %PROG_NAME%_addon, что при обновлении программы и установке новой версии поверх старой (как делают многие пользователи и многие программы не требуют сначала удалить старую версию) приведет к нескольким записям удаления одной программы в "Установке и удалении программ".
Если же в аддоне использовать название записи такое же, как и у родного инсталлятора (например, Download Master_is1), то при установке поверх новой версии программы родной инсталлятор просто перезапишет данные в этой записи, что по крайней мере не приведет размножению записей удаления.
Тот же Download Master периодами часто обновляется и предлагает загрузить и установить новую версию...

DyadyaGenya 22-11-2008 01:50 959799

не могу придумать как удалить папку в меню\программы, если там были подпапки в программе. думаю на примере будет понятнее что я имел в виду:
Код:

[PROG.AddShortcut]
Name                =%SRTC_NAME%
CmdLine        =16422,%PROG_sDIR%,%PROG_1%
WorkingDir        =16422,%PROG_sDIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR%

[PROG2.AddShortcut]
Name                =%SRTC_NAME%,0x00000001
CmdLine        =16422,%PROG_sDIR%,%PROG_1%
WorkingDir        =16422,%PROG_sDIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%


[Strings]
PROG_DIR        ="Nero"
PROG_NAME        ="Nero 8"
SRTC_NAME        ="Nero"
PROG_VERS        ="8 mikro"
PROG_URL        ="http://nero.com"
PROG_HELP        =http://nero.com
PROG_INF        ="nero_8.inf"
PROG_1        =nero.exe
PROG_2        =nero
PROG_SDIR        ="Nero\Nero Core"
PROG_SDIR2        ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO        ="запись CD/DVD дисков"

в меню\программы удаляется из Nero\Nero Core только Nero Core, а Nero остается.
И так везде, где используется структура:
PROG_SDIR =главная папка проги\подпапка проги

по идее по умолчанию папка для создания ярлыков через ProfileItems это папка Программы в меню Пуск, тогда должно было бы вроде сработать если указать допустим так:

Код:

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_DIR%

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

jameszero 22-11-2008 13:38 960037

DyadyaGenya
Можно, например, так:

Код:

[Uninstall]
<skip>
    RunPostSetupCommands=Obs.Delete

[Obs.Delete]
    rundll32.exe advpack.dll,DelNodeRunDLL32 %16407%\Nero


DyadyaGenya 22-11-2008 14:02 960056

jameszero, спасибо, а почему ж нельзя обычным способом через секцию ProfileItems? я пробовал вводить ещё одну сабдир с путем:
PROG_SDIR3 ="..\..\..\All Users\Главное меню\Программы\Nero

и вот так:
PROG_SDIR3 =16407\Nero

и другие подобные варианты

и есть ещё вопрос, почему то не во всех аддонах в Установка и удаление программ отображается например размер проги, хотя делаются из одного шаблона. По идее за это отвечает только строка
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%","EstimatedSize",0x10001,"хххх ххххх", где ххххххххх и есть размер, но как и сказал, не везде срабатывает.

ya158 14-01-2009 21:14 1007749

Вложений: 1
Хочу поделиться идеей создания файла конфигурации для 7z SFX архивов.

Как известно, при помощи 7z SFX архива легко скопировать файлы в нужные папки, создать нужные ярлыки и сделать записи в реестр. Затык происходит, когда всё это хозяйство требуется удалить. Для этого есть несколько путей. Например, можно положить в архив файл uninstall.exe, который создаёт родной инсталлятор программы, и сделать для него ярлык. Или создать inf-файл с необходимыми командами деинсталляции (как это сделано в аддоне-конструкторе Totall Commander от gora).

Или же самое простое - запустить при установки батник, который создаст в реестре необходимые записи для того, чтобы в "Установке и удалении программ" появилась запись об устанавливаемой программе. С помощью этой записи можно запустить программу деинсталляции, а в самом простом случае - батник, который удалит файлы программы, ярлыки и записи в реестре. Но это же самое можно сделать с помощью самого файла конфигурации.

Я сделал такой файл конфигурации (во вложении) для Foxit Reader-a. Этот файл в принципе универсальный - надо только заменить значения переменных, отредактировать запуск файлов после инсталляции и определить создаются ли ярлыки для всех пользователей или для текущего. Необходимые строки снабжены комментариями. После установки программы в "Установке и удалении программ" появляется запись, с помощью которой можно удалить программу.

Теперь о неприятном.
1. При деинсталляции не задаётся никаких вопросов - удаление программы происходит в "тихом" режиме. Таким образом, можно случайно нажать кнопку и программа будет тут же удалена. Но, как правило, в "Установку и удаление программ" лезут только для того, чтобы удалить программы, да и установить программу заново не сложно, т.к., как правило, в 7z SFX архив упаковывают уже настроенные программы.
2. При наличии в системной папке утилиты hidcon.exe удаление происходит без каких-либо окон. Если же этой утилиты нет, то будут появляться окна командной строки. Выход: либо положить утилиту в архив и скопировать её в системную папку, либо воспользоваться аддоном Hidcon.

snik100 23-01-2009 15:39 1016960

Уважаемый jameszero, корректно ли будет обрабатываться такая строка в файле Run - PROGRAM.EXE /VERYSILENT /TASKS=desktopicon - при интеграции аддона и последующей установке дистрибутива?

jameszero 23-01-2009 16:12 1017000

snik100
Уже возникали вопросы об особенностях использования ключей при установке из SVCPACK. Ответ тогда не нашли.

Как вариант, который не проверяли, попробуйте взять всю строчку в кавычки, но гарантий я не даю.
Код:

"PROGRAM.EXE /VERYSILENT /TASKS=desktopicon"

Pozia 23-01-2009 16:20 1017009

snik100, сделайте SFX архив. Там ключи какие угодно работают.

gora 23-01-2009 16:23 1017010

snik100, знак равенства корректно не обработается и кавычки (в любом количестве) не спасут. Опытным путем определил, что знаки равно (= ) и минус (-) в этой строке недопустимы, а кавычки отбрасываются. Например, путь, с пробелами заключенный в кавычки, "разваливается" на составные части и его нужно потом "собирать" в инсталляторе снова.

snik100 23-01-2009 18:01 1017073

Обсуждение на эту тему идет в ветке аддона QIP 8081. Выход ли использовать bat-файл, прописав его в файле Run, и поместив в SVCPACK? А в нем уже писать строку запуска программы PROGRAM.EXE /VERYSILENT /TASKS=desktopicon

RubinSky 18-02-2009 13:58 1042201

Уважаемые форумчане вот http://rapidshare.de/files/45412044/...g_2.42.7z.html аддон программы mp3Tag 2.42 который я попытался сделать. впринципе он рабочий, единственное - при установке системы на Т13 появляется ошибка - mp3Tag must be closed или Please close mp3Tag...при нажатии ОК он устанавливаеться но при запуске интерфейс английский(в настройках меняю вручную на русский) Как победить это? Может кто-то поможет доработать его? Надо чтобы размещался ярлык на рабочем столе и при первом запуске интерфейс был русским и не приходилось вручную переключать

Dmitry_K 18-02-2009 14:49 1042278

Цитата:

Цитата RubinSky
Надо чтобы размещался ярлык на рабочем столе »

см. Создание ярлыков при установке ОС

Цитата:

Цитата RubinSky
mp3Tag must be closed или Please close mp3Tag »

переименуй инсталлятор mp3tag.exe во что-нибудь другое, например в mp3_tag.exe, т.к. - это главный файл установленной программы, поэтому инсталлятор и "ругается"...

а по поводу всего остального - программа работает и без установки, проще установить ее и затем создать тихий sfx-архив, и там же (в архиве) прописать создание ярлыков

RubinSky 18-02-2009 15:14 1042305

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

Dmitry_K 18-02-2009 15:22 1042316

RubinSky, если время будет, сегодня-завтра сделаю...

RubinSky 18-02-2009 15:37 1042335

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

Dmitry_K 18-02-2009 15:49 1042342

Цитата:

Цитата RubinSky
а мои настройки? »

каждая программа хранит настройки в разных местах, в основном это реестр или ini-файл, и с каждой программой нужно разбираться отдельно, что и куда она прописывает...
Цитата:

Цитата RubinSky
а прописывание в реестр? »

качаешь RegShot, делаешь "снимок" реестра ДО и ПОСЛЕ установки, экспортируешь необходые изменения, например, в рег-файл, далее вносишь настройки этим файлом.

DyadyaGenya 07-03-2009 01:20 1056976

давно уже назревал вопрос, но все надеялся сам решить, как вносить ветки реестра из HKCU используя sysoc аддоны (тоесть с помощью инф-файла)?
как я понимаю, данные реестра из инф-файла вносятся где то между 37 и 24 минутами, соответственно потом на т13 данные HKCU перезаписываются и свои настройки теряются. по идее самый правильный способ был бы запуск отдельной секции через RunOnce. Пробовал так

Код:

[proga]
OptionDesc        = "proga"
Tip                = "просто прога"
Modes                = 0,1,2,3
AddReg                = Custom.AddReg,Other.AddReg

[DefaultInstall]
AddReg                = Custom.AddReg,Other.AddReg

[Custom.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","proga",0x20000,"%SystemRoot%\System32\rundll32.exe advpack.dll,LaunchINFSection %17%\proga.inf,CustomInstall,0"

[CustomInstall]
HKCU,"бла-бла-бла"

[Other.AddReg]
HKLM,"бла-бла-бла-бла"

пробовал и другие способы, но на мой взгляд этот наиболее правильный хотя и он не срабатывает, вносятся соответсвенно только HKLM
что самое обидное, вроде все верно передрал с аддона MyCustom от BoaSoft где оно работает, хотя опять же по невнимательности или не полному пониманию процесса мог не все правильно сделать в своем случае

и ещё вопрос, не всегда срабатывают команды
[Close.Prog]
TASKKILL /IM %PROG_1%
TSKILL %PROG_2%
соответственно не полностью удаляется папка в програмфайлз, поэтому вопрос, есть ли ещё какие то способы закончить процес?

gora 09-04-2009 09:56 1088628

Продолжение разговора начатого здесь.

Хочу сразу определить свою позицию по вопросу обсуждения стандартизации аддонов и разработке «Стандарта» (и целесообразности своего участия в этом обсуждении):

1 Вынос обсуждения «Стандарта» в закрытый форум считаю неправильным, т.к., многие аддонописатели в VIP клуб не входят, и высказать своего мнения не смогут, а с их мнением тоже нужно считаться. А потом, что нам скрывать, зачем прятаться от народа!? :dont-know

2 «Стандарт» не должен быть составной частью «Руководства…» от volk1234, а должен быть независимым документом с определенным статусом (на подобии статуса ОКП).

3 «Редактором» (автором ветки обсуждения «Стандарта», если таковую сочтут нужным сделать отдельной, хотя я лично в этом смысла не вижу) не может и не должен быть volk1234, в связи с:
Цитата:

Цитата volk1234
Я и тогда не горел желанием что - либо стандартизировать. И сейчас не горю. »

Еще живо воспоминание о «принципе» наших партийных бонз: «Если движение масс нельзя задушить, то его надо возглавить».
Чтобы не создалось ложного впечатления о моем желании узурпировать этот «пост», сообщаю, что сам я ни в какие «редакторы» не рвусь и, если вдруг будет предложено войти в какую, либо комиссию, откажусь. Статус кво меня устраивает. :)

volk1234 09-04-2009 13:57 1088831

gora
ALL
1.
Цитата:

Цитата Volk1234
Самое главное, что будет обсуждатся - стандарт наименования архива?
папки с аддоном? Стандарт имени аддона в шапке?
На мой взгляд тема изменения пользователями имен папок - гораздо важнее и актуальнее
В любом случае:
ИМХО надо вынести вопрос на голосование в закрытом форуме VIP-клуб. Это касается напрямую авторов аддонов.

2.
http://forum.oszone.net/showpost.php...&postcount=357

Цитата:

Как хотите, давайте в общем доступе. Перенесите созданную ветку из вип клуба или прибейте ее и создайте новую.
Насчет группы Авторов аддонов реально затупил, я был совершенно уверен, что у них есть доступ к ВИП-клубу.


Цитата:

Цитата gora
2 «Стандарт» не должен быть составной частью «Руководства…» от volk1234, »

я только за.

Цитата:

Цитата gora
не может и не должен быть volk1234 »

Я и впредь буду терпеливо сносить ваши пинки. А вы и дальше можете называть меня хамом....

Цитата:

Цитата gora
«Если движение масс нельзя задушить, то его надо возглавить». »

Ого. Я враг стандартизации...
Поясню свои действия, я просто предложил перенести разговор из ветки обсуждения руководства в отдельную тему.
И дабы это событие произошло быстрее создал отдельную ветку и указал в теме руководства cсылку на нее. А в теме руководства предложил вернутся к обсуждения собственно руководства. Тем более есть не менне важные темы - те же префиксы например.

Сам формат форума- не подразумевает главенство в споре автора ветки. Есть модераторы и администрация.
2 All я не в коей мере не стремлюсь быть "редактором", бонзой, властелином мира и т.д.

gora 29-05-2009 12:29 1130204

2 ALL

Компилятор аддонов v4.5 обновлен.
Изменения:
1. Модуль выведен из компилятора и может обновляться отдельно.
2. Настройки вынесены в отдельный ini файл.
3. Сжатие модуля отключено из-за участившихся "жалоб" антивирусов.
4. Расширен список добавляемых в аддон опциональных файлов.
5. Упрощена структура файла nsolid.
6. Заменен шаблон аддона-примера.
7. Незначительные изменения и улучшения.

Ссылка на "Компилятор аддонов" в шапке.

Fresh96 30-05-2009 01:19 1130708

Здравствуйте. Подскажите пожалуйста.
Читаю руководство по созданию аддонов, но т.к. далек (но не слишком) от этой темы поэтому приходится тяжко:)

Вопрос вот в чем:
Имеется файл в дистрибутиве XPSP3, назовем его, например, QWERTY.DL_
также есть патч Restorator'a Patch_QWERTY.DL_.exe
(и таких пар файлов несколько)

Нужно с помощью UpdatePackXPSP3 (при интеграции обновлений и аддонов)
1. распаковать QWERTY.DL_
2. применить Patch_QWERTY.DL_.exe (возможно с ключом -force)
3. запаковать обратно (+ исправить контрольные суммы) ...
4. ...и положить файл в дистрибутив.

Подскажите... пойду читать дальше

Amigos 31-05-2009 09:05 1131449

Цитата:

Цитата Fresh96
Читаю руководство по созданию аддонов »

в данном случае - зря. Патч ресурсов никакими штатными ресурсами, доступными из аддонов не поддерживается, и выполняется только через finish.
Цитата:

Цитата Fresh96
1. распаковать QWERTY.DL_
2. применить Patch_QWERTY.DL_.exe (возможно с ключом -force)
3. запаковать обратно (+ исправить контрольные суммы) ...
4. ...и положить файл в дистрибутив. »

варинтов 2
1 вы сами модифицируете QWERTY.DLL
в таком случае лучше сделать респатчь (новые ресурсы в открытом виде + текстовый файл с описанием что меняется) и отдать патчин ресурсов на откуп интегратору обновлений, там шаги с 1 по 4 выполняются автоматом, от вас требуются только ресурсы

2 если Patch_QWERTY.DL_.exe делается другим человеком, (например prokazza) то пользуйтесь тем методом который реализован в его аддоне.

Fresh96 31-05-2009 11:52 1131531

Цитата:

Цитата Amigos
пользуйтесь тем методом который реализован в его аддоне. »

а как там все реализовано? можно поподробнее

Dmitry_K 31-05-2009 12:07 1131542

Цитата:

Цитата Fresh96
Нужно с помощью UpdatePackXPSP3 (при интеграции обновлений и аддонов)
1. распаковать QWERTY.DL_
2. применить Patch_QWERTY.DL_.exe (возможно с ключом -force)
3. запаковать обратно (+ исправить контрольные суммы) ...
4. ...и положить файл в дистрибутив. »

подобное реализовано в [addon] Vista Logon patch, скачай, посмотри, там все оч.просто делается файликом Finish + патченные файлы выводятся из списка защиты файлом killwfp.lst

Amigos 31-05-2009 16:39 1131663

Цитата:

Цитата Fresh96
а как там все реализовано? »

d:\Winstyle.7z\Winstyle\SpecCase батник который отрабатывается до интеграции
d:\Winstyle.7z\Winstyle\Finish батник который отрабатывается после интеграции

Цитата:

Цитата Fresh96
1. распаковать QWERTY.DL_
2. применить Patch_QWERTY.DL_.exe (возможно с ключом -force)
3. запаковать обратно (+ исправить контрольные суммы) ...
4. ...и положить файл в дистрибутив. »

кстати это частный случай, в общем случае файл может лежать в I386\SP3.CAB

Habetdin 31-05-2009 23:18 1131879

Подскажите, в Inf-файлах переменная %16422% имеет то же значение, что и переменная %ProgramFiles%?

Dmitry_K 31-05-2009 23:45 1131894

Habetdin, да, только в инф-файлах эта переменная пишется без знаков %

читать дальше »
16384 %userprofile%\Desktop (Рабочий стол)
16386 %userprofile%\Start Menu\Programs (группа Программы меню Пуск)
16389 %userprofile%\My Documents (папка Мои документы)
16390 %userprofile%\Favorites (папка Избранное)
16391 %userprofile%\Start Menu\Programs\Startup (группа Автозагрузка)
16392 %userprofile%\Recent (Недавние документы)
16393 %userprofile%\SendTo (папка для меню Отправить)
16395 %userprofile%\Start Menu (меню Пуск или папка Главное меню)
16397 %userprofile%\My Documents\My Music (папка Моя музыка)
16398 %userprofile%\My Documents\My Videos (папка Мои видеозаписи)
16400 %userprofile%\Desktop (Рабочий стол)
16403 %userprofile%\NetHood (папка Сетевое окружение)
16404 %systemroot%\Fonts (папка Шрифты)
16405 %userprofile%\Templates (папка Шаблоны)
16406 * %allusersprofile%\Start Menu
16407 * %allusersprofile%\Start Menu\Programs (группа Программы меню Пуск)
16408 * %allusersprofile%\Start Menu\Programs\Startup (меню Пуск или папка Главное меню)
16409 * %allusersprofile%\Desktop (Рабочий стол)
16410 %userprofile%\Application Data
16411 %userprofile%\PrintHood (папка Принтеры)
16412 %userprofile%\Local Settings\Application Data
16415 * %allusersprofile%\Favorites (папка Избранное)
16416 %userprofile%\Local Settings\Temporary Internet Files
16417 %userprofile%\Cookies
16418 %userprofile%\Local Settings\History
16419 * %allusersprofile%\Application Data
16420 %systemroot% (C:\WINDOWS)
16421 %systemroot%\System32
16422 %programfiles%
16423 %userprofile%\My Documents\My Pictures (Мои рисунки)
16424 %userprofile%
16425 %systemroot%\System32
16427 %commonprogramfiles%
16429 * %allusersprofile%\Templates (папка Шаблоны)
16430 * %allusersprofile%\Documents (папка Мои документы)
16431 * %allusersprofile%\Start Menu\Programs\Administrative Tools
16432 %userprofile%\Start Menu\Programs\Administrative Tools
16437 * %allusersprofile%\Documents\My Music (папка Моя музыка)
16438 * %allusersprofile%\Documents\My Pictures (Мои рисунки)
16439 * %allusersprofile%\Documents\My Videos (папка Мои видеозаписи)
16440 %systemroot%\resources
16441 %systemroot%\resources\0409
16443 %userprofile%\Local Settings\Application Data\Microsoft\CD Burning

*Для удобства выделены DIRID ссылающиеся на %allusersprofile%
NB Помните, что во время установки Windows переменная %userprofile% =%defaultuser% (других пользователей еще не существует)

jameszero 01-06-2009 11:52 1132157

Dmitry_K
Цитата:

Цитата Dmitry_K
в инф-файлах эта переменная пишется без знаков % »

Не верю :huh:

Habetdin 01-06-2009 12:19 1132177

Помогите с Inf-файлом :(
Код:

...
[Uninstall]
...
ProfileItems                                =DelDesktopShortcut
...
[DelDesktopShortcut]
Name                                        ="Everything - Поиск",0x00000008,25
CmdLine                                        =16422,Everything,Everything.exe
...

Почему не удаляется ярлык? Имя ярлыка, расположение верно вроде :dont-know

jameszero 01-06-2009 12:51 1132201

Habetdin
Код:

ProfileItems = DelDesktopShortcut

[DelDesktopShortcut]
Name = "Everything - Поиск",0x0000000A,25


Habetdin 01-06-2009 13:13 1132209

jameszero, Раньше программа удалялась, а ярлык на рабочем столе оставался.
Сейчас стёр строку
Код:

CmdLine                                        =16422,Everything,Everything.exe
и вот что мне теперь выдает система при удалении программы (программа не удаляется):


jameszero 01-06-2009 13:22 1132214

Habetdin
На inf-файл можно взглянуть?

Букву A, надеюсь, не в русской раскладке набрали?

Habetdin 01-06-2009 13:25 1132222

jameszero,
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[DefaultInstall]
AddReg                                        =PROG.AddReg

[Uninstall]
BeginPrompt                                =BeginUnInsPrompt
RunPreSetupCommands                        =Close.Prog:1
RunPostSetupCommands                        =Dir.Delete
EndPrompt                                =EndUnInsPrompt
DelReg                                        =PROG.DelReg
DelFiles                                =Del.PNF
ProfileItems                                =DelDesktopShortcut

[BeginUnInsPrompt]
Title                                        =Деинсталляция %PROG_NAME%
Prompt                                        =Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType                                =YESNO

[Close.Prog]
TSKILL %PROG_2%
ping -n 3 127.0.0.1

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%
rundll32.exe advpack.dll,DelNodeRunDLL32 %16407%\%PROG_SDIR%

[DestinationDirs]
Del.PNF =17

[Del.PNF]
%PROG_PNF%
%PROG_INF%

[DelDesktopShortcut]
Name                                        ="Everything - Поиск",0x00000008,25

[EndUnInsPrompt]
Prompt                                        =Программа %PROG_NAME% удалена.

[PROG.AddReg]
HKLM,"%SWUninstall%\%PROG_NAME%","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"%SWUninstall%\%PROG_NAME%","DisplayName",,"%PROG_NAME% %PROG_VERS%"
HKLM,"%SWUninstall%\%PROG_NAME%","DisplayVersion",,"v%PROG_VERS%"
HKLM,"%SWUninstall%\%PROG_NAME%","Publisher",,"%PROG_MADE%"
HKLM,"%SWUninstall%\%PROG_NAME%","URLInfoAbout",,"%PROG_URL%"
HKLM,"%SWUninstall%\%PROG_NAME%","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

[PROG.DelReg]
HKLM,"%SWUninstall%\%PROG_NAME%"

[Strings]
PROG_DIR        ="Everything"
PROG_NAME        ="Everything"
SRTC_NAME        ="Everything"
SRTC_NAME2        ="Удалить Everything"
PROG_VERS        ="1.2.1.371"
PROG_MADE        ="voidtools"
PROG_URL        ="http://www.voidtools.com/"
PROG_INF        ="Everything.inf"
PROG_PNF        ="Everything.PNF"
PROG_1                =Everything.exe
PROG_2                =Everything
PROG_SDIR        ="Утилиты\Everything"
PROG_INFO        ="Моментальный поиск"
SWUninstall        ="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"

Может быть как-нибудь запустить после деинсталляции?
Код:

cmd /c "del /f /q "%16409%\Everything - Поиск.lnk""

jameszero 01-06-2009 13:34 1132228

Habetdin
Что то я не вижу корректировки, которую я вам подсказал - 0x0000000A,25

Habetdin 01-06-2009 13:41 1132236

jameszero, спасибо! Ошибок нет :)
Цитата:

Цитата jameszero
корректировки, которую я вам подсказал »

Значит вот здесь:
Код:

Special ProfileItems Flags

0x00000008,2 = "%UserProfile%\Start Menu\Programs"
0x00000008,5 = "%UserProfile%\My Documents"
0x00000008,6 = "%UserProfile%\Favorites" <- Perfect for adding custom IE Bookmarks
0x00000008,7 = "%UserProfile%\Start Menu\Programs\Startup"
0x00000008,8 = "%UserProfile%\Recent"
0x00000008,9 = "%UserProfile%\SendTo"
0x00000008,11 = "%UserProfile%\Start Menu"
0x00000008,13 = "%UserProfile%\My Documents\My Music"
0x00000008,14 = "%UserProfile%\My Documents\My Videos"
0x00000008,16 = "%UserProfile%\Desktop"
0x00000008,19 = "%UserProfile%\NetHood"
0x00000008,20 = "%WinDir%\Fonts"
0x00000008,21 = "%UserProfile%\Templates"
0x00000008,22 = "%AllUsersProfile%\Start Menu"
0x00000008,23 = "%AllUsersProfile%\Start Menu\Programs"
0x00000008,24 = "%AllUsersProfile%\Start Menu\Programs\Startup"
0x00000008,25 = "%AllUsersProfile%\Desktop"
0x00000008,26 = "%UserProfile%\Application Data" <- Perfect for QuickLauch
0x00000008,27 = "%UserProfile%\PrintHood"
0x00000008,28 = "%UserProfile%\Local Settings\Application Data"
0x00000008,31 = "%AllUsersProfile%\Favorites"
0x00000008,32 = "%UserProfile%\Local Settings\Temporary Internet Files"
0x00000008,33 = "%UserProfile%\Local Settings\Cookies"
0x00000008,34 = "%UserProfile%\Local Settings\History"
0x00000008,35 = "%AllUsersProfile%\Application Data"
0x00000008,36 = "%WinDir%"
0x00000008,37 = "%WinDir%\system32"
0x00000008,38 = "%ProgramFiles%"
0x00000008,39 = "%UserProfile%\My Documents\My Pictures"
0x00000008,40 = "%UserProfile%"
0x00000008,41 = "%WinDir%\system32"
0x00000008,43 = "%CommonProgramFiles%"
0x00000008,45 = "%AllUsersProfile%\Templates"
0x00000008,46 = "%AllUsersProfile%\Documents"
0x00000008,47 = "%AllUsersProfile%\Start Menu\Programs\Administrative Tools"
0x00000008,48 = "%UserProfile%\Start Menu\Programs\Administrative Tools"
0x00000008,53 = "%AllUsersProfile%\Documents\My Music"
0x00000008,54 = "%AllUsersProfile%\Documents\My Pictures"
0x00000008,55 = "%AllUsersProfile%\Documents\My Videos"
0x00000008,56 = "%WinDir%\Resources"
0x00000008,57 = "%WinDir%\Resources\0409"
0x00000008,59 = "%UserProfile%\Local Settings\Application Data\Microsoft\CD Burning"

Везде вместо 0x00000008 надо писать 0x0000000A?

jameszero 01-06-2009 13:52 1132239

Habetdin
В приведённом коде нет ошибки, в нём описано не удаление, а создание ярлыков. Это разные вещи.

Habetdin 06-06-2009 12:47 1136561

jameszero,
Код:

ProfileItems Flags

; для создания
0x00000001 Create menu item in Current User flag
0x00000004 Create Start menu group under All Users\Start\Programs
0x00000005 Create Start menu group under Current User\Start\Programs

; для удаления
0x00000002 Delete menu item flag
0x00000006 Delete Start menu group under All Users\Start\Programs
0x00000007 Delete Start menu group under Current User\Start\Programs

Верно? :)

jameszero 06-06-2009 14:12 1136644

Habetdin
В руководстве по созданию аддонов есть эта информация, зачем переспрашиваете?
Но я рекомендую пользоваться таблицей двумя постами выше.

DyadyaGenya 20-06-2009 02:04 1147290

доброго времени суток всем форумчанам
когда то задавал вопрос, но к сожалению наверно никто его не заметил и не ответил, поэтому повторюсь:
почему то не всегда срабатывает команда

[Close.Prog]
TASKKILL /IM %PROG_1%
TSKILL %PROG_2%

соответственно не полностью удаляется папка в програмфайлз, поэтому вопрос, есть ли ещё какие то способы закончить процес? или почему не срабатывают приведенные выше команды и как это побороть?

Habetdin 20-06-2009 02:19 1147297

DyadyaGenya, может быть переменным %PROG_1% и %PROG_2% заданы значения, не совпадающие с именами исполняемых файлов?

DyadyaGenya 20-06-2009 02:28 1147301

Habetdin,
Цитата:

Цитата Habetdin
может быть переменным %PROG_1% и %PROG_2% заданы значения, не совпадающие с именами исполняемых файлов? »

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

jameszero 20-06-2009 08:47 1147369

DyadyaGenya
Не каждая программа может выгрузиться из памяти моментально, потому удаление и не срабатывает.
Решение - добавить небольшую паузу после завершения процесса:
Код:

[Close.Prog]
TSKILL %PROG_2%
ping -n 3 127.0.0.1

P.S. не рекомендую использовать TASKKILL /IM %PROG_1%, на Home Edition эта команда вызовет ошибку.

semiono 05-07-2009 03:19 1159194

nv4_disp.inf
; NVIDIA Windows 2000/XP Display INF file
DriverVer = 03/27/2009, 6.14.11.8250
http://slil.ru/27812323

Помогите из nv4_disp.inf выкинуть вот эти опции, пожалуйста?

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"NvCplDaemon"="RUNDLL32.EXE D:\\~\\system32\\NvCpl.dll,NvStartup"
"nwiz"="nwiz.exe /install"
"NvMediaCenter"="RUNDLL32.EXE D:\\~\\system32\\NvMcTray.dll,NvTaskbarInit"

Надеюсь если удалю эти строки то получится?
[nv_ControlPanelSettings]
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,NvCplDaemon,,"RUNDLL32.EXE %11%\NvCpl.dll,NvStartup"
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,NvMediaCenter,,"RUNDLL32.EXE %11%\NvMcTray.dll,NvTaskbarInit"
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,"nwiz",,"nwiz.exe /install"

Dmitry_K 05-07-2009 03:39 1159199

Цитата:

Цитата semiono
Надеюсь если удалю эти строки то получится?
[nv_ControlPanelSettings]
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,NvCplDaemon,,"RUNDLL32.EXE %11%\NvCpl.dll,NvStartup"
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,NvMediaCenter,,"RUNDLL32.EXE %11%\NvMcTray.dll,NvTaskbarInit"
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,"nwiz",,"nwiz.exe /install" »

получится, только [nv_ControlPanelSettings] удалять не надо + необходимо еще и службу NVSvc перевести в ручной режим запуска:
Код:

[nv_NVSVC_Inst]
DisplayName    = %NVSVC.name%
Description    = %NVSVC.desc%
ServiceType    = 16
StartType      = 3
ErrorControl  = 1
ServiceBinary  = %11%\nvsvc32.exe


semiono 05-07-2009 05:04 1159209

а что устанавливает - nwiz.exe /install ?

В секции
[SourceDisksFiles]
nwiz.exe нету!

Я его соответственно выкинул, и единственный глюк был это то что он в реестре торчит.
Можно ли доверять секции, и почему такая несогласованность?

--
А можно создать минимум установки в nv4_disp.inf ?
Одно то хорошо, что поддерживаются многие карты.
Однако кроме установки драйвера, никакие утилиты консоли и тулсы не нужны, тем более на автозапуске...
Кстати, а зачем сервис нужен? nvsvc32.exe - я его обычно всегда отключаю хотя и руками...
Это наверное для поддержки виртуальных экранов?
В любом случае лучше бы минимизировать установку драйвера и всё лишнее убрать!

semiono 05-07-2009 12:34 1159307

Dmitry_K, уже ставил дрова получилось хорошо! :)

Das Betrunkene Pferd 10-07-2009 15:47 1163937

Два вопроса по txtsetup.sif
- можно ли скопировать через него файлы в папку не указанную в [WinntDirectories] (папки изначально не существует, её нужно создать)
- если для cab-архива, содержащего более одного файла, указать атрибут сжатый, будет ли всё содержимое cab-а распакованно и скопированно в папку?

jameszero 10-07-2009 16:02 1163953

Das Betrunkene Pferd
1. Нет, это делается с помощью INF-файлов.
2. Вопрос не совсем понятен. Каким способом предполагается распаковывать CAB-файл? Сам по себе архив никуда не распаковывается, к нему происходит обращение установщика, и флаг сжатый/не сжатый используется последним.

Das Betrunkene Pferd 10-07-2009 16:52 1163992

jameszero, тогда вы не можете подсказать, как скопировать файлы на жесткий диск еще на текстовом этапе установки, не используя OEM-папок?

jameszero 10-07-2009 17:13 1164008

Das Betrunkene Pferd
Озвучте полное техзадание, что, куда и для каких целей нужно скопировать.

Das Betrunkene Pferd 10-07-2009 17:22 1164017

jameszero, хочу сделать аддон, для копирования курсоров (13 штук) и внесения твиков в реестр для того, чтобы установка Windows начиналась с уже прописанными курсорами (единственный способ получить анимированные курсоры еще на графическом этапе установки). Твики можно внести через hive, а вот курсоры получилось копировать только через OEM. Поэтому и спрашиваю, пробовал делать sysoc аддон, но оказалось, что sysoc отрабатывает поздже.

jameszero 10-07-2009 19:40 1164144

Das Betrunkene Pferd
Добавьте новую переменную в [WinntDirectories] и копируйте по этому пути файлы.
Для примера загляните в Txtsetup UpdatePack. В нём добавляется переменная 419 = system32\mui\0419 и копируется по этому пути файл msimsg.mui

Das Betrunkene Pferd 10-07-2009 19:48 1164155

jameszero, спасибо, техзадание снимается, решил проблему (оказалось папка cursors уже прописана в txtsetup под номером 25).
Остались только два вопроса, если кто-нубудь когда-нубудь ответит, буду благодарен:
- как в txtsetup указать в качестве источника файлов cab (чтобы был один cab для всех файлов, а не поштучно)
- как упаковать несколько файлов в один cab?

Habetdin 10-07-2009 20:13 1164187

Das Betrunkene Pferd, тут есть утилита для упаковки/распаковки cab

cnegok 28-07-2009 14:01 1179773

подскажите пожалуйста, как прописать в *.inf-файле создание ярлыка в "Пуск -> Программы -> MyProgram" на деинсталяцию приложения посредством advpack? строка деинсталяции - HKCU,"%SWUninstall%\%PROG_NAME%","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

jameszero 28-07-2009 16:20 1179870

cnegok

Код:

[DefaultInstall]
    ProfileItems = PROG2.AddShortcut

[PROG2.AddShortcut]
    Name = Uninstall
    CmdLine = 11,,"rundll32.exe advpack.dll,LaunchINFSection %PROG_INF%,Uninstall"
    WorkingDir = 17
    SubDir = MyProgram


Magnetio 04-08-2009 21:20 1185635

Цитата:

Цитата gora
"Набор инструментов" Возможности:
1. Конвертирование reg файлов в inf формат из контекстного меню, с помощью утилиты Reg2Inf_context_tool от n7Epsilon (необходим .NET Framework v2.0 и выше). При установке в диалоговом окне содержится информация о необходимости наличия на компьютере .NET Framework v2.0 для установки Reg2Inf_context_tool. Производится проверка наличия на компьютере .NET Framework v2.0 или выше и, если он отсутствует, то установка Reg2Inf_context_tool НЕ производится.
2. Распаковка Хотфиксов от MS из контекстного меню.
3. Упаковка файлов и директорий в CAB архивы (а так же распаковка) из контекстного меню "Отправить", с помощью утилиты SendTo_CAB_tool
Предусмотрено для утилиты SendTo_CAB_tool:
1 Интерактивный выбор языка (русский, анлийский).
2 Деинсталляция с помощью ключей:
-ai0 (русский язык в контекстном меню)
-ai1 (английский язык в контекстном меню)
Вложения
Тип файла: 7z tools_s_080109_22-44.7z
(144.8 Kb, 993 просмотров) »


а есть параметры для тихой установки?

gora 04-08-2009 22:15 1185684

Цитата:

Цитата Magnetio
а есть параметры для тихой установки? »

Нет. Вы хотите аддон из него сделать? Можно попробовать...

Magnetio 04-08-2009 23:21 1185738

Да, хотел бы, спасала меня 1оо5оо раз уже.

gora 31-08-2009 10:43 1207771

2 ALL

При написании своих аддонов с использованием в них скриптов Finish, Start и т.д. нужно учитывать следующее:
1 При вызове этих файлов из основного скрипта UpdatePack-а, включены расширения переменной среды с задержкой (SetLocal EnableDelayedExpansion), что может повлиять на корректность выполнения вашего скрипта. Например, такая строка:
Код:

%WorkDir%\7zr a -mx=9 %WorkDir%\Resources.7z .\%WorkDir%\Resources\ -xr!ntkrpamp.exe\ -xr!rcscriptd.txt -xr!ntkrnlmp.exe\ -xr!rcscriptz.txt -xr!rcscriptx.txt -xr!syssetup.dll\ -xr!ntoc.dll\ >nul
вызовет ошибку.
2 Избежать такой ошибки можно применив команду SetLocal DisableDelayedExpansion в своем скрипте. Не следует забывать, что при выходе из вашего скрипта Вы обязаны все восстановить в исходное состояние, т.е., снова применить команду SetLocal EnableDelayedExpansion, дабы, не нарушить работу остальных аддонов и самого скрипта UpdatePack
3 По непонятным пока причинам работа с GUI интегратором отличается от работы скрипта UpdatePack-а в плане включения расширения переменной среды с задержкой и, приведенная выше строка в нем работает. Это различие может стать причиной корректной работы вашего аддона при одном способе интеграции и некорректной при другом.

Учитывайте эти обстоятельства при разработке и тестировании своих аддонов!

Vitaliy21 17-09-2009 21:08 1221343

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

Основываясь на статье http://www.oszone.net/6477

Хочу сделать SFX-архив который можно былоб использовать как аддон для интеграции через SVCPACK.

Но проблема в том, что не знаю как правильно прописать в файл конфигурации эту команду запуска:
Код:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 <полный путь к inf-файлу>\factory.inf

gora 17-09-2009 21:44 1221371

Цитата:

Цитата Vitaliy21
не знаю как правильно прописать в файл конфигурации эту команду запуска: »

Для 7z SFX архива, например, так:
Код:

RunProgram="rundll32 advpack,InstallHinfSection полный_путь_к_inf_файлу\\factory.inf,DefaultInstall,0"
полный_путь_к_inf_файлу без пробелов и слеши удваиваются.

Vitaliy21 17-09-2009 22:41 1221425

gora, попробовал вот так:

Код:

;!@Install@!UTF-8!
GUIMode="2"
InstallPath="%WINDIR%\\System32"
RunProgram="hidcon:cmd /c copy factory.inf %WINDIR%\\INF"
RunProgram="rundll32 advpack,InstallHinfSection \\factory.inf,DefaultInstall,0"
;!@InstallEnd@!

При запуске SFX архива вылазит ошибка:



что не так?

gora 17-09-2009 22:52 1221430

Vitaliy21, попробуйте так:
Код:

;!@Install@!UTF-8!
GUIMode="2"
InstallPath="%WINDIR%\\System32"
RunProgram="hidcon:cmd /c Move factory.inf %WINDIR%\\INF"
RunProgram="rundll32 advpack,LaunchINFSection factory.inf,DefaultInstall,0"
;!@InstallEnd@!


Vitaliy21 17-09-2009 23:15 1221449

Спасибо, заработало...

Vitaliy21 24-09-2009 00:58 1226130

У меня еще такой вопрос.
А именно по аддонам такие как [addon] Drive Space Indicator и Служебные - [addon+live+конструктор] Дополнительные апплеты панели управления. Мне интересно чем автор prokazzza запаковывал установочные файлы в инсталятор которые потом копировались в SVCPACK?

Просто мне нужно один такой аддон, такого типа установки перепаковать, а уж точно они небыли запакованы кнопкой TC. :)

Jekson07 24-09-2009 01:26 1226149

Vitaliy21, Inno Setup

DyadyaGenya 11-10-2009 01:22 1239818

когда то задавал вопрос почему не всегда прекращается процесс удаляемой софтинки командой :
TASKKILL /IM %PROG_1%
TSKILL %PROG_2%

к сожалению советы разобраться с именами процессов и вставка задержки с помощью команды запускающей пинг результатов не дали. недавно решил почитать справку про эту команду, ведь это системная утилитка, и здесь ответ нашелся сам собой, для таких же ленивых как я вставил здесь справку:
Код:

C:\Documents and Settings\DyadyaGenya>taskkill -?

TASKKILL [/S <система> [/U <пользователь> [/P [<пароль>]]]]
        { [/FI <фильтр>] [/PID <процесс> | /IM <образ>] } [/F] [/T]

Описание:
  Эта команда позволяет завершить один или несколько процессов.
  Процесс может быть завершен по имени образа или по идентификатору процесса.

Список параметров:
  /S  <система>                  Подключаемый удаленный компьютер.

  /U  [<домен>\]<пользователь>  Пользовательский контекст, в котором
                                  должна выполняться эта команда.

  /P  <пароль>                  Пароль для этого пользовательского контекста.

                                  Запрашивает пароль, если он не задан.

  /F                              Принудительное завершение процесса


  /FI  <фильтр>                  Отображение задач, отвечающих
                                  указанному в фильтре критерию.

  /PID <процесс>                  Идентификатор процесса, который требуется
                                  завершить.

  /IM  <образ>                    Имя образа процесса, который требуется
                                  завершить. Для указания всех процессов
                                  можно использовать символ шаблона '*'.

  /T                              Завершение указанного процесса
                                  и всех его дочерних процессов.

  /?                              Вывод справки по использованию.

Фильтры:
    Имя фильтра  Допустимые операторы          Допустимые значения
    -----------  --------------------          -------------------
    STATUS        eq, ne                    RUNNING | NOT RESPONDING
    IMAGENAME    eq, ne                    Имя образа
    PID          eq, ne, gt, lt, ge, le    Значение PID
    SESSION      eq, ne, gt, lt, ge, le    Номер сессии
    CPUTIME      eq, ne, gt, lt, ge, le    Время CPU в формате
                                            hh:mm:ss.
                                            hh - часы,
                                            mm - минуты, ss - секунды
    MEMUSAGE      eq, ne, gt, lt, ge, le    Использование памяти в КБ
    USERNAME      eq, ne                    Имя пользователя в формате
                                            [<домен>\]<пользователь>
    MODULES      eq, ne                    Имя DLL
    SERVICES      eq, ne                    Имя службы
    WINDOWTITLE  eq, ne                    Заголовок окна

Примечание: Символ '*' для параметра /IM применим только совместно с фильтрами.

Примечание: Завершение удаленных процессов всегда будет принудительным,
            независимо от того, был ли использован параметр /F или нет.

Примеры:
  TASKKILL /S <система> /F /IM notepad.exe /T
  TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
  TASKKILL /F /IM notepad.exe /IM mspaint.exe
  TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
  TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
  TASKKILL /S <система> /U <домен>\<пользователь> /FI "USERNAME ne NT*" /IM *
  TASKKILL /S <система> /U <пользователь> /P <пароль> /FI "IMAGENAME eq note*"

получается всего навсего надо было добавить для надежности пару параметров, и вот в таком виде срабатывает даже без задержек:
TASKKILL /F /IM %PROG_1% /T

кстати, в руководстве дается почти такой пример, только без /T
а в моих предыдущих сообщениях видимо не заметили отсутствие параметра /F потому и не смогли мне подсказать ошибку

Vitaliy21
Цитата:

Цитата Vitaliy21
Мне интересно чем автор prokazzza запаковывал установочные файлы »

есть простой способ узнать, нажав правой клавишей мышки на файле и глянуть в свойствах/версия/комментарий

gora 27-10-2009 11:35 1253563

Небольшая шпаргалка для авторов SVCPACK аддонов, использующих 7z SFX архивы на базе модифицированного модуля.
Переменные отсортированы по значению переменной в алфавитном порядке.

Код:

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

================== Системные переменные ====================
SystemDrive=                C:
- HOMEDRIVE=                C:
ALLUSERSPROFILE=        C:\Documents and Settings\All Users
USERPROFILE=                C:\Documents and Settings\gora
- APPDATA=                C:\Documents and Settings\gora\Application Data
- TEMP=                        C:\DOCUME~1\gora\LOCALS~1\Temp
- TMP=                        C:\DOCUME~1\gora\LOCALS~1\Temp
ProgramFiles=                C:\Program Files
CommonProgramFiles=        C:\Program Files\Common Files
SystemRoot=                C:\WINDOWS
windir=                        C:\WINDOWS
ComSpec=                C:\WINDOWS\system32\cmd.exe
Path=                        C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
- HOMEPATH=                \Documents and Settings\gora
COMPUTERNAME=PENTUX
FP_NO_HOST_CHECK=NO
- LOGONSERVER=\\PENTUX
- NUMBER_OF_PROCESSORS=1
- OS=Windows_NT
* PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
- PROCESSOR_ARCHITECTURE=x86
- PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 7, GenuineIntel
- PROCESSOR_LEVEL=6
- PROCESSOR_REVISION=1707
PROMPT=$P$G
- USERDOMAIN=PENTUX
- USERNAME=gora

================== Переменные, существующие только при использовании модуля ====================
7zSfxFolder35=                C:\Documents and Settings\All Users\Application Data
7zSfxFolder22=                C:\Documents and Settings\All Users\Главное меню
7zSfxFolder23=                C:\Documents and Settings\All Users\Главное меню\Программы
7zSfxFolder24=                C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка
7zSfxFolder47=                C:\Documents and Settings\All Users\Главное меню\Программы\Администрирование
7zSfxFolder46=                C:\Documents and Settings\All Users\Документы
CommonDocuments=        C:\Documents and Settings\All Users\Документы
7zSfxFolder55=                C:\Documents and Settings\All Users\Документы\Мои видеозаписи
7zSfxFolder54=                C:\Documents and Settings\All Users\Документы\Мои рисунки
7zSfxFolder53=                C:\Documents and Settings\All Users\Документы\Моя музыка
7zSfxFolder31=                C:\Documents and Settings\All Users\Избранное
7zSfxFolder25=                C:\Documents and Settings\All Users\Рабочий стол
CommonDesktop=                C:\Documents and Settings\All Users\Рабочий стол
7zSfxFolder45=                C:\Documents and Settings\All Users\Шаблоны

- 7zSfxFolder40=        C:\Documents and Settings\gora
7zSfxFolder26=                C:\Documents and Settings\gora\Application Data
7zSfxFolder33=                C:\Documents and Settings\gora\Cookies
7zSfxFolder28=                C:\Documents and Settings\gora\Local Settings\Application Data
- 7zSfxFolder59=        C:\Documents and Settings\gora\Local Settings\Application Data\Microsoft\CD Burning
7zSfxFolder34=                C:\Documents and Settings\gora\Local Settings\History
7zSfxFolder32=                C:\Documents and Settings\gora\Local Settings\Temporary Internet Files
7zSfxFolder19=                C:\Documents and Settings\gora\NetHood
7zSfxFolder27=                C:\Documents and Settings\gora\PrintHood
7zSfxFolder08=                C:\Documents and Settings\gora\Recent
7zSfxFolder09=                C:\Documents and Settings\gora\SendTo
7zSfxFolder11=                C:\Documents and Settings\gora\Главное меню
7zSfxFolder02=                C:\Documents and Settings\gora\Главное меню\Программы
7zSfxFolder07=                C:\Documents and Settings\gora\Главное меню\Программы\Автозагрузка
7zSfxFolder06=                C:\Documents and Settings\gora\Избранное
7zSfxFolder05=                C:\Documents and Settings\gora\Мои документы
MyDocs=                        C:\Documents and Settings\gora\Мои документы
MyDocuments=                C:\Documents and Settings\gora\Мои документы
- 7zSfxFolder39=        C:\Documents and Settings\gora\Мои документы\Мои рисунки
- 7zSfxFolder13=        C:\Documents and Settings\gora\Мои документы\Моя музыка
- 7zSfxFolder00=        C:\Documents and Settings\gora\Рабочий стол
7zSfxFolder16=                C:\Documents and Settings\gora\Рабочий стол
UserDesktop=                C:\Documents and Settings\gora\Рабочий стол
7zSfxFolder21=                C:\Documents and Settings\gora\Шаблоны
7zSfxFolder38=                C:\Program Files
7zSfxFolder43=                C:\Program Files\Common Files
7zSfxFolder36=                C:\WINDOWS
7zSfxFolder20=                C:\WINDOWS\Fonts
7zSfxFolder56=                C:\WINDOWS\resources
7zSfxFolder37=                C:\WINDOWS\system32
7zSfxFolder41=                C:\WINDOWS\system32

Примечание:
1 Переменные, помеченные знаком "-" в начале строки, не существуют на Т13
2 Пользователя (в приведенном примере "gora") на Т13 не существует и вместо него будет использован везде "Default User"
3 Переменная  помеченная знаком "*" в начале строки на Т13 имеет немного другое значение (PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS)
4 Переменные, связанные с "железом" компьютера, именем пользователя или компьютера у вас будут иметь другие значения.


masterchess 30-10-2009 09:54 1256350

Осваиваю сейчас создание SVCPACK аддонов, использующих 7z SFX архивы на базе модифицированного модуля, и столкнулся с такой проблемой: в апплете "Установка и удаление программ" панели управления некоторые программы не отображают размер. В файле конфигурации и в inf-файле никаких явных ссылок на размер установленной программы не обнаружил. В чем может быть дело, откуда тогда система берет сведения о размере установленной программы.

jameszero 30-10-2009 11:41 1256461

masterchess
Размер установленной программы определяется по объёму её директории. Если установить небольшую программу например в System32, то и размер будет несколько сотен мегабайт, что вызывает вопросы.

masterchess 14-12-2009 12:20 1294907

gora, можно ли в файле конфигурации 7Z SFX архива прописать переименование файла? К примеру, в %Windir%\system32 имеется файл "name.abc", его нужно переименовать в "name1.def".

gora 14-12-2009 12:28 1294912

Цитата:

Цитата masterchess
можно ли в файле конфигурации 7Z SFX архива прописать переименование файла? »

Можно, если система разрешит переименовать этот файл.
Код:

RunProgram="hidcon:cmd /c Ren \"%WINDIR%\\system32\\name.abc\" \"name1.def\""

DyadyaGenya 23-01-2010 21:25 1328052

видимо вылезла наружу моя учёба наскоками и отсутствие так сказать классического образования
встал вопрос (не для аддона, но просто более подходящей темы не нашел) как с помощью инф файла на работающей системе вызвать команду
TASKKILL /F /IM %PROG_1% /T

с помощью батника сделать легко, но красивее инф файлом
по идее в секции DefaultInstall достаточно вызвать через setupapi.dll или advapi.dll выполнение секции с этой командой, но почему то не получается, напр:
Код:

[DefaultInstall]
RunPreSetupCommands        =Section.advpack

[Section.advpack]
Rundll32.exe advpack.dll,LaunchINFSection program.inf,Close.Prog1 , , 4, 64

[Close.Prog1]
TASKKILL /F /IM %PROG_1% /T

или так:

Код:

[DefaultInstall]
Run                                        =Section.setupapi

[Section.setupapi]
Rundll32.exe setupapi.dll, InstallHinfSection Close.Prog1 132 program.inf

[Close.Prog1]
TASKKILL /F /IM %PROG_1% /T

пробовал прописать путь к утилите TASKKILL с относительными путями и с явными

jameszero 23-01-2010 21:42 1328067

DyadyaGenya
Код:

[Version]
Signature = "$Windows NT$"

[DefaultInstall]
RunPreSetupCommands = Close.Prog

[Close.Prog]
TASKKILL /F /IM %PROG_1% /T

INF-файл необходимо выполнять через advpack.dll, setupapi.dll не сработает.

DyadyaGenya 23-01-2010 21:45 1328069

jameszero, пробовал и так, просто уже думал может надо ещё одну секцию так сказать для выполнения сделать
пробовал явно прописывать программу, название, а не через стринг

jameszero 23-01-2010 21:52 1328075

DyadyaGenya
Приведённый код рабочий.
Если вызывать INF без указания пути к нему, то файл должен находиться в директории WINDOWS\inf, это условие выполняется?

Код:

rundll32.exe advpack.dll,LaunchINFSection test.inf,DefaultInstall

DyadyaGenya 23-01-2010 21:55 1328077

jameszero, пробовал указать и так
rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Close.Prog1"
специально туда подкладывал нужный инф, пробовал как то указать путь к инф файлу в другом месте

может можно как то пример рабочий, чтоб скажем тот же блокнот, как самый распространенный, закрыть

jameszero 24-01-2010 12:57 1328389

Вложений: 1
Цитата:

Цитата DyadyaGenya
может можно как то пример рабочий »

Ещё раз повторю - код в 578 сообщении рабочий.

Если нужно наглядно, пожалуйста:
Скопируйте прикреплённый файл в %WinDir%\inf, запустите блокнот (notepad.exe), нажмите Пуск >> Выполнить, введите следующую строчку и нажмите Enter. Блокнот будет закрыт.

Код:

rundll32.exe advpack.dll,LaunchINFSection test.inf,DefaultInstall

DyadyaGenya 25-01-2010 20:39 1329721

jameszero, так о том же речь и шла, если батником запустить эту строку, то это много телодвижений, для этого инф файл не обязательно, я в батник запакую саму команду taskkill и все получиться, а вот как средствами одного файла инф это сделать? чтоб сперва одна секция сработал потом другая с нужной командой, ну или сразу одна
я потому сперва и выложил пример с двумя секциями, что думал так правильней если одним файлом делать

jameszero 25-01-2010 21:27 1329756

DyadyaGenya
Код:

[Version]
Signature = "$Windows NT$"

[DefaultInstall]
RunPreSetupCommands = Section.advpack

[Section.advpack]
Rundll32.exe advpack.dll,LaunchINFSection test.inf,CommandToRun

[CommandToRun]
RunPreSetupCommands = Close.Prog:1

[Close.Prog]
TASKKILL /F /IM notepad.exe /T


DyadyaGenya 26-01-2010 00:38 1329922

jameszero, скопировал, положил как и перед этим в виндоус/инф и все равно не работает, ложил и в другую папку, не работает
и это как раз то что я пробовал показать в первом примере

jameszero 26-01-2010 08:23 1330056

DyadyaGenya
Не знаю каким образом вы проверяете выполнение INF-файлов. Выложенные примеры кода неоднократно проверены и применяются в моих аддонах, а на их работоспособность, как правило, рекламаций не поступает.

kert 26-01-2010 10:03 1330100

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

DyadyaGenya 27-01-2010 20:14 1331649

kert, jameszero, сперва копирую содержимое примера в блокнот, сохраняю как инф, ложу и в папку виндоус/инф или в любую другую, жму правой клавишей, выбираю установить и все, ничего не происходит, уже не один инф так проверял, в том то и дело, другие команды почему то срабатывают, запнулся токо с TASKKILL /F /IM notepad.exe /T

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

[Version]
Signature = "$Windows NT$"

[DefaultInstall]
RunPreSetupCommands = Section.advpack

[Section.advpack]
Rundll32.exe advpack.dll,LaunchINFSection test.inf,CommandToRun

[CommandToRun]
RunPreSetupCommands = Close.Prog:1

[Close.Prog]
TASKKILL /F /IM notepad.exe /T

и все равно, не закрывается, да и мои варианты были в принцыпе такими же, я их много пробовал, разве что секции по другому называл, и знаю что такое :1 в конце строки
и ещё раз повторюсь, твой авторитет заслуженный, я сам часто благодарил за подсказки, но тут не пойму
http://depositfiles.com/files/jdmpw1u1u

jameszero 27-01-2010 20:56 1331684

DyadyaGenya
Ещё раз прочитайте пост 578. Пункт "Установить" в контекстном меню INF-файлов отабатывает через setupapi.

Могу поделиться твиком, который добавит в контекстное меню оба варианта установки INF-файлов (Install через setupapi и AdvInstall через advpack), плюс аналогичные пункты деинсталляции. Предусмотрена работа только с секциями [DefaultInstall] и [UnInstall] в INF-файлах. Возможна деинсталляция с откатом на стандартный пункт "Установить".
Код:

[Version]
Signature=$Windows NT$

[DefaultInstall]
AddReg    =REGEntries.AddReg
DelReg    =REGEntries.DelReg

[UnInstall]
AddReg    =REGEntries.UnAddReg
DelReg    =REGEntries.UnDelReg

[REGEntries.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"""

[REGEntries.DelReg]
HKCR,"inffile\shell\Install"

[REGEntries.UnAddReg]
HKCR,"inffile\shell\Install",,0x0,"&Установить"
HKCR,"inffile\shell\Install\command",,0x20000,"%%SystemRoot%%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %%1"

[REGEntries.UnDelReg]
HKCR,"inffile\shell\Install1"
HKCR,"inffile\shell\Install2"
HKCR,"inffile\shell\Install3"
HKCR,"inffile\shell\Install4"


DyadyaGenya 28-01-2010 00:57 1331858

jameszero, как всегда не внимательность, я же этот пример пробовал сам так сделать, а вот влепил выполнение этой строки в батник :rundll32.exe advpack,LaunchINFSection test.inf,DefaultInstall
и все получилось, ведь действительно, я же этот инф не через "установить" буду запускать
спасибо
а твик я этот знал, но пригодился он мне в первые в жизни, ещё раз спасибо

masterchess 17-02-2010 11:26 1349248

gora, сделал простенький аддон. Программа хранит свои настройки в %USERPROFILE%\Application Data в виде ini - файла. Чтобы программа при 1-ом запуске стартовала с моими настройками, в файле конфигурации 7z SFX архива пишу такую строку
Код:

RunProgram="hidcon:cmd /c Move alarms.ini %USERPROFILE%\\Application Data"
При интеграции в дистрибутив с последующей установкой все срабатывает, как задумано. Но при при установке на "живую" систему файл alarms.ini не копируется в %USERPROFILE%\Application Data. Понимаю, что это связано с какими то особыми разрешениями для папок профиля. Сама программа при 1-ом запуске тут же создает этот файл в указанном месте, естественно с настройками по умолчанию. Может какие то ключи нужны? Подскажите пожалуйста.

gora 17-02-2010 12:20 1349296

masterchess
1 Т.к. в пути есть пробелы, то исправьте строку:
Код:

RunProgram="hidcon:cmd /c Move alarms.ini \"%USERPROFILE%\\Application Data\""
2 Возможная причина в ограничении команды Move. Она может работать только в пределах одного диска. Следовательно папка распаковки должна находиться на одном диске с %USERPROFILE%\Application Data.

3 Для теста можете написать строку так:
Код:

RunProgram="cmd /k Move alarms.ini \"%USERPROFILE%\\Application Data\""
и увидите в окне консоли, что там "не устраивает систему".

masterchess 17-02-2010 14:04 1349377

gora, спасибо, все получилось! Помогло исправление строки (п.1).

karloson2 18-03-2010 10:57 1371343

Есть вопрос:
Какие файлы аддона (dosnet,run,sysoc) нужно использовать, если программа является исполняемым файлом (*.ехе) и INF упакован в ней же, а аддон использует 3rdParty? Если нужен sysoc, то что в нем прописывать? Для *.cab и *.IN_ все понятно, но как быть с *.ехе?
Я понимаю, что проще пойти по проверенному пути и создать аддон с *.cab, но если я хочу использовать его в не зависимости от пака (как настроенный инсталятор), то как быть?

Amigos 18-03-2010 11:45 1371389

karloson2, не совсем понятно, что за аддон вы в конечном итоге хотите получить, но может вам поможет структура вот этого аддона [addon] Большой калькулятор [5-BigCalc] - с его помощью один exe' шник в процессе инсталяции копируется в c:\WINDOWS\system32\

karloson2 18-03-2010 13:32 1371478

Amigos, Я хочу создать аддон с 3rdParty, но не с CAB и INF файлами, а с ЕХЕ (самораспак. архив).

jameszero 18-03-2010 13:55 1371491

karloson2
Чтобы создать пункт в "компонентах" нужно внести соответствующую строчку в %WinDir%\inf\sysoc.inf
Из EXE это сложно делать, разве что CMD-скриптом парсить содержимое sysoc.inf и вносить туда необходимую запись.
Другой вариант - вносить строчку из файла sysoc, но дополнительно необходимо не текстовом этапе копировать в систему пустышку INF-файла, чтобы не получить сбой установки, а затем пустышку перезаписывать правильным INF-файлом из EXE.

Может кто предложит другие варианты, но они не будут проще (ИМХО).

Взвесьте цели и трудозатраты...
Я бы так извращаться не стал.

mamont1 19-03-2010 12:45 1372277

Гуру аддонов гляньте всё ли правильно
Тест: аддон Arum Switcher

gora 30-03-2010 16:38 1380743

2 ALL
Компилятор аддонов v7.1 обновлен.

Изменения:
- игнорируется наличие
* файла nsolid
* параметров:
;ComprModule=0
;UpDate=0

- добавлен параметр ;Pass=1
- файл name.res можно не перетаскивать на ярлык (если он сделан на панели ТС), достаточно просто щелкнуть по ярлыку и аддон будет создан.
- поддерживается режим сжатия LZMA2. Он может быть задан по умолчанию в файле Compiler.ini.
- возможно оперативное изменение метода сжатия на альтернативный, удерживанием клавиш <Ctrl>+<Shift> при нажатии на ярлык. Полная аналогия с "Кнопкой для работы с 7z SFX архивами в ТС".
- оптимизация окон компилятора и процесса создания аддона

Подробности в посте, ссылка на пост в шапке.

liben 30-03-2010 20:37 1380944

Цитата:

Цитата gora
нужна ли кому будет как и сам компилятор »

Нужен компилятор! Незаменимый инструмент. Все мои аддоны создавались именно с использованием Вашего, gora, компилятора аддонов.

Stanner 27-05-2010 14:42 1422219

Небольшое дополнение про TSKILL (не совсем про XP, но стоит того):
Давно не мог понять, почему при установке аддонов вживую в Windows 7 x86 потом не срабатывает удаление - ругается на TSKILL, несмотря на то, что в System32 TSKILL есть. Вылечилось все просто - добавление полного пути к TSKILL. Т.е. желательно писать так:
Код:

[Close.Prog]
%11%\TSKILL %PROG_2% /A


gora 27-05-2010 14:55 1422223

Цитата:

Цитата Stanner
в Windows 7 ... TSKILL есть. Вылечилось все просто - добавление полного пути к TSKILL»

Уточните какую Win 7 Вы имеете ввиду?
В Win 7 x64 такая утилита действительно есть, но она представлена только x64 версией, а утилита версии х86 отсутствует. Как результат доступ к ней из 32-х разрядных приложений, без танцев с бубном, не возможен.

Stanner 27-05-2010 15:16 1422235

Только что проверил на Windows 7 x64 - все сработало, закрыло окно и удалило программу :)

jameszero 15-06-2010 10:56 1434357

Stanner
Решение не универсальное.
tskill.exe отсутствует в Windows 7 Starter, Home Basic и Home Premium.

sLiDeR-X 21-06-2010 20:20 1438882

Подскажите пожалуйста, как в файле svcpack.inf в секции [SetupHotfixesToRun] запустить скрыто один консольный файл?
При следующем способе:
Код:

[SetupHotfixesToRun]
SetupHotfixes.cmd

запускается указанный файл в окне консоли.


Пробовал следующим образом: в папку SVCPACK помещал hidcon.exe и в svcpack.inf прописывал:
Код:

[SetupHotfixesToRun]
hidcon SetupHotfixes.cmd

но безуспешно :(

Amigos 22-06-2010 07:19 1439118

Цитата:

Цитата sLiDeR-X
Подскажите пожалуйста, как в файле svcpack.inf в секции [SetupHotfixesToRun] запустить скрыто один консольный файл? »

вы пошли в правильном направлении, но не до конца.
Вариант с файлом RUN
Цитата:

HIDCON.EXE APPRUN.CMD
работает.
Но нужно учитывать, что HIDCON хотя и лежит в каталоге svcPack и из него же запускается, но текущий каталог при этом совсем не svcPack и поэтому лежащий в этом каталоге APPRUN.CMD хидконом просто не будет найден!

чтобы строчка HIDCON.EXE APPRUN.CMD отработала, нужно положить APPRUN.CMD в каталог, где его сможет найти хидкон, например в %SystemRoot%\system32

sLiDeR-X 22-06-2010 10:00 1439168

Amigos, когда я загрузил из svcpack pause увидел корень:
C:\WINDOWS>
пробовал положить RunSetupHotfixes.cmd в C:\WINDOWS и запустить:
Код:

hidcon.exe %windir%\RunSetupHotfixes.cmd
но безуспешно :(

вчера сделал так:
Код:

hidcon.exe %SrcDosPath%\I386\SVCPACK\RunSetupHotfixes.cmd
также безуспешно :(

вроде делаю все правильно - но результата 0 :(

Amigos 22-06-2010 10:08 1439172

Цитата:

Цитата sLiDeR-X
пробовал положить RunSetupHotfixes.cmd в C:\WINDOWS и запустить:
Цитата:

hidcon.exe %windir%\RunSetupHotfixes.cmd
»

svcpack.inf это не CMD и %windir% он не понимает, %SrcDosPath% тоже.

а вот hidcon.exe RunSetupHotfixes.cmd он бы наверное переварил.

Цитата:

Цитата sLiDeR-X
загрузил из svcpack pause увидел корень:
C:\WINDOWS> »

у меня в аналогичной ситуации был c:\WINDOWS\system32\inetsrv\
до сих пор не знаю, чего он там делал ? :)

sLiDeR-X 22-06-2010 11:01 1439200

Amigos,
Цитата:

Цитата Amigos
а вот hidcon.exe RunSetupHotfixes.cmd он бы наверное переварил. »

а вот и нет - пробовал :(
Вычитал про INF файлы - аналогия %systemdrive% - %24%
попробую так:
hidcon.exe %24%\SetupHotfixes.cmd

ЗАРАБОТАЛО! :)

Fantasy22 19-08-2010 13:08 1477172

Парни помогите решить проблему аддоном
как с помощью аддона добавить в секции необходимые строки следующие файлы

hivesys.inf
[AddReg]

hivesft.inf,
[AddReg]

hivesft.inf,
[Strings]

syssetup.inf,
[ProductCatalogsToInstall]

Fantasy22 23-08-2010 10:49 1479820

Ребята при выполнении файла конфигурации "Finish" не работает упаковка INF файлов вчем ошибся ?

Цитата:

Rem Удаление и создание временного каталога Dir
If Exist C:\Dir RD /S /Q C:\Dir >nul
MD C:\Dir >nul

Echo Копирование INF файлов
Copy /Y "%I386%\sysoc.in_" "C:\Dir" >nul
Copy /Y "%I386%\syssetup.in_" "C:\Dir" >nul
Copy /Y "%I386%\Hivesft.inf" "C:\Dir" >nul
Copy /Y "%I386%\hivesys.inf" "C:\Dir" >nul

Echo Распаковка INF Файлов
Expand -r "%I386%\sysoc.in_" C:\Dir\ >nul
Expand -r "%I386%\Syssetup.in_" C:\Dir\ >nul


Echo Запуск патчера
start /wait %WorkDir%\Patch.exe

Echo Упаковка INF Файлов
Makecab /L "%I386%\" "C:\Dir\sysoc.inf" sysoc.in_ >nul
Makecab /L "%I386%\" "C:\Dir\Syssetup.inf" Syssetup.in_ >nul

Echo Копирование пропатчиных INF Файлов
Copy /Y C:\Dir\sysoc.in_ %I386%\ >nul
Copy /Y C:\Dir\syssetup.in_ %I386%\ >nul
Copy /Y C:\Dir\Hivesft.inf %I386%\ >nul
Copy /Y C:\Dir\hivesys.inf %I386%\ >nul

Amigos 23-08-2010 11:12 1479837

Цитата:

Цитата Fantasy22
не работает упаковка INF файлов »

убрать >nul
в
Цитата:

Цитата Fantasy22
Echo Упаковка INF Файлов
Makecab /L "%I386%\" "C:\Dir\sysoc.inf" sysoc.in_ >nul
Makecab /L "%I386%\" "C:\Dir\Syssetup.inf" Syssetup.in_ >nul »

и смотреть чего Makecab пишет

jameszero 23-08-2010 11:28 1479846

Fantasy22
После переменной %I386% не нужен слэш.

Fantasy22 23-08-2010 12:26 1479887

Цитата:

Цитата Amigos
убрать >nul
в
Цитата:

Цитата Fantasy22:
Echo Упаковка INF Файлов
Makecab /L "%I386%\" "C:\Dir\sysoc.inf" sysoc.in_ >nul
Makecab /L "%I386%\" "C:\Dir\Syssetup.inf" Syssetup.in_ >nul »
и смотреть чего Makecab пишет »

Цитата:

Цитата jameszero
Fantasy22
После переменной %I386% не нужен слэш. »

слэш убрал
пишит "Cabinet Maker - Loss Data Compression Tool"

sLiDeR-X 23-08-2010 13:52 1479953

Fantasy22,
Код:

Rem Удаление и создание временного каталога Dir
If Exist C:\Dir RD /S /Q C:\Dir >nul
MD C:\Dir >nul

Echo Копирование INF файлов
Copy /Y "%I386%\sysoc.in_" "C:\Dir" >nul
Copy /Y "%I386%\syssetup.in_" "C:\Dir" >nul
Copy /Y "%I386%\Hivesft.inf" "C:\Dir" >nul
Copy /Y "%I386%\hivesys.inf" "C:\Dir" >nul

Echo Распаковка INF Файлов
Expand -r "C:\Dir\sysoc.in_" >nul
Expand -r "C:\Dir\Syssetup.in_" >nul

Echo Запуск патчера
start /wait %WorkDir%\Patch.exe

Echo Упаковка INF Файлов и копирование пропатченных INF Файлов
Makecab /L "%I386%" "C:\Dir\sysoc.inf" >nul
Makecab /L "%I386%" "C:\Dir\Syssetup.inf" >nul


Guman 02-11-2010 11:29 1532939

дАйте пожал ссылку на самый последный "Готовый шаблон" для INF

Habetdin 02-11-2010 13:00 1533025

Guman, такой шаблон?
читать дальше »
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[DefaultInstall]
AddReg                                        =PROG.AddReg
ProfileItems                                =PROG.AddShortcut

[Uninstall]
BeginPrompt                                =BeginUnInsPrompt
RunPreSetupCommands                        =Close.Prog:1
RunPostSetupCommands                        =Dir.Delete
EndPrompt                                =EndUnInsPrompt
DelReg                                        =PROG.DelReg
DelFiles                                =Del.PNF,Del.SRTC

[PROG.AddShortcut]
Name                                        =%SRTC_NAME%
CmdLine                                        =16422,%PROG_DIR%,%PROG_1%
SubDir                                        =%PROG_SDIR%
WorkingDir                                =16422,%PROG_DIR%
InfoTip                                        =%PROG_INFO%

[BeginUnInsPrompt]
Title                                        =Деинсталляция %PROG_NAME%
Prompt                                        =Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType                                =YESNO

[Close.Prog]
TSKILL %PROG_2%
ping -n 3 127.0.0.1

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%
; Если нужно удалить не один ярлык, а папку с ними..
; rundll32.exe advpack.dll,DelNodeRunDLL32 %16407%\%PROG_SDIR%

[DestinationDirs]
Del.PNF                                =17
Del.SRTC                                =16386

[Del.PNF]
%PROG_PNF%
%PROG_INF%

[Del.SRTC]
%SRTC_NAME%

[EndUnInsPrompt]
Prompt                                        =Программа %PROG_NAME% удалена.

[PROG.AddReg]
HKLM,"%SWUninstall%\%PROG_NAME%","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"%SWUninstall%\%PROG_NAME%","DisplayName",,"%PROG_NAME% %PROG_VERS%"
HKLM,"%SWUninstall%\%PROG_NAME%","DisplayVersion",,"%PROG_VERS%"
HKLM,"%SWUninstall%\%PROG_NAME%","Publisher",,"%PROG_MADE%"
HKLM,"%SWUninstall%\%PROG_NAME%","URLInfoAbout",,"%PROG_URL%"
HKLM,"%SWUninstall%\%PROG_NAME%","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"
; Автозагрузка
; HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run","Example",0x0,"%16422%\Example\Example.exe"

[PROG.DelReg]
HKLM,"%SWUninstall%\%PROG_NAME%"
; Автозагрузка
; HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run","Example"

[Strings]
PROG_DIR                                ="Example"
PROG_NAME                                ="Example"
SRTC_NAME                                ="Example"
PROG_VERS                                ="v2.0"
PROG_MADE                                ="WinAddon Project"
PROG_URL                                ="http://winaddon.net"
PROG_INF                                ="Example.inf"
PROG_PNF                                ="Example.PNF"
PROG_1                                        =Example.exe
PROG_2                                        =Example
PROG_SDIR                                ="Утилиты"
PROG_INFO                                ="Информация о программе"
SWUninstall                                ="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"


P.S.: можно еще почитать:
Цитата:

Цитата Petya V4sechkin


Guman 02-11-2010 13:16 1533039

Habetdin похож но почему то мало строк там. тот который я выдел текста в 2 3 раза болше было.

Я тут пытаюсь научиться нормальные аддоны сделать. уже есть успехи но пару вопрос остаеться. ты бы не мог мне по аске помочь?

Habetdin 02-11-2010 13:33 1533049

Цитата:

Цитата Guman
тот который я выдел текста в 2 3 раза болше было. »

Просто там много файлов прописано наверное :)
Цитата:

Цитата Guman
по аске »

Угу

masterchess 02-11-2010 15:15 1533146

Guman, возьми лучше любой 7Z SFX аддон, извлеки из него inf-файл и изучай. В свое время мне в этом вопросе очень помог аддон Opera за авторством jameszero.

BigBoo 30-11-2010 02:30 1554715

Такой вопрос. Аддон типа sysoc. Как в процессе деинсталяции через "Программы сторонних разработчиков" обеспечить полное удаление папки с подпапками и файлами командой rundll32.exe advpack,DelNodeRunDLL32? Пишу:
Код:

[Version] 
Signature="$Windows NT$" 
SetupClass=BASE   

[Optional Components] 
Proga   

[Proga] 
Uninstall=Proga.Uninstall   

[Proga.Uninstall] 
RunPostSetupCommands=Proga.DelDirs   

[Proga.DelDirs] 
rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\Proga_Folder"

-не работает. Использую Run вместо RunPostSetupCommands - тоже не работает. Процессы, которые нужно прибивать, прога никаких не создаёт.

Самое интересное - выполняю скрипт вручную командой rundll32 advpack,LaunchINFSection Proga.inf, Proga.UnInstall,0 - РАБОТАЕТ!
Подскажите, в чём ошибка?

p.s. Прога portable, создающая в своём каталоге кучу файлов и папок, в том числе временных. Использовать обычные методы удаления с указанием удаляемых файлов, далее папок и т.д. в силу их кол-ва просто не возможно и очень не удобно. Кстати у проги есть свой деинсталятор, который также не удаляет папку и оставшийся хлам в ней.

jameszero 30-11-2010 13:49 1555032

BigBoo
Ответ на вопрос почему не работает содержится в самом вопросе:
Цитата:

Цитата BigBoo
выполняю скрипт вручную командой rundll32 advpack,LaunchINFSection Proga.inf, Proga.UnInstall,0 - РАБОТАЕТ! »

Вручную вы запускаете процесс через advpack, а "Установка компонентов Windows" работает через setupapi и не знает, что такое advpack.dll,DelNodeRunDLL32

Решение:
Код:

[Version] 
Signature="$Windows NT$"

[Optional Components]
Proga

[Proga]
OptionDesc="Program"
Uninstall=Proga.Uninstall

[Proga.Uninstall]
OptionDesc="Program"
Run=Proga.AdvInfCall

[Proga.AdvInfCall]
Commandline="rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\Proga_Folder""
TickCount=500

или
Код:

[Version] 
Signature="$Windows NT$"

[Optional Components]
Proga

[Proga]
OptionDesc="Program"
Uninstall=Proga.Uninstall

[Proga.Uninstall]
OptionDesc="Program"
Run=Proga.AdvInfCall

[Proga.AdvInfCall]
Commandline="rundll32.exe advpack,LaunchINFSection proga.inf,Proga.AdvUninst,4"
TickCount=500

[Proga.AdvUninst]
RunPostSetupCommands=Proga.AdvDelDirs

[Proga.AdvDelDirs]
rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\Proga_Folder"


BigBoo 30-11-2010 16:48 1555175

jameszero, спасибо, так работает! Надеюсь, эта информация будет полезна и другим участникам форума, по крайней мере про реализацию данного приёма удаления для аддонов sysoc типа нигде так подробно не говорилось. Думаю, достойно включения в учебник!

BigBoo 30-11-2010 17:08 1555193

Часто встречал такой параметр: TickCount=500
В учебнике ничего не сказано, да и при попытке поискать - смутная информация. Всё-таки интересно: за что он отвечает и так ли действительно нужен?

Habetdin 30-11-2010 21:47 1555385

Цитата:

Цитата BigBoo
достойно включения в учебник »

Руководство по работе с INF файлами » 6.5 Удаление файлов и директорий

BigBoo 01-12-2010 03:24 1555510

Habetdin, - как раз всё и делал по учебнику! Метод удаления rundll32.exe advpack.dll,DelNodeRunDLL32 в аддонах SYSOC "по учебнику" оказывается НЕ работает!
Код:

[Proga.DelDirs]   
rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\Proga_Folder"

- НЕ работает.
Код:

[Proga.DelDirs] 
Commandline="rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\Proga_Folder""

- Работает.

jameszero 01-12-2010 08:31 1555562

BigBoo
Работают оба метода, только в них используются разные интерпретаторы, команды вызова секций тоже разные соответственно:

rundll32.exe advpack,LaunchINFSection inffile.inf, infsection,0

rundll32.exe setupapi,InstallHinfSection infsection 132 inffile.inf

ya158 30-12-2010 22:30 1578096

Никак не могу удалить папку в пути, к которой присутствуют кириллические символы :(
Кто-нибудь знает, как удалить папку c:\Documents and Settings\All Users\Документы\Folder\ ?

BigBoo 31-12-2010 00:27 1578166

ya158, не вижу никаких проблем в кириллице. Промеделировал Вашу ситуацию,
Код:

rundll32.exe advpack,DelNodeRunDLL32 "c:\Documents and Settings\All Users\Документы\Folder\"
- команда удалила папку легко. У INF файла по моему вообще не существует проблем с кириллицей. Или Вы имеете ввиду не INF?

ya158 31-12-2010 00:45 1578171

BigBoo,
А как запускал команду?

BigBoo 31-12-2010 01:15 1578179

Proga.inf:
Код:

[Version]
Signature="$Windows NT$"

[UnInstall]
RunPostSetupCommands=Proga.DelDirs

[Proga.DelDirs]
rundll32.exe advpack,DelNodeRunDLL32 "c:\Documents and Settings\All Users\Документы\Folder\"

Запуск командой: rundll32 advpack,LaunchINFSection Proga.inf, UnInstall,0

Может кому пригодится, для упрощения тестирования INF-файлов применяю твик (вношу в аддон MyCustom):
Код:

[HKCR.AddReg]
;Добавление новых пунктов в контекстное меню для .inf файлов 
HKCR,"inffile\shell\Install1",,0x0,"Деинсталировать" 
HKCR,"inffile\shell\Install1\command",,0x20000,"rundll32 setupapi,InstallHinfSection UnInstall 132 %%1" 
HKCR,"inffile\shell\Install2",,0x0,"Установить через ADVPack" 
HKCR,"inffile\shell\Install2\command",,0x20000,"rundll32 advpack,LaunchINFSection %%1, DefaultInstall,0" 
HKCR,"inffile\shell\Install3",,0x0,"Деинсталировать через ADVPack"
HKCR,"inffile\shell\Install3\command",,0x20000,"rundll32 advpack,LaunchINFSection %%1, UnInstall,0"

p.s. Пункт "Установить" для INF-файлов в системе присутствует по умолчанию.

ya158 31-12-2010 07:44 1578223

BigBoo,
Я делаю всё то же самое, но папка не удаляется :(. Буду искать дальше.

ya158 31-12-2010 14:37 1578374

Всё разобрался. Переменная %ALLUSERSPROFILE% не работае в этом месте в inf-файлах. Надо использовать переменную %16430%
Кстати нашёл список ID директорий, которые не указаны в Руководстве по работе с INF файлами:

16406
All Users\Start Menu

16407
All Users\Start Menu\Programs

16408
All Users\Start Menu\Programs\Startup

16409
All Users\Desktop

16415
All Users\Favorites

16419
All Users\Application Data

16422
Program Files

16425
%SystemRoot%\system32 (valid for Microsoft Win32 user-mode applications that are running under Windows on Windows (WOW64))

16426
Program Files (valid for Win32 user-mode applications that are running under WOW64)

16427
Program Files\Common

16428
Program Files\Common (valid for Win32 user-mode applications that are running under WOW64)

16429
All Users\Templates

16430
All Users\Documents

BigBoo 31-12-2010 18:21 1578451

Цитата:

Цитата ya158
Кстати нашёл список ID директорий, которые не указаны »

- указаны, только в Руководстве по созданию аддонов

vserd 08-01-2011 19:46 1583948

Дополнение к тайм-лайну
на Т-34 (Установка устройств) происходит отработка HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
Это означает что если добавить записи в эту ветку через hive файл, он отработает на Т34, а не при первом входе в систему.

ya158 20-02-2011 19:12 1617833

В моём аддоне MultibootDisk меню выбора вариантов установки создаётся при наличии пары файлов №.txt и WINN№.SIF (где № - 1,2,3....) с помощью Finish. Я хотел бы проверять наличие одного файла из этой пары при нахождении другого. При этом бы хотелось бы, чтобы интегратор (__PATCH.CMD м GUI) останавливал бы процесс интеграции и выводил бы сообщение об ошибке.
У меня есть предложение - создать глобальные переменные Error и TextError. Start, Finish и SpecCase при возникновении ошибки будут присваивать Error=1 и TextError=Текст_ошибки и завершать свою работу . __PATCH.CMD после вызова Start, Finish и SpecCase будет проверять значение этих переменных и при Error=1 останавливать свою работу с выводом текста ошибки - "Аддон такой-то завершил свою работу из-за следующей ошибки: "Текст_ошибки"".
По поводу GUI-интегратора - думаю Boa Soft сможет добавить такой функционал.
Это добавит возможность авторам аддонов проверять наличие файлов или значения параметров и останавливавть процесс интеграции с запросом изменить значение параметров или положить определенный файл в папку.

jameszero 21-02-2011 10:04 1618159

ya158
Проводить проверку условий нужно на начальных этапах, чтобы не тратить время на интеграцию, которую в итоге прервёт Finish.
Посмотрите, как реализована проверка в файле ChkDistr Набора обновлений.
Оговорюсь, это работает только при интеграции с помощью __PATCH.CMD, GUI-интегратор использует свои скрипты.

ya158 21-02-2011 16:14 1618431

Цитата:

Цитата jameszero
Проводить проверку условий нужно на начальных этапах, чтобы не тратить время на интеграцию, которую в итоге прервёт Finish.
Посмотрите, как реализована проверка в файле ChkDistr Набора обновлений. »

Но ведь из аддона доступны только Start, Finish и SpecCase. Или я не прав - можно влиять на работу __PATCH.CMD ещё с помощью каких-нибудь файлов?

jameszero 21-02-2011 18:43 1618546

ya158
__PATCH.CMD обрабатывает ChkDistr в том числе и в аддонах.

onis 28-06-2011 12:13 1702894

Цитата:

Цитата gora
4 Файл name.res - файл "копирайтов" известный пользователям "Кнопки для работы с 7z SFX архивами в ТС". Кто не знаком с его структурой, посмотрите здесь. В нем только добавлены несколько строк для работы Compiler_Addon (на примере аддона DeskHedron_1.00_RU):
;fstbildat=06.11.2008
;name=DeskHedr
;fullname=DeskHedron_1.00_RU
;ComprModule=0
;UpDate=0
;Pass=1 »

подскажите как это править и где

gora 28-06-2011 12:24 1702902

Цитата:

Цитата onis
как это править »

Пишите свои данные в соответствии с Вашими задачами. Т.к., я не знаю, что Вы хотите, то конкретнее ответить не могу.
Цитата:

Цитата onis
и где »

Хмм... Вопрос можно понять по разному, попробую угадать:
1 вариант - правится в файле name.res
2 вариант - правки можно делать в любом текстовом редакторе, например, в Блокноте.

One THE darK 05-08-2011 14:41 1726404

Всем привет! Все пытаюсь создать OEM ярлык в пуске.... Но пока без результатно...
В этой теме видел что такое уже делали http://forum.oszone.net/post-1221343-564.html
Вот у меня не получается, даже не знаю с чего начать и как сделать, чтобы работала и устанавливалась в дистрибутива windows xp и выгледе как аддон или sfx архив,.. ну или как это сделать???

One THE darK 15-08-2011 00:02 1731879

Кто - нибудь расшифруйте строчки, пожалуйста...

Код:

;!@Install@!UTF-8!
GUIMode="2"
InstallPath="%WINDIR%\\System32"
RunProgram="hidcon:cmd /c Move factory.inf %WINDIR%\\INF"
RunProgram="rundll32 advpack,LaunchINFSection factory.inf,DefaultInstall,0"
;!@InstallEnd@!


Habetdin 15-08-2011 00:07 1731883

One THE darK, все есть в документации к модифицированному SFX модулю 7-Zip'а: Параметры файла конфигурации ;)

One THE darK 15-08-2011 02:01 1731920

Habetdin, это действительно занимательно, а вот что именно вот это означает
Цитата:

Цитата One THE darK
RunProgram="hidcon:cmd /c Move factory.inf %WINDIR%\\INF"
RunProgram="rundll32 advpack,LaunchINFSection factory.inf,DefaultInstall,0" »


Habetdin 15-08-2011 02:28 1731928

One THE darK, cmd /c Move factory.inf %WINDIR%\\INF - перемещает factory.inf в папку %WINDIR%\\INF, подробнее - Win+R, cmd /k move /?
rundll32 advpack,LaunchINFSection factory.inf,DefaultInstall,0 - выполняет inf-файл, подробнее - Руководство по работе с INF файлами (из шапки ;)) » Интерпретаторы

One THE darK 15-08-2011 03:32 1731938

Habetdin, а вот полностью?
Цитата:

Цитата One THE darK
;!@Install@!UTF-8!
GUIMode="2"
InstallPath="%WINDIR%\\System32"
RunProgram="hidcon:cmd /c Move factory.inf %WINDIR%\\INF"
RunProgram="rundll32 advpack,LaunchINFSection factory.inf,DefaultInstall,0"
;!@InstallEnd@! »

а вот это значит запушен cmd
Цитата:

Цитата Habetdin
cmd /c Move factory.inf %WINDIR%\\INF »


gen0m.rsw 19-09-2012 13:34 1991441

DirectX 9c
 
Всем доброго дня, изменяюсь если вопрос не по теме!
Есть аддон DirectX 9c(SVCPACK), но хочется установку сделать через sysoc, упаковать все необходимые DLL в CAB(и один INF), но возникает вопрос!!
1. Достаточно ли просто DLL скопировать в system32, так как там(в оригинальных CAB) и INF и CAT файлы, необходимо ли они для работы?
2. Создаются ли какие нибудь важные записи в реестре?

Метод sysoc для меня более привлекательный , да файлов и размер меньше!!!

Ж.Д.А.Л.К.Е.Р. 19-09-2012 15:19 1991501

gen0m.rsw, В реестре создаются DX_1.0.ХХХХ.0 ветки, может еще какие, точно не припомню.
Возьми от аддон simplix там файлы вытянут из кабов и перепакованы, весит мало, инсталлируется быстро.

Ж.Д.А.Л.К.Е.Р. 19-09-2012 15:43 1991514

DirectX.exe - 13,8 МБ (14*564*806 байт) версия от simplix (есть MDX)
dx9_x86.exe - 47,6 МБ (49*960*083 байт) версия от Habetdin (нет MDX, а это 5.9 Мб или 1.2 Мб в распакованном виде)

gen0m.rsw 20-09-2012 14:55 1992050

Кто подскажет, а то совсем в панику подался :o
Устанавливаю .NET Framework 2 sp2 на Т-13, где на середине установки ошибка, просмотр Readme
Скрин

Дело в том что и на живую систему то же самое, где подводный камень!!!???

Stanner 27-12-2012 16:23 2054558

Вложений: 1
Нашел расширенный список DirID - там 2048 строк, многие для Windows 7/8

gora 01-03-2013 09:24 2101578

Из присланного в ПМ, ответить решил здесь, т.к., информация может быть полезна и другим авторам аддонов...
Цитата:

Вы не могли бы пояснить одну странность в работе скрипта? Если в составе скрипта инсталлятора использую команду RunProgram="hidcon:cmd /c copy /y %NameInf% %WINDIR%\\INF\\%NameInf%" , то pnf-файл система не создаёт, а если использую RunProgram="hidcon:cmd /c Move /y %NameInf% %WINDIR%\\INF" , то проблема исчезает.
Проблема не связана непосредственно с используемой командой (Copy или Move), она связана с результатами выполнения этих команд, с той разницей, которая возникает после их выполнения. После Move в системе будет один файл %NameInf%%WINDIR%\\INF\\%NameInf%), а после Copy их будет два !!! (в %WINDIR%\\INF\\%NameInf% и текущей временной папке модуля).
Если посмотреть команду запуска %NameInf%
Код:

RunProgram="rundll32 advpack,LaunchINFSection %NameInf%,DefaultInstall,0"
то мы увидим, что запускаются разные файлы.
При Copy будет запущен %NameInf%, который лежит в текущей временной папке модуля, ибо путь прописан к нему. Точнее путь не указан и значит будет использован файл в текущей директории.
При Move в текущей директории файла %NameInf% нет, файл ищется по путям прописанным в переменной %PATH% и находится в %WINDIR%\\INF\\%NameInf%.
Система создает pnf-файл при запуске inf-файла именно из предназначенной для этого в системе директории (%WINDIR%\\INF) и не создает его при запуске inf-файла из временной папки модуля. Почему? Очевидно так решили разработчики системы, им виднее.
Цитата:

существует ли вообще возможность использования команды copy, не приводящая к проблеме с pnf ?
Существует. Нужно просто указать путь к нужному (из двух) файлу:
Код:

RunProgram="rundll32 advpack,LaunchINFSection %WINDIR%\\INF\\%NameInf%,DefaultInstall,0"

BigBoo 07-03-2013 13:47 2106183

Цитата:

Цитата jameszero
не рекомендую использовать TASKKILL /IM %PROG_1%, на Home Edition эта команда вызовет ошибку »

Собственно вопрос: как убить процесс из командной строки в Home Edition?

gora 07-03-2013 13:55 2106190

По-моему, там должна быть TSKILL, проверьте.
Код:

TSKILL %PROG_1%

BigBoo 07-03-2013 14:10 2106213

gora, да такая команда есть.

41275jur 14-11-2013 12:49 2254365

Доброе время суток.

Решил попробовать создать аддон и столкнулся с проблемой создания ярлыков.
Подскажите, что я не правильно делаю.
Код:

[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[Optional Components]
AntiDupl

[AntiDupl]
OptionDesc                        =%PROG_NAME%
Modes                                =0,1,2,3
AddReg                        =PROG.AddReg
ProfileItems                        =PROG.AddShortcut1, PROG.AddShortcut2, PROG.AddShortcut3

Uninstall                        =mUninst.Uninstall

[DefaultInstall]
OptionDesc                        =%PROG_NAME%
Modes                                =0,1,2,3
AddReg                        =PROG.AddReg
ProfileItems                        =PROG.AddShortcut1, PROG.AddShortcut2, PROG.AddShortcut3

Uninstall                        =mUninst.Uninstall

[Uninstall]
BeginPrompt                        =BeginUnInsPrompt
RunPreSetupCommands        =Close.Prog:1
RunPostSetupCommands        =Dir.Delete
EndPrompt                        =EndUnInsPrompt
DelReg                        =PROG.DelReg
ProfileItems                        =PROG.DelShortcut1, PROG.DelShortcut2, PROG.DelShortcut3


[BeginUnInsPrompt]
Title=Деинсталляция %PROG_NAME%
Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType=YESNO

[Close.Prog]
TASKKILL /F /IM %PROG_1%
TSKILL %PROG_2%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.

[PROG.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayName",,%PROG_NAME%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayVersion",,"v%PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","Publisher",,"%PROG_MADE%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon"

[PROG.AddShortcut1]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.AddShortcut2]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG.AddShortcut2]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR3%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut1]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR%

[PROG.DelShortcut1]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[PROG.DelShortcut1]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR3%

[Strings]
PROG_DIR        ="AntiDupl.NET"
PROG_NAME        ="AntiDupl.NET"
SRTC_NAME        ="AntiDupl.NET"
PROG_VERS        ="2.3.1 "
PROG_MADE        ="oszone.net"
PROG_URL        ="http://forum.oszone.net/forum-62.html"
PROG_INF        ="AntiDupl.inf"
PROG_1        =AntiDupl.NET.exe
PROG_2        =AntiDupl.NET
PROG_SDIR        ="AntiDupl.NET"
PROG_SDIR2        ="..\..\Рабочий стол"
PROG_SDIR3        ="Автозагрузка"
PROG_INFO        ="Удаление дубликетов изображений"

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

Nun-Nun 14-11-2013 13:39 2254398

41275jur,

У Вас, во-первых, секция [PROG.AddShortcut2] дублируется, во-вторых, секциия [PROG.AddShortcut3] вообще отсутствует, в-третьих, секция [PROG.DelShortcut1] повторяется аж 3 раза! Исправьте для начала хотя бы это.

41275jur 14-11-2013 14:47 2254446

Проше прощение - исправил.
Код:

[PROG.AddShortcut1]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR%
InfoTip                =%PROG_INFO%

[PROG.AddShortcut2]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR2%
InfoTip                =%PROG_INFO%

[PROG.AddShortcut3]
Name                =%SRTC_NAME%,0x00000001
CmdLine                =16422,%PROG_DIR%,%PROG_1%
WorkingDir        =16422,%PROG_DIR%
SubDir                =%PROG_SDIR3%
InfoTip                =%PROG_INFO%

[PROG.DelShortcut1]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR%

[PROG.DelShortcut2]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR2%

[PROG.DelShortcut3]
Name                =%SRTC_NAME%,0x00000003
SubDir                =%PROG_SDIR3%

Но результат тот же.

Stanner 14-11-2013 15:02 2254457

41275jur, автозагрузку я делал через рестр
читать дальше »

Код:

[PROG.AddReg]
HKLM,"%SWUninstall%\%PROG_NAME%_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"%SWUninstall%\%PROG_NAME%_addon","DisplayName",,"%PROG_NAME% %PROG_VERS%"
HKLM,"%SWUninstall%\%PROG_NAME%_addon","DisplayVersion",,"v%PROG_VERS%"
HKLM,"%SWUninstall%\%PROG_NAME%_addon","Publisher",,"%PROG_MADE%"
HKLM,"%SWUninstall%\%PROG_NAME%_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"%SWUninstall%\%PROG_NAME%_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %PROG_INF%,Uninstall"
HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run","%PROG_NAME%",0x0,"%16422%\%PROG_DIR%\%PROG_1%"

[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon"
HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run","%PROG_NAME%"


А по ярлыку на рабочем столе - почитайте тут, есть пример, разные DirID тут

41275jur 14-11-2013 16:22 2254520

Попробовал методом подбора, заменив строки
Код:

PROG_SDIR2        ="..\..\Рабочий стол"
PROG_SDIR3        ="Автозагрузка"

на

PROG_SDIR2        ="..\..\..\..\..\..\Desktop"
PROG_SDIR3        ="Startup"

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

_syd_ 16-11-2013 01:30 2255629

Цитата:

Цитата 41275jur
Не знаю правильно или нет? »

Если будете использовать этот вариант исключительно для себя – то да (он не универсален, на Windows XP работать не будет). Вызов установки приложения посредством inf-файла обычно (но не всегда) используется через модифицированный модуль 7z, там можно запускать пакетный файл, который бы дописывал перед установкой приложения в inf-файл необходимые переменные в зависимости от версии ОС, да и с ярлыками куда проще работать с его помощью.

41275jur 28-12-2013 06:36 2279613

Доброе время суток.
Подскажите, пожалуйста, как при помощи inf-файла сделать запись в hosts-файле, например 127.0.0.1 google-analytics.com, а при удалении удалил.


Время: 06:12.

Время: 06:12.
© OSzone.net 2001-