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

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

 

Аватара для mfeef

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


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

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


specialist, Специалист! Ты крут! Лично я даже не знал что существует такая возможность.

Отправлено: 07:18, 24-10-2016 | #1781



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

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


Ветеран


Консультант


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

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


Извиняюсь за офтоп, немного дополню.
Цитата:
даже не знал что существует такая возможность.
для того чтобы она существовала, надо периодически самому заходить и сохранять в архив интересные вам страничку и сайты. И об этом надо думать заранее, а не когда уже это произойдет. А то может быть так, что зайдёте и нужного вам сайта в архиве нет. В том числе рекомендую сохранять и интересные вам темы на осзоне и т.д.
Есть ещё сайт http://archive.is/ но тут нельзя переходить по внутренним ссылкам (зато в него можно загонять странички из кеша яндекса, гугла )
PS. Как только узнал о смерти Гора, то постарался все странички его сайта (не только по модулям, а все) загнать в web.archive.org.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:24, 24-10-2016 | #1782


Аватара для specialist

Старожил


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

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


regist, да, дела... год какой-то печальный. надеюсь хоть форум ru-board не упадет в связи с кончиной его основателя.

-------
Все что было создано руками и умом одного человека, может быть изменено по своему образу и подобию другим. ICQ: 560-361 Блог: repacksbyspecialist.blogspot.com


Отправлено: 17:34, 24-10-2016 | #1783


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


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

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


Цитата sov44:
Malysh-ok, по крайней мере в модифицированном модуле 1.7.0 Develop, сборка 3873 эта функция работает. Папка *.sfx.api.* действительно не создаётся, однако запустить командную строку либо стороннее приложение всё-же возможно. »
Да, работает - команды можно запускать до распаковки.
Аналогично работает и PreExtract.
Кстати, наконец с этой функцией я сделал вариант предотвращения повторной загрузки...иногда бывает нужно.
Чтобы не портить первую загрузку (точнее - не портить распаковку первой загрузки, т.к. там могли быть изменения).
Вот пример для Terabyte Image for Windows:
https://www.upload.ee/files/6353432/...Sound.rar.html
Способ, кстати, универсальный: нужно вставить одну строку в файл конфигурации и один маленький .cmd в папку проекта.
Править строку и файл не нужно - все берется из переменных.
===========================================
А, пароль-то ru-board

Последний раз редактировалось Victor_Man, 15-11-2016 в 22:59.


Отправлено: 22:45, 15-11-2016 | #1784


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


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

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


Еще модифицировал, функции:
- Предотвращение запуска второй копии проекта для исключения нарушения работы первой копии.
- Восстановление измененных файлов и реестра в случае краха или случайной перезагрузки системы во время работы проекта.
https://www.upload.ee/files/6360739/...X_MOD.rar.html
Описание внутри.
Приложен пример для Minitool Partition Wizard.
Пароль - ru-board
=========================
Еще модернизировал - при крахе/перезапуске системы восстанавливается окружение.
Поэтому в сценарии завершения их можно все использовать.
Вроде теперь уже совсем универсально получилось.
https://www.upload.ee/files/6377275/PW91_Fix6.rar.html
Ну и окончательно добил по нюансам с32-битными программами на x64.
И добавил в инструкцию описание по созданию проекта. Приложены три разные проекта.
https://www.upload.ee/files/6397683/7zSFX_Fix9.1.rar.html
Теперь все как-то проще и единообразнее получается - берешь шаблон и правишь.
Попробовал на нескольких проектах - проблем не обнаружил (Win7x86, Win7x64, Win10x64).
================================================
В последней ссылке - Fix9 учтена поправка Ж.Д.А.Л.К.Е.Р. и добавлена небольшая защита от локального запуска файлов.
Теперь должна работать на ХP(кроме Home)/2003/7/2008 R2/8/10.
================================================
Небольшая модернизация z1_KillTask.cmd - корректное завершение при случайно оставшейся папке в %InstallPath%
https://www.upload.ee/files/6540914/...Fix10.rar.html
Текст z1_KillTask.cmd
Код: Выделить весь код
@echo off
:: Exit under the mistaken launch
if NOT "%zz_T%\"=="%~dp0" Exit
cd /d ""%~dp0"
rd "%SfxVarApiPath%"
For /F "Skip=1 Tokens=1,2 Delims=," %%I In ('Tasklist /FO CSV /FI "IMAGENAME eq %zz_M%" /NH ') Do (If %%I=="%zz_M%" Set PID=%%~J)
:: Kill our task, if it is the second
If Defined PID TaskKill /PID %PID% /T /F
:: Otherwise, finish the unfinished previous run and exit to 7zSFX script
if exist z3_Stop.cmd z3_Stop.cmd
По смыслу примерно то же, что [у]Ж.Д.А.Л.К.Е.Р[/b] тут
http://forum.oszone.net/post-2694448.html#post2694448
Плюс корректное удаление некорректно завершенного предыдущего старта (последняя команда - if exist z3_Stop.cmd z3_Stop.cmd).
========================================================================
Ну, и еще раз вернусь к этому вопросу. В предыдущем варианте использовался z1_KillTask.cmd от первого запущенного проекта.
Основная причина - на момент выполнения PreExtract нет еще никаких файлов (скриптов) для управления.
Сделал вариант v2 - скрипт создается непосредственно в команде PreExtract:

Решил отказаться от варианта с созданием z1_KillTask.cmd в команде PreExtract. Он вроде рабочий, но.....после длительного тестирования - запускал из .cmd несколько копий - он более чувствительный, иногда, хотя и редко, копии оставались в памяти. Реально таких многократных запусков быть не может, конечно, но, тем не менее, как говорится - лучшее враг хорошего.
Немного подшаманил V1 (мод. варианта Ж.Д.А.Л.К.Е.Р - должен работать на W2003:
https://www.upload.ee/files/6672538/7zSFX_MOD_v12.rar.html

Последний раз редактировалось Victor_Man, 14-02-2017 в 02:14. Причина: Обновление решения.


Отправлено: 14:45, 18-11-2016 | #1785


Аватара для magsood

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


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

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


How last version 7zsd?!

Отправлено: 14:17, 19-11-2016 | #1786


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


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

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


magsood,
http://forum.oszone.net/showthread.p...xe#post2480942
==========================================================
All - Еще модернизировал свое решение - см. пост выше.
http://forum.oszone.net/post-2688624.html#post2688624
Проверял на Win7x86, Win7x64, Win10x64.

Отправлено: 14:43, 23-11-2016 | #1787


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


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

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


Victor_Man, Молодец, круто придумал. Только вот... в WinPE может и не оказаться tasklist или taskkill и SFX(батник) выдаст ошибку...
А вообще, это очередной костыль... Автор мог бы и добавить команду убийства процесса в модуль...

Последний раз редактировалось vladshishkin, 24-11-2016 в 15:04.


Отправлено: 14:47, 24-11-2016 | #1788


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


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

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


vladshishkin,
Для WinPE оно не так и актуально, наверное. Защита от перезагрузки вообще не нужна.
А вот на реальной системе перезагрузка во время работы может прилично попортить систему.
Вот посидел немного, добил нюансы с 32-битными программами на x64.
Теперь все как-то проще и единообразнее получается - берешь шаблон и правишь.
Попробовал на нескольких проектах - проблем не обнаружил (x86, x64).
http://forum.oszone.net/post-2688624.html#post2688624

Отправлено: 01:05, 28-11-2016 | #1789


Аватара для Ж.Д.А.Л.К.Е.Р.

Ветеран


Contributor


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

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


Victor_Man,
Цитата Victor_Man:
- Предотвращение запуска второй копии проекта для исключения нарушения работы первой копии. »
Не работает на Windows Server 2003, Windows Xp Home. В 2003 поиск в tasklist не работает - tasklist /FO CSV /FI "IMAGENAME eq svchost.exe" /NH выдает "Ошибка: Фильтр поиска не опознан." А на Home не работает потому что в ней нет tasklist.exe, taskkill.exe файлов.


Упростил и добавил поддержку 2003:
Код: Выделить весь код
PreExtract="%%P:hidcon:cmd /c \"\"%%T\\KillDuplicate.cmd\" \"%%T\" \"%%M\"\""
KillDuplicate.cmd:
Код: Выделить весь код
Cd /d %1
Rd "%SfxVarApiPath%"
For /f "Tokens=1,2 Delims=," %%I In ('TaskList /fo CSV /nh') Do (
  If %%I==%2 (
    Set /a N+=1
    Set PID=%%~J
  )
)
If %N% EQU 1 Rd /s /q %1
If %N% GTR 1 TaskKill /pid %PID% /t /f
Проверял на Хр/2003/7/2008 R2/8/8.1/10.

Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 01-02-2017 в 15:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 28-11-2016 | #1790



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




 
Переход