Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
caveman007
28-11-2006, 10:17
автозапуск самораспаковки после определенного интервала
очень удобно при запуске из RunOnce/RunOnceEx
Oleg_Sch
28-11-2006, 10:22
caveman007
Подумаю.
caveman007
28-11-2006, 10:39
огромное спасибо (за "подумаю") :)
Oleg_SchОтпишитесь о результатахРапортую:Shortcut="26, {%%T\\7z_RU.chm}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {Modified 7-zip SFX module reference}, {Modified 7-zip SFX module help}"
Shortcut="35, {%%T\\7z_RU.chm}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {Modified 7-zip SFX module reference1}, {Modified 7-zip SFX module help1}" создались оба ярлыка в соответствующих папках, но на панели быстрого запуска появился только первый.
caveman007добавить обратный таймер с прогресс-баром и кнопкой отменыА в каком диалоге Вы себе это видете: BeginPrompt(который начальный), ExtractPath (который ввода пути) или ExtractDialog (который процесс распаковки)? И что это конкретно дает (вот здесь поподробнее пожалуйста, может и мне это очень надо, а я не знаю?)
Oleg_Sch
28-11-2006, 11:35
goraсоздались оба ярлыка в соответствующих папках, но на панели быстрого запуска появился только первый.
Попробовал просто скопировать ярлык в All Users и Default User - да, винда игнорирует их. Значит для быстрого запуска можно использовать только текущего пользователя :(
А в каком диалоге Вы себе это видете: BeginPrompt(который начальный), ExtractPath (который ввода пути) или ExtractDialog (который процесс распаковки)? И что это конкретно дает (вот здесь поподробнее пожалуйста, может и мне это очень надо, а я не знаю?)
Если я правильно понял, человек имеет в виду BeginPrompt и автоматическое нажатие "да" спустя указаное время. При этом время на этой самой "да" показывается и убывает.
caveman007
28-11-2006, 21:38
Поподробнее так поподробнее:
я собираю диски с Unattended инсталляциями WinXP, которыми пользуются практически все мои знакомые. Кроме системы, там лежит проверенный надежный софт, которым большинство пользуется постоянно. Но имеются некоторые вещи, которые нужны не всем - как-то: Microsoft .NET или раскладка клавиатуры "Украинская, но апостроф вместо буквы Ё (by Shtirliz)"...
для примера - параметры файла конфигурации создания sfx
ExtractTitle=" распаковано"
ExtractDialogText="распаковка файлов в папку C:\U.Ptofi "
InstallPath="C:\\"
GUIMode="1"
GUIFlags="56"
OverwriteMode="1"т.е. интерфейс минимальный - можно проследить за процессом распаковки, но не вмешаться - поскольку установка ведется из RunOnceEx
Суть таймера в том, что кого всё устраивает, идет пить кофе, а кого - нет, посидит пару минут и отменит то, что ему не надо.
Предлагаю две фазы на фейсе 1) прогресс-бар укороченный, бежит в обратную сторону, справа от него кнопка отмены, в заголовке - обратный отсчет времени 2) после окончания отсчета кнопка отмены исчезает (или не исчезает - в зависимости от того, что написано в конфиге) , прогресс-бар показывает как положено состояние распаковки и т.д.
http://www.caveman007.com/img/7-zip-sfx-timer.png
Как отменить самоудаление SFX-файла по окончанию процесса установки? Использование ключей в коммандной строке не подходит.
У меня почему-то sfx-файл удаляется даже если в конфигфайле отсутствует SelfDelete="1"
Такое впечатление, что берется какой-то отфонарный конфиг, т.к. даже заголовок окна не тот, который я указываю.
И почему-то у меня распаковка 80-мегабайтного архива происходит за доли секунды. Такое впечатление, что он непольностью распаковывается.
Karfax
Так собственно не вписывать в файл конфигурации SelfDelete="1", а уж если вписали, то только ключ '-sdX'.
Других вариантов нет. :)
Oleg_Schчеловек имеет в виду BeginPrompt и автоматическое нажатие "да" спустя указаное время
Да я тоже так думал (вроде самое удобное место для этого), ан нет. caveman007, по описанному им, предагает в ExtractDialog. Но я, к сожалению, так и не понял:
caveman007
1 SFX архив только распака без установки?
2 SFX архив один, а в нем весь софт кучей?
3 Если (п.2) - нет, сколько таких аривов?
4 Если (п.1) - да, чем устанавливаются (WPI или нечто подобное)?
Karfax
Скачайте сплитер (http://7zsfx.solta.ru/files/7zSplit.7z) (с его помощью можно вытащить все составляющие SFX архива) и посмотрите, что у Вас в файле конфигурации в SFX архиве (который Вы запускаете), а уж потом сюда на доклад.
Проделал это. Конфигуратор создавал при помощи GUI оболочки. Вот что в конфиге:
;!@Install@!UTF-8!
RunProgram="Descriptions.exe"
ExtractTitle="Распаковка пакета..."
GUIMode="1"
SelfDelete="1"
;!@InstallEnd@!
А вот то, что я вообще-то задавал:
;!@Install@!UTF-8!
Title="Идет распаковка...."
RunProgram="\"Descriptions.exe\""
ExtractTitle="Идет распаковка..."
;!@InstallEnd@!
Первый вариант - это я пробовал вчера сделать установку с таким конфигом. После этого тот конфиг был удален, комп несколько раз перезагружался. Но непонятно по каким причинам оно теперь все время подключает этот конфиг.
Кроме этого, оно еще и зам архив не тот прикрепляет: хоть после разделения sfx-файл на составляющие, размер у архива вроди совпадает, но его содержимое совсем не то и показывае, что содержимое весит ~1 Мб (этот архив я пробовал раньше прикреплять). Кроме того, сам 7zSD.sfx тоже не тот, а более раняя версия, которую я тоже использовар раньше.
Просто маразм какой-то.
caveman007
02-12-2006, 01:23
gora
1 SFX архив только распака без установки?
2 SFX архив один, а в нем весь софт кучей?
3 Если (п.2) - нет, сколько таких аривов?
4 Если (п.1) - да, чем устанавливаются (WPI или нечто подобное)?
предварительные замечания: в корне диска С: я создаю три папки, в которые складываю софт, не требующий инсталляции - его можно просто переписывать с диска на диск без потери работоспособности. Это U.Win (софт общего назначения - графические вьюверы, мелкие текстовые редакторы,..), U.Web, U.Profi (работа с реестром, жесткими дисками - короче, не для чайников :) ), U.Dos - каждая из папок пакуется в отдельный sfx-архив и каждый из архивов запускается отдельной строкой из RunOnceEx
1 - распака без установки
2 - SFX архивов несколько (а в нем весь софт кучей :) ) см. выше
4 - я сторонник минимализма - чем проще, тем меньше вероятности, что ты что-то где-то забудешь или сделаешь не так
Lexanson
03-12-2006, 12:01
Можно сделать, чтобы при отсутствии в конфиге значения ExtractDialogText, иконка отображалась слева от прогрессбара, а не над ним. В старой версии вроде так было. Если вписывать ничего не хочется - остается пустое поле, выглядит не очень.
Karfax
Ваши проблемы скорее всего связаны с GUI, перемещайтесь туда (ссылка на ветку GUI в шапке) я Вам там ответил.
Lexanson
Если это вопрос, то ответ - нет, а если это пожелание, то ждите, что скажет автор.
А что, в ExtractDialogText совсем нечего написать? Можете, как альтернативу, попробовать указать "маленькое значение" в ExtractDialogWidthЕсли вписывать ничего не хочется Лень, конечно, двигатель прогресса :) , но...
caveman007
посидит пару минут и отменит то, что ему не надо.1 Ну это Вы наверно приуменьшили. Надо ведь ждать всю установку Windows? А это не пара минут. Да еще не проследить появления окна с таймером, да еще и понять, что там написано (про то, чего пользователь лишиться, если отменит распаковку).
2 Если просто распаковать и вообще не выводить окон (диск то не треснет), а потом все равно устанавливать ручками? Пользователь сам потом решит, что ему нужно.
3 Если уж вводить таймер, то в окно BeginPrompt (который начальный), там и кнопки Да/Нет есть (можно не только отменить установку, но и прервать таймер и установить немедленно нажатием кнопки Да), и написать по больше о том, что будет ставиться, и автоустановка (AutoInstall) возможна только отсюда.
4 А если будет нужен ExtractPath, как быть с ним? Он же тормознет всю дальнейшую работу и таймер в том числе?
В вашем варианте, если я буду использовать BeginPrompt (мне нужна возможность AutoInstall) и захочу использовать таймер, то я сначала получу окно BeginPrompt, затем ExtractPath (как вариант), а уж только потом ExtractDialog с таймером! Ну и к чему он мне здесь?
Резюмируя все - Вы меня пока не убедили (я понимаю, что Вы и цели такой не ставили :) ) в необходимости таймера, но главное, чтобы убедили Oleg_Sch. Посмотрим, что он скажет.
Oleg_Sch
04-12-2006, 13:36
To All
Я более-менее освободился :) Через неделю-две будет обновление, и не просто обновление, а 2.0 alpha.
Основное изменение - DHTML вариант установки, вы ПОЛНОСТЬЮ сможете конфигурировать диалоги (наличие/расположение отдельных элементов) и варианты установки (сейчас я предусматриваю все варианты, нпр. таймер, выбор одного из вариантов автоматической установки из BeginPrompt'a и т.д), кто знает DHTML - поймет (кстати, я его пока знаю очень поверхностно). Думаю, придется заводить отдельную ветку "Скины для модифицированного модуля..." ;), где все знатоки DHTML смогут выставить свои решения.
Немножко терпения, все будет (но зависит от свободного времени :( )
caveman007
08-12-2006, 09:35
Oleg_Sch
кто знает DHTML - поймет (кстати, я его пока знаю очень поверхностно)
DHTML - это всего-лишь JavaScript + CSS :)
Тут же возникает вопрос - а почему не XML? Вроде во всех продвинутых проектах используется именно он, как обладающий большой гибкостью
Oleg_Sch
08-12-2006, 14:57
caveman007
DHTML - это всего-лишь JavaScript + CSS
Именно так. А надо больше ? Аргументируйте свои доводы в пользу XML, кроме
Вроде во всех продвинутых проектах используется именно он, как обладающий большой гибкостью
А еще лучше - сделайте пример какого-нибудь окна используя XML, и так, чтобы все это без проблем открывалось хотя бы в IE5 без всяких проблем.
Если я увижу, что оно того стоит, пойду изучать...
P.S. Я не претендую на роль "продвинутого проекта"
Debugger
08-12-2006, 17:10
Oleg_Sch
Я так понимаю, что и картинки можно будет вставить? :)
Т.к. Oleg_Sch ни как не порадует нас "давно обещанным" GUI, да и hobbeat что-то пропал :( , всем тем, кому приходиться создавать/отлаживать SFX архивы, предлагаю "малую механизацию" этого процесса.
Предлагаю создать кнопку в Total Commander-e (далее TC) для этого процесса. После ее создания нужно только выделить два файла (7-z архив и файл конфигурации), на одной из панелей TC, и нажать эту кнопку. SFX архив будет создан в этом же каталоге (открытом в этой панели TC) с именем, полученным из имени 7-z архива заменой расширения с .7z на .exe. Ни какие файлы не удаляются. Если SFX архив с таким именем уже существует, он будет переписан.
Для этой кнопки понадобиться утилита lst2str (http://ghisler.fileburst.com/addons/lst2str.zip) от JackFoo (есть в прикрепленном архиве с русским readme), кнопка и .bat файл.
Кнопка:TOTALCMD#BAR#DATA
%commander_path%\Utilites\lst2str\lst2str.exe
/X:"D:\totalcmd\Utilites\CreateSFX\comndlin.bat" /L:%L /N:2
%commander_path%\WCMICONS.DLL,20
Создание SFX архива
%commander_path%\Utilites\CreateSFX\comndlin.bat
-1
.bat файл (comndlin.bat):@ECHO off
set error=Мало данных.
IF "%~x2"=="" GOTO Err_msg
set config=%2
set len=%~z2
set archive=%1
set name=%~n1
set path_=%~dp1
IF %~x1==.7z GOTO Find1
set error=Нет 7z-архива.
IF NOT %~x2==.7z GOTO Err_msg
set config=%1
set len=%~z1
set archive=%2
set name=%~n2
set path_=%~dp2
:Find1
IF %len% GTR 10240 GOTO No_cfg
find /c ";!@Install@!UTF-8!" %config%
IF errorlevel 1 GOTO No_cfg
echo.
COPY /b "D:\DISTRIBUT\7-Zip\7zSD_499\7ZSD_LZMA.sfx" + %config% + %archive% "%path_%%name%.exe"
echo.
echo Создан SFX архив - "%name%.exe"
echo.
pause
exit
:No_cfg
set error=Нет файла конфигурации.
:Err_msg
echo.
echo %error%
echo.
echo Надо выделить только ДВА файла: 7z-архив и файл конфигурации.
echo.
pause
exit
Распакуйте файлы архива в папку TC.
Пути нужно изменить на свои. В первом файле пути к TC - строки 2, 3, 6, а во втором, путь к SFX модулю - строка 22 (COPY /b ...).
Чтобы создать кнопку, скопируете код в буфер обмена, затем щёлкните правой кнопкой по пустому месту на панели инструментов TC, и выберите пункт "Вставить" (этот пункт появится только в том случае, если в буфере обмена у вас правильный код кнопки).
Все, можете пользоваться!
ps Изменен принцип поиска файла конфигурации, исправлены мелкие ошибки - архив перезалит.
caveman007
19-12-2006, 08:43
gora
Все, можете пользоваться!
Вложения
Тип файла: 7z Utilites.7z (7.4 Kb, 6 просмотров)
Да что-то не получается пользоваться – архив похоже битый. Пытался скачивать вложение разными броузерами – везде одно и то же – "Неизвестный формат или ошибка в архиве" – открывать пытался 7-zip-ом
caveman007
Пытался скачивать вложение разными броузерами Попытайся теперь с помощью качалки, особеность сайта с качиваешь вложения с помощью Менеджера загрузки
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.