Показать полную графическую версию : Авторам аддонов
Предложение такое. В некоторых аддонах на форуме объединены по несколько утилит, которые ставятся одним пакетом. Вместе с тем вероятны случаи, когда человеку хочется внедрить в дистрибутив одну-две утилиты из этого пакета, а остальные фишки ему ни к чему. Предлагаю авторам всех таких "пакетных" аддонов учитывать и такие потребности. То есть - в обязательном порядке снабжать свой аддон инструкцией по его возможному урезанию.
Типа так: "Если вы хотите убрать из предлагаемого набора (из аддона) программу XXX - выполните следующие действия: удалите такие-то файлы, такие-то строчки из inf..." Ну и т. п.
возможно, глупый вопрос, но!
никак не могу разобраться в одной строчке файла конфигурации для модифицированного модуля от Oleg_Sch. может кто раставит знаки препинания здесь
RunProgram="hidcon:cmd /c reg delete hkcu\\Software\\Microsoft\\Windows\\ShellNoRoam\\MUICache /v %windir%\\system32\\notepad.exe /f"
в одной строчке файла конфигурации для модифицированного модуля от Oleg_Sch »У модуля есть своя ветка (http://forum.oszone.net/showthread.php?t=51547) и вопрос лучше адресовать туда. Только сначала сделайте экспорт записи из реестра, которую Вы хотите удалить, и приведите ее там в формате reg. Посмотрел у себя аналогичную ветку и для нее написал бы так (но возможно у Вас другая):RunProgram="hidcon:REG delete \"HKCU\\Software\\Microsoft\\Windows\\ShellNoRoam\\MUICache\" /v \"%windir%\\system32\\NOTEPAD.EXE\" /t REG_SZ /d \"Блокнот\" /f"
Обращаюсь к авторам аддонов типа SVCPACK.
Мне кажется, что для многих программ с инсталлятором Inno Setup (да и других, наверное) надо изменить название записи удаления программы. Обычно по шаблону используется что-нибудь типа %PROG_NAME%_addon, что при обновлении программы и установке новой версии поверх старой (как делают многие пользователи и многие программы не требуют сначала удалить старую версию) приведет к нескольким записям удаления одной программы в "Установке и удалении программ".
Если же в аддоне использовать название записи такое же, как и у родного инсталлятора (например, Download Master_is1), то при установке поверх новой версии программы родной инсталлятор просто перезапишет данные в этой записи, что по крайней мере не приведет размножению записей удаления.
Тот же Download Master периодами часто обновляется и предлагает загрузить и установить новую версию...
DyadyaGenya
22-11-2008, 01:50
не могу придумать как удалить папку в меню\программы, если там были подпапки в программе. думаю на примере будет понятнее что я имел в виду:
[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
DyadyaGenya
Можно, например, так:
[Uninstall]
<skip>
RunPostSetupCommands=Obs.Delete
[Obs.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16407%\Nero
DyadyaGenya
22-11-2008, 14:02
jameszero, спасибо, а почему ж нельзя обычным способом через секцию ProfileItems? я пробовал вводить ещё одну сабдир с путем:
PROG_SDIR3 ="..\..\..\All Users\Главное меню\Программы\Nero
и вот так:
PROG_SDIR3 =16407\Nero
и другие подобные варианты
и есть ещё вопрос, почему то не во всех аддонах в Установка и удаление программ отображается например размер проги, хотя делаются из одного шаблона. По идее за это отвечает только строка
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%","EstimatedSize",0x10001,"ххххххххх", где ххххххххх и есть размер, но как и сказал, не везде срабатывает.
Хочу поделиться идеей создания файла конфигурации для 7z SFX архивов.
Как известно, при помощи 7z SFX архива легко скопировать файлы в нужные папки, создать нужные ярлыки и сделать записи в реестр. Затык происходит, когда всё это хозяйство требуется удалить. Для этого есть несколько путей. Например, можно положить в архив файл uninstall.exe, который создаёт родной инсталлятор программы, и сделать для него ярлык. Или создать inf-файл с необходимыми командами деинсталляции (как это сделано в аддоне-конструкторе Totall Commander от gora).
Или же самое простое - запустить при установки батник, который создаст в реестре необходимые записи для того, чтобы в "Установке и удалении программ" появилась запись об устанавливаемой программе. С помощью этой записи можно запустить программу деинсталляции, а в самом простом случае - батник, который удалит файлы программы, ярлыки и записи в реестре. Но это же самое можно сделать с помощью самого файла конфигурации.
Я сделал такой файл конфигурации (во вложении) для Foxit Reader-a. Этот файл в принципе универсальный - надо только заменить значения переменных, отредактировать запуск файлов после инсталляции и определить создаются ли ярлыки для всех пользователей или для текущего. Необходимые строки снабжены комментариями. После установки программы в "Установке и удалении программ" появляется запись, с помощью которой можно удалить программу.
Теперь о неприятном.
1. При деинсталляции не задаётся никаких вопросов - удаление программы происходит в "тихом" режиме. Таким образом, можно случайно нажать кнопку и программа будет тут же удалена. Но, как правило, в "Установку и удаление программ" лезут только для того, чтобы удалить программы, да и установить программу заново не сложно, т.к., как правило, в 7z SFX архив упаковывают уже настроенные программы.
2. При наличии в системной папке утилиты hidcon.exe удаление происходит без каких-либо окон. Если же этой утилиты нет, то будут появляться окна командной строки. Выход: либо положить утилиту в архив и скопировать её в системную папку, либо воспользоваться аддоном Hidcon (http://forum.oszone.net/thread-101412.html).
Уважаемый jameszero, корректно ли будет обрабатываться такая строка в файле Run - PROGRAM.EXE /VERYSILENT /TASKS=desktopicon - при интеграции аддона и последующей установке дистрибутива?
jameszero
23-01-2009, 16:12
snik100
Уже возникали вопросы (http://forum.oszone.net/post-672249.html#post672249) об особенностях использования ключей при установке из SVCPACK. Ответ тогда не нашли.
Как вариант, который не проверяли, попробуйте взять всю строчку в кавычки, но гарантий я не даю.
"PROGRAM.EXE /VERYSILENT /TASKS=desktopicon"
snik100, сделайте SFX архив. Там ключи какие угодно работают.
snik100, знак равенства корректно не обработается и кавычки (в любом количестве) не спасут. Опытным путем определил, что знаки равно (= ) и минус (-) в этой строке недопустимы, а кавычки отбрасываются. Например, путь, с пробелами заключенный в кавычки, "разваливается" на составные части и его нужно потом "собирать" в инсталляторе снова.
Обсуждение на эту тему идет в ветке аддона QIP 8081. Выход ли использовать bat-файл, прописав его в файле Run, и поместив в SVCPACK? А в нем уже писать строку запуска программы PROGRAM.EXE /VERYSILENT /TASKS=desktopicon
RubinSky
18-02-2009, 13:58
Уважаемые форумчане вот http://rapidshare.de/files/45412044/_addon_mp3Tag_2.42.7z.html аддон программы mp3Tag 2.42 который я попытался сделать. впринципе он рабочий, единственное - при установке системы на Т13 появляется ошибка - mp3Tag must be closed или Please close mp3Tag...при нажатии ОК он устанавливаеться но при запуске интерфейс английский(в настройках меняю вручную на русский) Как победить это? Может кто-то поможет доработать его? Надо чтобы размещался ярлык на рабочем столе и при первом запуске интерфейс был русским и не приходилось вручную переключать
Dmitry_K
18-02-2009, 14:49
Надо чтобы размещался ярлык на рабочем столе »
см. Создание ярлыков при установке ОС (http://www.oszone.net/6161)
mp3Tag must be closed или Please close mp3Tag »
переименуй инсталлятор mp3tag.exe во что-нибудь другое, например в mp3_tag.exe, т.к. - это главный файл установленной программы, поэтому инсталлятор и "ругается"...
а по поводу всего остального - программа работает и без установки, проще установить ее и затем создать тихий sfx-архив, и там же (в архиве) прописать создание ярлыков
RubinSky
18-02-2009, 15:14
Dmitry_K, я был бы признателен если бы возможно было сделать SVPACK потому что тихий архив и пропись создания ярлыков пока что темный лес для меня
Dmitry_K
18-02-2009, 15:22
RubinSky, если время будет, сегодня-завтра сделаю...
RubinSky
18-02-2009, 15:37
Dmitry_K, спасибо. вот начал сам потихоньку разбираться. то есть я устанавливаю программу, зашиваю в архив...ярлык понял как сделать...а мои настройки? а прописывание в реестр? как с этим? я читаю шапку но пока не очень понимаю...
Dmitry_K
18-02-2009, 15:49
а мои настройки? »
каждая программа хранит настройки в разных местах, в основном это реестр или ini-файл, и с каждой программой нужно разбираться отдельно, что и куда она прописывает...
а прописывание в реестр? »
качаешь RegShot (http://www.oszone.net/user_img/050224181558/regshot1_7_2.zip), делаешь "снимок" реестра ДО и ПОСЛЕ установки, экспортируешь необходые изменения, например, в рег-файл, далее вносишь настройки этим файлом.
DyadyaGenya
07-03-2009, 01:20
давно уже назревал вопрос, но все надеялся сам решить, как вносить ветки реестра из 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%
соответственно не полностью удаляется папка в програмфайлз, поэтому вопрос, есть ли ещё какие то способы закончить процес?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC