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

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

 

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


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


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

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


Не задокументированные ключи SFX !!!

Просмотр диалоговых окон, готового проекта
Цитата:
-sfxtest:D:B Начальное окно
-sfxtest:D:P Выбор пути распаковки
-sfxtest:D:E:300 Прогресс распаковки
-sfxtest:D:C Сообщение отмены
-sfxtest:D:F -fm30 Финишное сообщение
-sfxtest:D:H Вывод справочной информации
-sfxtest:D:W Сообщение недостаточно места
-sfxtest:D:Z Сообщение о ошибка
-sfxtest:D:X Окно ввода пароля
Так можно тестировать дизайн диалогов, не собирая в проект
Цитата:
модуль -sfxtest:D:B -sfxconfig:путь к файлу конфигурации
Проверка синтаксиса (ошибок в сценарии)
Цитата:
модуль -sfxtest:cc -sfxconfig:путь к файлу конфигурации
Код возврата модуля:
0 - все хорошо
4 - ошибка в синтаксисе сценария

"Тихий" режим:
Цитата:
модуль -sfxtest:CC -sfxconfig:путь к файлу конфигурации
При использовании заглавных букв CC определяется только код возврата, а окно ошибки модуля на выводится


Запуск с повышением прав (от имени Администратора)
Цитата:
-sfxelevation
Равносильно ключу MiscFlags="4" в сценарии, без изменения манифеста.

Запуск с ожиданием закрытия всех запущенных дочерних процессов
Цитата:
-sfxwaitall:0
Равносильно префиксу waitall:

Последний раз редактировалось CryptoNick, 02-04-2017 в 23:56.

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

Отправлено: 19:33, 17-01-2017 | #1801



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

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


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


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

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


Еще раз вернулся к скриптам защиты от повторного запуска и сбоев:
http://forum.oszone.net/post-2688624.html#post2688624
Собственно, теперь скрипт формируется и запускается на выполнение прямо в PreExtract (в папке %SfxVarApiPath%):
Код: Выделить весь код
PreExtract="%%P:hidcon:cmd.exe /c \"(echo set zz_T=%zz_T:\\\\=\\%&echo 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^)&echo If Defined PID ^(cd /d \"%TEMP\"%^&rd /s /q \"%SfxVarApiPath%\"^&TaskKill /PID %PID% /T /F^)&echo If Exist \"%zz_T%\z3_Stop.cmd\" ^(cd /d \"%zz_T%\"^&call z3_Stop.cmd^))>z1_TaskKill.cmd\"&z1_TaskKill.cmd"
Одна дли-и-и-и-нная строчка но менять ее не нужно.
=====================================
Какая-то непонятная ситуация возникает - пока удалил

Последний раз редактировалось Victor_Man, 27-01-2017 в 14:06. Причина: Доработка


Отправлено: 02:39, 27-01-2017 | #1802


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


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

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


Ж.Д.А.Л.К.Е.Р.,
Только сейчас дошло, что проблема в /FI "IMAGENAME eq XXXX"....я прошлый раз не так понял.
2003 у меня нет, проверить негде.
Через полчасика переделаю, все-равно была еще ошибочка (ее я уже исправил).

Отправлено: 19:35, 27-01-2017 | #1803


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


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


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

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


Victor_Man, Так все работает????
Если такая длинная строчка, можно ее и на части разделить, для удобочитаемости...
Создавать, например, батник построчно...

Отправлено: 19:59, 31-01-2017 | #1804


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

Ветеран


Contributor


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

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


Victor_Man, Tasklist из 2003 сервера тупо не находит процесс если использовать встроенный фильтр, поэтому формируем список всех процессов и дальше его разбираем другими командами.
tasklist x86/x64 из 2003, переименовать чтоб имя не совпадало с системным и закинуть в одну из папок %Path%. Так на другой Windows (проверил на Хр х86 и 7 х64) можно воспроизвести проблему 2003-го Tasklist-а.


CryptoNick, Нет, там все по старому.
Цитата CryptoNick:
Создавать, например, батник построчно... »
Вот батник.

Отправлено: 10:42, 01-02-2017 | #1805


Аватара для magsood

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


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

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


How last version 7zsd?!

Отправлено: 14:03, 01-02-2017 | #1806


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


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


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

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


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

Отправлено: 14:32, 01-02-2017 | #1807


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


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

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


CryptoNick,
Так я так и делал, это в Preextract строчка одна, а .cmd создается многострочный.
V2 вроде рабочий, но.....после длительного тестирования - запускал из .cmd несколько копий - он более чувствительный, иногда, хотя и редко, копии оставались в памяти. Реально такого частого запуска не быть может, конечно, но, тем не менее, как говорится - лучшее враг хорошего. Немного подшаманил V1 (мод. варианта Ж.Д.А.Л.К.Е.Р) - должен работать на W2003:
http://forum.oszone.net/post-2688624.html#post2688624
Все-таки жалко, что Олег не сделал функции выхода из программы...но, что есть, то есть.

Последний раз редактировалось Victor_Man, 08-02-2017 в 13:22.


Отправлено: 20:40, 05-02-2017 | #1808


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


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

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


Кстати, столкнулся с еще одной "базовой" проблемой (долго не мог понять, в чем дело):
Windows всегда (наверное?) принимает в пути \\ за \
Для примера, вот так файл Test.txt распечатывается без проблем:
Код: Выделить весь код
@echo off
set "TEMP=C:\AA BB\"
echo %TEMP%
type "%TEMP%\Test.txt"
type "C:\\AA BB\\Test.txt"
Pause
А вот 7zSFX этого не понимает. С проблемой приходится сталкиваться, например, когда назначается:
Код: Выделить весь код
InstallPath="%TEMP%\PathProgram"
Все прекрасно работает, пока не попадается система, где назначен TEMP с концевым флэшем.
Этот флэш остается в InstallPath и при попытке загрузить программу по RunProgram 7xSFX не находит файл программы!
С одной стороны, вроде в %TEMP% слэша не должно быть, но явно нигде не указано.
И некоторые в процессе настройки системы под себя его ставят. В основном - "старые волки", которые еще DOS помнят.
И вот возникают проблемы с некоторыми программами, они часто неявные, непонятные и не критические, но...7z SFX этому пример.
Неприятно, т.к. мало ли куда может попасть разработанная сборка...всем заранее не укажешь, что %TEMP% без слэша д.б.
Реального универсального выхода из этой проблемы в 7zSFX я не нашел.
Ну, точнее, один есть - все делать через .cmd и cmd /c, но это выход не универсальный.
Может, кто-нибудь все-таки нашел?

Отправлено: 13:24, 08-02-2017 | #1809


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

Ветеран


Contributor


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

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


Цитата Victor_Man:
Windows всегда (наверное?) принимает в пути \\ за \ »
В справке по модифицированному модулю смотрим раздел "Файл конфигурации":
Цитата:
ВАЖНО! Следующие двухсимвольные последовательности в "значение_параметра" заменяются односимвольными:

\\ = \
\" = "
\n = перевод строки
\t = табуляция
Если надо указать обратный слеш (\) (например, в путях или тексте диалога), НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра" или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать обратный слеш (\") (правило "лидирующего слеша").

Двухсимвольные последовательности \n и \t зависят от регистра. Т.е., \N и \T НЕ будут заменяются односимвольными.

Отправлено: 21:44, 08-02-2017 | #1810



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




 
Переход