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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Модифицированный SFX модуль 7-Zip'а для установок

Ответить
Настройки темы
Модифицированный SFX модуль 7-Zip'а для установок

Старожил


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


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

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


Изменения
Автор: Petya V4sechkin
Дата: 02-11-2017




Модифицированный SFX модуль 7-Zip'а для установок

Версия 1.6.1 Stable, сборка 3873 (5 марта 2016 г.)
Версия 1.7.0 Develop, сборка 3873 (5 марта 2016 г.)


Модифицированный модуль предоставляет широкие возможности для создания SFX архивов. Используя модуль, Вы можете:
  • указывать желаемый путь распаковки содержимого архива
  • использовать как абсолютные, так и относительные пути
  • выбирать между интерактивной, "тихой" и скрытой распаковкой
  • контролировать внешний вид диалоговых окон и текста в них
  • конфигурировать различные варианты установки запакованных приложений, впоследствии выбирая нужный сценарий ключом командной строки
  • конфигурировать установку нескольких (до 10) разных запакованных приложений, впоследствии выбирая нужные приложения и последовательность их установки ключом командной строки
  • просто распаковать архив в желаемую папку
  • запускать после распаковки последовательно несколько файлов (.exe, .msi, .reg и т.п.) и использовать его для установки приложений
  • заменить, применяемые ранее для установки, .bat или .cmd файлы и исключить необходимость использования "StartX.exe", "msistub.exe" и подобных утилит
  • создавать ярлыки к программам и назначать значки для этих ярлыков по своему усмотрению
  • использовать архивы с разными методами сжатия (LZMA, LZMA2, Deflate, PPMd), которые предлагает архиватор 7-Zip
  • удалять как отдельные файлы, после их использования, так и сам SFX архив
  • и многое другое...

Домашняя страница | Страница загрузок
Зеркалa:
Веб-архив сайта
Яндекс.Диск - полный набор
OneDrive - полный набор, пароль: 7zsfxmod
OneDrive - только модули SFX (7zsd_tools_170_3900.7z)


Обсуждение GUI (графической оболочки) для создания 7-zip SFX с модифицированным модулем ведется в этой теме. Автор GUI - hobbeat.

Кнопка для работы с 7z SFX архивами в Total Commander-е находится здесь (автор - gora, вечная память)

Файлы конфигурации 7z SFX обсуждаются в этой теме (автор - gora)

Отдельное спасибо ArtXGroup за финансовую поддержку


Теперь модуль будет в двух версиях:
1. Stable. В дальнейшем в нем из изменений будет только исправление ошибок (надеюсь их не будет) и обновление кода самого 7-Zip до последней стабильной версии.
2. Develop->Alpha->Beta. Исходные коды 7-Zip - последняя бета версия самого архиватора, добавление новых функций.

FAQ
читать дальше »



Q:
Цитата:
Как извлекать определенные папки, в зависимости от разрядности системы/варианта установки и т.д
A: Такой возможности нет, SFX архив распаковывается полностью


Q:
Цитата:
а можно ли для sfx архива задавать пароль который при обычном запуске sfx архива как бы не запрашивался и сам вводился, а при попытке просто распаковать архив этот пароль запрашивался
A: Нельзя. Модули с данной поддержкой официально недоступны. Пока, пользуясь своей "властью", я даю такие модули только тем, кто мне помогает/прикладывает какие-то усилия в развитии самого модуля, справки к нему и сопутствующих файлов. Считайте это моим эгоизмом.

Это сообщение посчитали полезным следующие участники:
Показать/скрыть список поблагодаривших

Отправлено: 06:20, 11-07-2005

 

Старожил


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

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


Oleg_Sch
может конечно сумбурно, но попробую обьяснить ситуевины в которых глюки ловил.

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

насколько я понял в ридми - текущей директорией является директория разпаковки.

ну так вот, начну по порядку.

первый случай

среда WinPE на основе WinXP SP2 rus на виртуальной машине, темповая директория b:\
распаковывается без указания директории распаковки, т.е. в темповую папку
sfx запакованый upx минимального размера.
после разпаковки Drweb не может найти базы лежащие с ним в одной и тойже папке.
аналогично и в реальной среде WinXP SP2 rus, темповая директория C:\windows\temp
после прописывания директории распаковки в виде %temp%\\drweb все заработало в обоих средах


Второй случай
Среды теже
Пути распаковки прописаны как %temp%\\Everest
delete=%temp%\\Everest
эверест распаковывается,нормально запускается, но по выходу все файлы остаются на местах
при отсутвии указания директории распаковки - эффект тотже - приложение закрывается, темповая папка со всем содержимым в темповой директори остается жива.


Третий случай
Среды теже
приложение r-studio
При обоих методах остается один файл в папке.

четвертый случай.
в рабочей среде моей отказался выполняться dx update последний вседофенишный.
при разборке скрипта и отслеживании переменной %CD% при его выполнении текущей директорией оказалась c:\windows вместо темповой папки в темповой директории.
указание конкретной директории распаковки эффекта не оказало.
переменная %~p0 показала реальное текущее значение.

насколько я понимаю - в первом случае некорректно передалась приложению текущая директория
можно вручную при выполнении приложения добавить пермаментно папку распаковки в %path% но эт чета не совсем красивое решение.
возможно ли это делать прогрммо по умолчанию - если это уже сделано - тогда вопрос снимается.

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

четвертый случай - воще полная мистика.
отнесу его к текущему состоянию разбитости моей системы.
но на всякий случай рассказал, может чем помог.

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

-------
моя самоделка


Отправлено: 03:30, 06-01-2006 | #111



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

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


Старожил


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

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


Vovanchik
Будем ловить (глюки). Все довольно подробно, спасибо.
В PM (или аська в профиле) пока только конфиги 7z и переменные окружения. Попробую сэмулировать ситуевины...

-------
http://7zsfx.info


Отправлено: 08:40, 06-01-2006 | #112


Аватара для gora

Ушёл из жизни


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

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


2 Oleg_Sch
Не проходит этот вариант.

RunProgram="start menu.exe"

дает результат "Error during execution "start menu.exe". He удается найти указанный файл."

Я уже писал, что не специалист я ко командной строке. Запустить, как либо, этот start, мне не удалось. Если можно по подробней, почему у меня не работает этот start?

Отправлено: 16:50, 08-01-2006 | #113


Старожил


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

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


Каюсь. Был не прав. start - это из командного интерпретатора, поэтому должно быть RunProgram="cmd /c start menu.exe" (но мелькнет на доли секунды консольное окно).
Или второй вариант про который я писал - с hidcon.exe: RunProgram="hidcon.exe /nw menu.exe"
Сам hidcon.exe можете взять здесь http://unattended.solta.ru/exectools.7z

-------
http://7zsfx.info


Отправлено: 17:04, 08-01-2006 | #114


Старожил


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

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


кстати я тут применил этом модуль в довольно интересном плане...
при создании winpe

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

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

-------
моя самоделка


Отправлено: 02:14, 11-01-2006 | #115


Аватара для a1ex

Новый участник


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

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


Vovanchik
Цитата:
никакий принудительной очистки рамдиска - шесть
гм ... а вопросы второго и третьего случая из предыдущего поста уже решены ?
в команде start /wait r-studio.exe никакого wait не происходит т.к. r-studio 32 битное приложение с графическим интерфейсом. Про это в хелпе к start сказано.

Отправлено: 22:37, 24-01-2006 | #116


Старожил


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

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


a1ex
там нужно rs_un.bin в rs_un.exe переименовать и его запускать...

но это частный случай ... тоже самое с эверестом

-------
моя самоделка


Отправлено: 22:42, 24-01-2006 | #117


Старожил


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

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


a1ex
Цитата:
гм ... а вопросы второго и третьего случая из предыдущего поста уже решены ?
Как раз второй и третий случай решены. Первый был списан на вспышки на солнце и фазу луны - не смогли добиться его повторения ни я ни Vovanchik (он к тому моменту переставил систему, насколько я помню). Четвертым пока не занимался.
Я неделю назад тоже все переустановил и потерял историю аськи и переписку с Vovanchik, отвечу по памяти, если что Vovanchik поправит.
2. Everest заработал нормально при указании ключа /WAIT
Код: Выделить весь код
RunProgram="Everest.exe /WAIT"
3. Для р-студио Vovanchik уже написал. Я так понял, что кроме этого rs_un.bin в WinXP больше ничего не надо (по крайней мере у меня работало только с этим одним файлом переименованным в rs_un.exe, и SFX модуль ждал окончания его работы).

Все это не баги SFX модуля, а особенности выполняемых программ. Что Everest, что r-studio при своем запуске исполняют какие-то другие файлы и выходят. Модуль считает, что работа закончена, и затирает папку. Так r-studio.exe запускает rs_un.bin, а everest.exe - everest.bin

a1ex
Цитата:
в команде start /wait r-studio.exe никакого wait не происходит т.к. r-studio 32 битное приложение с графическим интерфейсом. Про это в хелпе к start сказано.
Это никак не связано с типом приложения (графическое-консольное), а с особенностями написаными выше. Не знаю, что там в хелпе к start, но попробуйте просто
Код: Выделить весь код
start /WAIT notepad
start БУДЕТ ждать завершения notepad'а, хотя он и графический

-------
http://7zsfx.info


Отправлено: 02:28, 25-01-2006 | #118


Аватара для a1ex

Новый участник


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

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


Oleg_Sch
Цитата:
Это никак не связано с типом приложения (графическое-консольное), а с особенностями написаными выше. Не знаю, что там в хелпе к start,
хелп читал только русский, может это трудности с переводом ... но для себя я сделал вывод, что /wait гарантировано работает с консольным приложением. К sfx в этом плане претензий нет . Ранее в подобныхых случаях я тупо в цикле через sleep ждал окончания процессов.
Vovanchik
Цитата:
там нужно rs_un.bin в rs_un.exe переименовать и его запускать...
ради интереса запустил rs_an , тоже вроде как работает . Интересно, в каких случаях рстудио запускает его?

p.s. спасибо Олегу за экономию места, а Вованчику за идею использовать это в PE

Отправлено: 11:22, 25-01-2006 | #119


Старожил


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

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


a1ex
Цитата:
ради интереса запустил rs_an , тоже вроде как работает . Интересно, в каких случаях рстудио запускает его?
Мне кажется, что rs_an и rs_un это соответственно ANSI и Unicode версии. Если так, то rs_un не будет работать в Win9x (нет врожденной поддержки Unicode), но rs_an будет работать на NT-платформе (где ANSI приложения с некоторыми оговорками поддерживаются полноценно, а Unicode - вообще врожденно).
Скорее всего r-studio.exe проверяет платформу и запускает соответствующий файл.

Цитата:
хелп читал только русский, может это трудности с переводом ... но для себя я сделал вывод, что /wait гарантировано работает с консольным приложением.
Неверно. Здесь САМОЕ ГЛАВНОЕ - дочерний процесс. start (и SFX модуль тоже) ждет окончания ОСНОВНОГО процесса, но игнорирует дочерние.
Продолжу свой пример. Создадим aa.cmd (гарантировано консольное приложение)
Код: Выделить весь код
start notepad
exit
Т.е. в нем НЕТ ОЖИДАНИЯ окончания выполнения notepad
А теперь запустим:
Код: Выделить весь код
start /WAIT aa.cmd
И что же мы видим ? Все выполнено. aa.cmd (основной процесс) завершил свое работу, "start /WAIT aa.cmd" тоже. Но notepad (дочерний процесс) НИКУДА не делся, он по прежнему на рабочем столе! Тоже самое происходит и в SFX модуле - основной процесс (например, r-studio.exe) завершил свою работу и SFX модуль пытается удалить файлы, но ДОЧЕРНИЙ процесс rs_un.bin свою работу продолжает, и заблокирован. Результат - SFX модуль не может его удалить.

-------
http://7zsfx.info


Отправлено: 15:21, 25-01-2006 | #120



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Модифицированный SFX модуль 7-Zip'а для установок

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Горячие клавиши для восстановления заводских установок ноутбуков Sparkster Ноутбуки 398 03-10-2019 15:11
GUI для модифицированного 7-Zip SFX модуля для установок hobbeat Автоматическая установка Windows 2000/XP/2003 259 09-10-2016 07:01
Создание silent 7-zip sfx mitiya Автоматическая установка Windows 2000/XP/2003 17 01-03-2011 22:14
[решено] Как создать модуль SFX? CtrlSoft Программное обеспечение Windows 3 13-02-2008 21:31
CMD/BAT - [решено] замена set str2=%str1:.zip/=.zip/!% глючит на пробелах?! akrav Скриптовые языки администрирования Windows 5 12-02-2008 11:54




 
Переход