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

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

 

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


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

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


Oleg_Sch
Цитата:
P.S. Возможно я вернусь к поддержке ANSI систем в версии 1.3, но ориентировочно это не раньше сентября-октября
Будет ли 7zS сборка ?

Отправлено: 18:15, 09-12-2007 | #411



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

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


Старожил


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

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


Единственное, что могу добавить к старому посту - решаемо, но есть проблема с Вин95 (наличие msvcrt.dll и не только)
Пока сказать больше нечего , надеюсь, будет решение. Но в каком виде, пока самому неизвестно

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


Отправлено: 14:29, 10-12-2007 | #412


Старожил


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

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


Пока суть-да-дело, предлагаю совместно создать ToDo на 1.3
Пока:
1. Отслеживание дочерних процессов для wait
2. Поддержка ANSI систем (Windows95 пока под вопросом)
3. Мультиязыковая поддержка (уже поступают запросы от других стран)
4. Проверка админских прав для установки приложения
5.
Цитата gora:
"Запретить" модулю проверку закомментированных строк. Комментарии, проверяться на синтаксис не должны.
6.
Цитата gora:
Разрешить использование "пустого" параметра RunProgram="" и RunProgram="fm20", а то сейчас приходиться использовать конструкции типа RunProgram="fm20:hidcon:cmd /c есно" с холостыми операциями.
7. Возможность записи/изменения реестра
8. (завязано на 7) - возможность деинсталяции приложения
9. Указание InstallPath в ком.строке, точнее замена (или создание, если не указан) содержимого InstallPath в файле конфигурации из командной строки.
-----------------------------------------------
10. Отдельным пунктом, потому как "отдельная песня"... Давно обещаный DHTML.

Дополняйте. Я "буду посмотреть" и принимать решения. Отвечу всем, независимо от полярности решения.

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


Последний раз редактировалось Oleg_Sch, 13-12-2007 в 09:08. Причина: Подробнее про п.9


Отправлено: 17:07, 10-12-2007 | #413


Аватара для gora

Ушёл из жизни


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

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


Мои предложения в TO DO. (позвольте пофантазировать )
1 Предусмотреть (например, за счет использование нового флага GUIFlags) изменение функции параметра InstallPath. Сейчас имеется возможность указать параметр InstallPath через ввод в соответствующем окне пути, но это будет путь распаковки, а не установки приложения, которые не всегда удобно совмещать. А так (при указании доп. флага), распаковка будет происходить во временную директорию и уже оттуда будет производиться установка в указанную пользователем директорию программы.
2 Сделать BeginPrompt множественный. Сейчас у пользователя имеется только одно окно какого либо выбора, (BeginPrompt или совмещенный BeginPrompt + ExtractPath) и если пользователю нужно иметь дополнительные запросы при установке приложения, то нужно прибегать к бат файлам с дополнительными утилитами вывода окон, или использовать принцип "матрешки".
3 Предусмотреть параметр таймера.
4 Предусмотреть возможность возврата, из запускаемого из модуля приложения, кода возврата, возможность анализа его в модуле и принятии решения о дальнейших действиях.
5 Очень не хватает хотя бы простейших логических операций типа IF ... ELSE. Понимаю, что это не CMD, но от этого не легче.
6 Расширить возможность использования "самодельных" переменных (SetEnvironment) в других параметрах в том числе и текстовых (Title, BeginPrompt, FinishMessage и т.д.).
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:23, 10-12-2007 | #414


Старожил


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

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


gora,
1 Если я правильно понял. Модуль позволит пользователю изменить InstallPath через тот же BeginPromt, но сам ее использовать будет ТОЛЬКО для подмены в параметрах файла конфигурации, нпр
Код: Выделить весь код
RunProgram="setup.exe /path=%%InstallPath"
подставит вместо %%InstallPath реальное содержимое (возможно измененное пользователем) InstallPath
Если так - это п.11

В версии 1.3 я собираюсь реализовать систему плагинов. Плагины можно будет подключать к готовому модулю (как сейчас файл конфигурации) простым copy /b. И многие задачи будут реализовываться через них. Это позволит каждому "сконструировать" модуль под свои задачи, соответственно и конечный размер модуля будет зависить от задач/подключенных плагинов.
Из моего предыдущего поста пункты 2,3,4,10 попадают под эту систему.
К чему это я ? То, что ваши пункты 2,4,5 лучше всего реализовать по данной схеме.

3 Можно реализовать префиксом "sleepXXX:", где XXX - время в миллисекундах. С учетом моего п.6 (исполнение отдельных префиксов без исполнения реальных программ) - вполне можете осуществить любую задержку.

6. Все понятно. Буду реализовывать.

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

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

Отправлено: 09:44, 12-12-2007 | #415


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


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

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


В TO DO

На данный момент меня расстраивает отсутствие только 2-х возможностей:
- Невозможно запоминать в реестре путь распаковки. Очень необходимо при установке апдейтов на уже установленные программы.
Вернее запомнить-то можно, создав свой ключ через RunProgram, а вот прочитать - не получается. Надеюсь, именно об этом и говорится в пункте 7.
Моё воображение рисует примерно такую картину:
Например после инсталяции основной программы прописываю ключ в реестр
RunProgram="hidcon:cmd /c reg ADD \"HKCU\Software\MySuperProgram\" /v \"InstallPath" /t REG_SZ /d \"%%T\" /f"
а впоследствии в апдейтах пользуюсь такой функцией
InstallPath="Reg,{HKCU\\Software\\MySuperProgram\\InstallPath},{%PROGRAMFILES%\\MySuperProgram}"
(второй параметр обязательно необходим и присваивается переменной в случае если прочитать значение из реестра не удалось по причине отсутствия ключа, прав на его чтение и т.п.)

- Очень хотелось бы увидеть чуть более разнообразную графику, чтобы была возможность придавать инсталятору ещё большую индивидуальность. Причём, мне кажется что особо мудрить и не надо, достаточно сделать один баннер фиксированного размера и дать возможность менять его через какой-нибудь reshack. По умолчанию можно сделать максимально простой баннер, чтобы он хорошо сжимался, и те пользователи кому он не нужен не почувствовали заметного учеличения объёма sfx модуля (1-2 кило максимум).
Лично мне очень симпатичен подобный внешний вид.
Было бы приятно видеть подобное вместо обычной иконки (да и технически реализовать не так сложно).

Последний раз редактировалось Speedy Gonzalez, 16-12-2007 в 03:04.


Отправлено: 02:07, 16-12-2007 | #416


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


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

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


gora,
Поддержу мысль насчёт логических операций. Иногда может быть необходимо.
В принципе, на первом этапе вполне хватило бы возможности сравнить строковые значения и переменные, а также было бы здорово если бы в логических функциях можно было проверить существование файла или папки.
Учитывая строение конфигурационного файла и чтобы не заморачиваться со скобками всякими можно было бы использовать подобную форму:
Код: Выделить весь код
IF %MyVar%="123abc"
RunProgram=...
AutoInstall=...
Shortcut=...
ENDIF

Отправлено: 03:02, 16-12-2007 | #417


Старожил


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

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


Цитата Speedy Gonzalez:
- Невозможно запоминать в реестре путь распаковки. Очень необходимо при установке апдейтов на уже установленные программы.
Буду учитывать при реализации...
Цитата Speedy Gonzalez:
- Очень хотелось бы увидеть чуть более разнообразную графику, чтобы была возможность придавать инсталятору ещё большую индивидуальность.
Это в мой п.10. Там можно будет (наработки уже есть) реализовать любой вид диалога, который позволит DHTML (читай - "как душе угодно"). Пока только одна проблема - наличие IE5 Для Вин2000 и младше - не проблема, но я собираюсь вернуться к поддержке Вин95 & 98. Если уж совсем проблематично будет, сделаю оговорку, что для DHTML требования другие. Пока разбираюсь с предметом (количество ВМ на компе уже 8 штук (и так понимаю неконечно, т.к. SP к той же 2000, нпр, играют роль) и в каждой надо протестировать )

Добавлю еще к своему ToDo п11:
Поддержка x64. Наконец-то я заимел XP 64-bit (не поверите, Microsoft раздает нахаляву 120 дней trial http://www.microsoft.com/windowsxp/6...cts/trial.mspx )
Так что осталось поставить и заняться, хотя сам пока на 64 bit пересаживаться не собираюсь, но надо смотреть в будущее

Вообщем, "у меня все ходы записаны" (с) Ильф & Петров, в смысле "copy-paste" я сделал

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


Отправлено: 14:39, 16-12-2007 | #418


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


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

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


Добрый день господа старожилы. Недавно занялся вопросом автоустановки с диска. Прочитал весь форум поэтому вопросу, возник вопрос: где в архиваторе находится командная строка, в которую и записывается подготовленная папка(вер.4.57)? И еще, если не трудно, можно для примера посмотреть конфиг файл приложения с установкой серийного номера, и активационного номера, например Фотошопа 9? Прошу прощения за юзерские вопросы, но очень уж хочется этим овладеть.

Отправлено: 11:39, 18-12-2007 | #419


Аватара для gora

Ушёл из жизни


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

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


Цитата SerWer:
Прочитал весь форум»
Позвольте Вам не поверить!!! Не знаю найдется ли на форуме человек который смог бы это осилить .
Цитата SerWer:
где в архиваторе находится командная строка, в которую и записывается подготовленная папка(вер.4.57)? »
См. справку, после этого вопрос отпадет, либо Вы сможете его грамотно сформулировать.
Цитата SerWer:
можно для примера посмотреть конфиг файл приложения с установкой серийного номера, и активационного номера »
Фотошопом не пользуюсь, но как пример:
Код: Выделить весь код
!@Install@!UTF-8!
Title="Установка EmEditor Professional Rus"
SetEnvironment="PathM=%ProgramFiles%\\EmEditor\\"
BeginPrompt="Сейчас будет установлен
EmEditor Professional 7.00 beta 32"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="emed700b32epx.msi /q REGKEY=XXXX-XXXX-XXXX-XXXX"
RunProgram="hidcon:cmd /c xcopy PlugIns \"%PathM%PlugIns\" /s /e /i /y"
RunProgram="hidcon:cmd /c xcopy mui \"%PathM%mui\" /s /e /i /y"
RunProgram="fm20:hidcon:cmd /c copy \"%PathM%mui\\1033\\emeditor.chm\" \"%PathM%mui\\1049\\emeditor.chm\""
RunProgram="REGEDIT /S EmEditor.reg"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
FinishMessage="EmEditor Professional 7.00 beta 32 установлен!"
;!@InstallEnd@!
Т.е. в строку RunProgram записывается имя оригинального инсталлятора с его ключами и серийным номером, если он (инсталлятор) поддерживает эти ключи.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:23, 18-12-2007 | #420



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




 
Переход