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

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

 

Ветеран


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


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

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


Цитата CryptoNick:
Ну не знаю, как упрощение... »
Упрощение - ну, например, не надо в длинной строке внимательно отслеживать экранировку кавычек. У меня из-за невнимательности частенько бывает, что не замечаю в середине длинной строки, что не поставил слеш перед кавычками. Также, например, не надо вспоминать правильный синтаксис записи в реестр - указал в system.ini куст, имя и значение параметра и все. Надо изменить что-то в определенной секции - не нужно искать по всему файлу конфигурации. Я частенько пересобираю инсталляторы и мне проще просто запустить простой cmd-шник, зная, что он не просто соберет инсталлятор, но и также выставит в его свойствах соответствующие записи. А также автоматическое создание деинсталляции... Как-то так...
Цитата CryptoNick:
Я в нем так и не разобрался.. »
Если есть такое желание - прошу в соответствующую тем. С удовольствием помогу разобраться, заодно может найдутся какие-нибудь ошибки или подскажите путь для упрощения/модификации...
Цитата CryptoNick:
Как и в кнопке gora »
В ней я вижу только одну полезную функцию - быстро посмотреть файл конфигурации (все собираюсь сделать свою кнопку только для этой функции, но все руки не доходят). Распаковывать лучше с помощью самого 7-zip или с помощью UniversalExtractor-a, а создавать SFX мне проще батником.
Цитата CryptoNick:
Как альтернативу, всему мудреному, заумному, написал свою программу... »
Можно по-подробнее?...
Цитата CryptoNick:
Одна утилита весит два килобайта, другая 8 килобайт. »
Дело не в весе... Просто я считаю, что в дистрибутиве программы должна быть только сама программа и никаких служебных файлов.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Последний раз редактировалось ya158, 27-02-2017 в 11:16.


Отправлено: 12:16, 11-02-2017 | #1821



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

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


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


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


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

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


ya158,
Цитата:
Просто я считаю, что в дистрибутиве программы должна быть только сама программа и никаких служебных файлов.
Это понятно... Ошибок и недоработок модуля уже много собралось... Вот бы вернулся Олег, и подправил... Готов даже финансово про стимулировать....

Отправлено: 12:32, 11-02-2017 | #1822


Ветеран


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


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

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


Цитата CryptoNick:
Вот бы вернулся Олег, и подправил.. »
Всеми частями тела "За"... Может есть какая-нибудь информация о нем?

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 12:38, 11-02-2017 | #1823


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


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

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


Цитата CryptoNick:
Готов даже финансово про стимулировать.... »
Поддерживаю...но что-то его не слышно давно.

Отправлено: 18:00, 11-02-2017 | #1824


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


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

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


Цитата ya158:
А чей же тогда PID? У двух процессов одинаковый PID? »
Да не, при двух процессах все нормально.
А это я писал для экстремального варианта, когда после первого запуска кликаешь еще 2 раза, например.
Тогда:
PID1 - первый
PID2 - второй
PID3 - третий
К моменту запроса из-за загрузки системы оба процесса могут получить именно так - PID3 последний (для одного он свой, для другого - чужой). Далее они оба пытаются убить последний, один убивает быстрее, второй получает код завершения TaskKill 128 (нет такого процесса). И далее может быть коллизия с вылетом из PreExtract в скрипт 7xSFX и повторным запуском разархивации и т.д.
Но это экстрим, как я уже писал. И словил его я именно при большой загрузке системы (Auslogic Defrag) и паре-тройке "повторных" запусков.

Отправлено: 18:17, 11-02-2017 | #1825


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


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

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


Цитата CryptoNick:
Со сторонними утилитами, выложенными в теме ранее, не хотите попробовать продолжить эксперименты? »
Кстати, а какой смысл использовать сторонние? Если уж использовать внешние программы, то родные MS.
Как там в Вечерах..."Тому не надо черта искать, у кого черт за спиной"
Я проверял - на W7x86/x64 и Win10x64 работают TaskList.exe и TaskKill.exe от XPSP3.
На WinPe не проверял - ну, попробуйте сами.
Файлы от английской 5.1.2600.5512 вот:
https://www.upload.ee/files/6663774/XP_SP3_EN.rar.html
В вызовах дописываете путь (нужно передавать в .cmd %%T) и дописываете .exe к имени задачи.
И все работает.
В принципе, тогда можно и /FI (фильтры) использовать на английском ('Tasklist /FO CSV /FI "IMAGENAME eq %XXXXXX%" /NH ').

Отправлено: 23:21, 11-02-2017 | #1826


Ветеран


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


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

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


Victor_Man,
Все равно немного недопонял с процессами.
Может это как раз из-за того, что на сильно загруженной системе разные копии инсталлятора пытаются запустить дополнительный файл z1_KillTask.cmd, причем, насколько я понимаю один и тот же... Попробуйте протестировать предложенный мною вариант без доп файла.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 23:50, 11-02-2017 | #1827


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


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

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


ya158, sov44
На усиленное тестирование не хватило времени и терпения...
Попробовал оба варианта и вот небольшое дополнение - нужно первой командой удалить SfxVarApiPath:
Код: Выделить весь код
cmd /c cd /d %TEMP%&rd /s /q \"%SfxVarApiPath%\"&...
А то остаются SfxVarApiPath в %TEMP%.
Ну а так в принципе оба решения вполне рабочие...только проблема одна все-таки обнаружилась, пока глубоко не копал:
Если далее программу вызывать с waitall:, то получаю такое сообщение:
DiskDefrag_Std_RU.exe: ошибка
------------------------------------
Произошла ошибка при выполнении DiskDefrag.exe
Неверная функция.
==================================
Никакого отношения к загрузке системы не имеет, т.к. и в спокойном состоянии то же самое.
Обидно...так красиво все получилось, может, посмотрите, как с другими программами?
Я просто уже не успеваю, может, это и c DiskDefrag только.
Хотя...тут проблема общая, наверное, т.к. по waitall: запускается второй процесс, вот он и киллится.
Но у меня почему-то такого не происходит, я тоже боялся раньше, когда делал вариант с .cmd, но при проверке проблем не обнаружилось и я дальше не копал.
В файле анализ такой (zz_M%=%%M):
Код: Выделить весь код
For /F "Tokens=1,2 Delims=," %%I In ('Tasklist /FO CSV /NH ') Do (If %%I=="%zz_M%" (Set PID=%%~J&&Set /a N+=1))
If %N% LEQ 1 goto NEXT  - это нормальный выход, иначе TaskKill
Вроде по логике то же самое.

Последний раз редактировалось Victor_Man, 12-02-2017 в 16:56.


Отправлено: 16:12, 12-02-2017 | #1828


Ветеран


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


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

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


Цитата Victor_Man:
DiskDefrag_Std_RU.exe: ошибка »
Может дело в DiskDefrag_Std_RU.exe? Попробуйте запустить другую программу, например, Блокнот.
Завтра попробую с каким-нибудь своим инсталлятором...

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 17:09, 12-02-2017 | #1829


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


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

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


Я вечером попозже тоже попробую. Но непохоже на DiskDefrag. Он стоит себе спокойненько, кликаю на сборке - вылетает первая копия.
Выхода из ExecuteOnLoad и повторной загрузки по RunProgram точно не было, там у меня Pause стояло для отладки.
Да, еще одно замечание:
TaskList без ключей выводит в формате колонок с разделителями=пробел.
Могут быть проблемы, если кто сделает сборку с пробелом в имени.

Отправлено: 17:37, 12-02-2017 | #1830



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




 
Переход