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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: Файлы конфигурации 7z SFX. Помощь и советы :.

Ответить
Настройки темы
.: Файлы конфигурации 7z SFX. Помощь и советы :.

Аватара для gora

Ушёл из жизни


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


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

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


Изменения
Автор: jameszero
Дата: 26-11-2019
Описание: зеркала
Эта тема создается специально для вопросов по 7z SFX архивам на базе модифицированных модулей от Oleg_Sch. Перед тем, как задать вопрос, обратите внимание, на перечисленные ниже ссылки.

Домашняя страница модулей: http://7zsfx.info (зеркала в теме по ссылке ниже)
Обсуждение модулей: http://forum.oszone.net/showthread.php?t=51547

В теме предполагается обсуждать вопросы написания файлов конфигурации для 7z SFX архивов, делится своими наработками, нестандартными и оригинальными решениями, расширяющими возможности использования модулей и т.п..

Лучшие варианты файлов конфигурации и оригинальные решения могут быть включены в справку по модифицированным модулям.

Полезные ссылки:
Список переменных, которые могут быть использованы в файле конфигурации модифицированного модуля.

FAQ:
  1. Вопрос: Как можно удалить необходимую папку ДО установки? Насколько я читал RunProgram, ExecuteFile, AutoInstall выполняются после распаковки.
    Ответ: Установка и распаковка это разные этапы работы модуля. До распаковки ни каких действий произвести нельзя, модуль этого не предусматривает. А после распаковки начинается установка и первыми командами установки можно удалить "любую" папку (конечно, если ее вообще можно удалить).
    Если Вы хотите удалить папку в которую нужно произвести установку программы, то распаковывайте SFX во временную папку, затем удаляйте, ту, которую хотите удалить, а затем производите установку/копирование/перемещение из временной папки, туда, куда сочтете нужным. Временная папка автоматически удалится после завершения работы SFX.


  2. Вопрос: Возможно ли 2 варианта распаковки? Например: запаковано 4 файла: 1.txt, 2.txt, 3.txt и 4.txt. В первом случае распакованы будут все файлы, а во-втором только 3.txt и 4.txt. Вариант распаковки выбирает пользователь?
    Ответ: Нет, такое невозможно. Всегда распаковываются все файлы из архива. После распаковки можно скопировать/переместить только нужные файлы в нужное место, или просто удалить ненужные.

Отправлено: 09:16, 21-03-2012

 

Аватара для gora

Ушёл из жизни


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

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


timon45
1 Это не конфиг, а синтаксис cmd.
2 А зачем проверять наличие процесса? Завершайте его в любом случае это будет проще.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:26, 19-01-2016 | #331



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

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


Аватара для minutka15

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


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

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


...

-------
We don't call 911


Последний раз редактировалось minutka15, 30-01-2016 в 05:19.


Отправлено: 00:47, 22-01-2016 | #332


Аватара для vavun

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


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

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


Приветствую всех!

Первый вопрос:
Существует ли документация по разметке и оформлению текста в модулях с диалогами ?

Имеется ввиду это



Код: Выделить весь код
BeginPrompt="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204 Century Gothic;}{\f1\fswiss\fprq2\fcharset204 Tahoma;}}
{\colortbl ;\red36\green88\blue178;\red255\green0\blue0;}
\viewkind4\uc1\pard\b\f0\fs26
Архив содержит инструменты для 7z SFX:
\f1\cf2\b0\i\fs18\par\par
    \bullet  Модифицированные 7z SFX модули\par
    \bullet  Специальный модифицированный модуль с диалогами\par
    \bullet  7z SFX Splitter для извлечения компонентов из SFX архива\par
    \bullet  Файл справки для модуля (CHM формат)\par
\i0\fs16\par
\cf1
Ярлык к файлу справки будет помещен на ваш Рабочий стол.\par
Файл справки откроется автоматически после извлечения.
}"

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

Второй вопрос:
Есть ли способ (или обходной путь) научить модуль раскрывать переменные, такие как %DATE% ?

Автор модуля мне ответил следующее
Цитата:
Раскрываются только системные переменные, которые Вы можете посмотреть с
помощью "set", %DATE% к ним не относится. Насколько я понимаю, это
внутренняя переменная cmd.
Суть вопроса в картинках



Заранее благодарю

-------
What if ...?


Отправлено: 02:26, 03-02-2016 | #333


Аватара для vavun

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


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

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


Еще один вопрос. Но тут интерес больше спортивный, чем практический

Длиннопост
Допустим:

Имеется main.bat, который запускается модулем после распаковки.

config.txt
Код: Выделить весь код
;!@Install@!UTF-8!
BeginPrompt="Install this program?"
FinishMessage="Done"
RunProgram="hidcon:waitall:main.bat"
;!@InstallEnd@!
main.bat
Код: Выделить весь код
@echo off
SetLocal EnableExtensions

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

set /a var1=2+2
start "First" cmd /c "Console_1.bat %var1%"

set /a var2=4+6
start "Second" cmd /c "Console_2.bat %var2%"

REM тем временем работа основного скрипта продолжается
timeout 3
echo.Result: Any text >%UserDesktop%\main.txt

exit /b
В процессе сложной и кропотливой работы main.bat создаются некоторые переменные, которые должны быть переданы двум консольным программам (в данном случае Console_1.bat и Console_2.bat)
Так что еще одним RunProgram не отделаться (или я просто не знаю как)
И работа всех трех (main.bat, Console_1.bat и Console_2.bat) должна продолжиться параллельно и независимо друг от друга

Console_1.bat
Код: Выделить весь код
@echo off
SetLocal EnableExtensions

REM имитация бурной деятельности
timeout 10
echo.The arguments is: %* >>%UserDesktop%\Console_1.txt
exit /b
Console_2.bat
Код: Выделить весь код
@echo off
SetLocal EnableExtensions

REM имитация бурной деятельности
timeout 7
echo.The arguments is: %* >>%UserDesktop%\Console_2.txt
exit /b
В результате все работает хорошо, модуль дожидается завершения всех дочерних процессов и после этого рапортует "Done", но появляются консольные окна условных консольных программ Console_1.bat и Console_2.bat, так как hidcon: на них уже не действует.



Вопрос1: как скрыть эти консольные окна средствами модуля? (при этом не распаковывая sfx.exe заново) Console_1.bat и Console_2.bat обязательно должны быть запущены из main.bat, чтобы можно было передать им переменные созданные main.bat в качестве аргументов
и
Вопрос2: Как можно передать модулю некую переменную полученную в результате работы запущенной им программы из предыдущего RunProgram, для использования её в следующем по порядку RunProgram ?
Пример:
Код: Выделить весь код
RunProgram="main.bat"
RunProgram="prog2.exe %main.bat_result%"
На данный момент пришло в голову только создание следующего костыля:
Скрытый текст
В конфигурационном файле объявляется переменная содержащая полный путь к sfx.exe
Допустим так
SetEnvironment="WRAP=%%S//%%M"

config.txt
Код: Выделить весь код
;!@Install@!UTF-8!
BeginPrompt="Install this program?"
FinishMessage="Done"
SetEnvironment="WRAP=%%S//%%M"
RunProgram="hidcon:waitall:main.bat"
;!@InstallEnd@!

Вызов Console_1.bat и Console_2.bat из main.bat происходит следующим образом:

Код: Выделить весь код
start "" "%WRAP%" -sfxwaitall:1 cmd /c "Console_1.bat %var1%"
main.bat
Код: Выделить весь код
@echo off
SetLocal EnableExtensions

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

set /a var1=2+2
REM start "First" cmd /c "Console_1.bat %var1%"
start "" "%WRAP%" -sfxwaitall:1 cmd /c "Console_1.bat %var1%"


set /a var2=4+6
REM start "Second" cmd /c "Console_2.bat %var2%"
start "" "%WRAP%" -sfxwaitall:1 cmd /c "Console_2.bat %var2%"

REM тем временем работа основного скрипта продолжается
timeout 3
echo.Result: Any text >%UserDesktop%\main.txt

exit /b

Console_1.bat и Console_2.bat остаются без изменений и более не показывают консольные окна и переменные полученные в результате работы main.bat передаются далее.
sfx.exe как положено дожидается завершения последнего дочернего процесса и рапортует "Done".

Опять же хочу напомнить, что интерес больше спортивный, чем практический

Заранее благодарю за ответы

-------
What if ...?


Отправлено: 05:19, 03-02-2016 | #334


Аватара для gora

Ушёл из жизни


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

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


Цитата vavun:
Существует ли документация по разметке и оформлению текста в модулях с диалогами ? »
Нет, не существует, но могу кратко рассказать как я делал то, что показано на Вашем скриншоте.
Открыл WordPad, написал нужный текст, подобрал нужные размеры и типы шрифта, цвета, отступы и т.д. Получил следующее:



Сохранил текст в формате rtf, вставил его в конфиг, удалил теги, которые мне показались лишними (каждый раз проверяя полученный результат запуском конфига через Кнопку).
Все!

Цитата vavun:
Есть ли способ (или обходной путь) научить модуль раскрывать переменные, такие как %DATE% ? »
Автор Вам ответил - нет, модуль этого не умеет, оно ему и не надо. Я вот подумал и не нашел реального применения такой фиче. Опишите конкретный случай такой необходимости, может быть можно найти другие пути. Но случай должен быть конкретный и реальный, а не высосанный из пальца.

Цитата vavun:
Но тут интерес больше спортивный, чем практический »
Как только станет практическим, приходите, порешаем...
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:44, 03-02-2016 | #335


Аватара для vavun

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


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

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


Цитата gora:
Открыл WordPad, написал нужный текст, подобрал нужные размеры и типы шрифта, цвета, отступы и т.д »
Вот за это огромнейшее спасибо
Поглядим, что из этого получится )

Цитата gora:
Опишите конкретный случай такой необходимости, может быть можно найти другие пути »
Цитата gora:
Как только станет практическим, приходите, порешаем »
Ну а как же интерес ? )
Практическая цель на данный момент одна: изучение возможностей модуля )
С реальными практическими целями пока трудностей не возникло, благо все довольно неплохо задокументировано )

Наверно вставить ссылку (кликабельную) таким образом не получится, а жаль

Код: Выделить весь код
BeginPrompt="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\colortbl ;\red0\green0\blue255;}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22{\field{\*\fldinst{HYPERLINK "http://forum.oszone.net/post-2602130-335.html"}}{\fldrslt{\ul\cf1 http://forum.oszone.net/post-2602130-335.html}}}\f0\fs22\par
}"

-------
What if ...?


Отправлено: 13:05, 03-02-2016 | #336


Аватара для vavun

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


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

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


Блин, никак

Скрин

-------
What if ...?


Отправлено: 13:36, 03-02-2016 | #337


Аватара для gora

Ушёл из жизни


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

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


Цитата vavun:
Ну а как же интерес ? )
Практическая цель на данный момент одна: изучение возможностей модуля »
Изучайте, экспериментируйте... Многие "нетрадиционные функции" SFX на базе модифицированного модуля есть результат таких экспериментов...
Вот как пример использования переменной %DATE% в диалогах модуля.
Код: Выделить весь код
;!@Install@!UTF-8!
RunProgram="fm0:hidcon:cmd /c \"\"%%S\\%%M\" -ai -SetEnvironment=\"dat=%DATE%\"\""
AutoInstall="fm20:hidcon:cmd /c Echo"
FinishMessage="Сегодня %dat%"
GUIMode="2"
;!@InstallEnd@!
Цитата vavun:
вставить ссылку (кликабельную) таким образом не получится »
Да, не получится, не поддерживается, не мучайтесь.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:04, 03-02-2016 | #338


Аватара для vavun

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


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

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


Цитата gora:
RunProgram="fm0:hidcon:cmd /c \"\"%%S\\%%M\" -ai -SetEnvironment=\"dat=%DATE%\"\"" »
Занятно )
Только условный sfx.exe дважды распаковывается, а это минус в случае больших архивов.

Поковыряюсь вечерком, может что придумаю

Цитата gora:
Да, не получится, не поддерживается, не мучайтесь. »
Да, я уже понял )

-------
What if ...?


Отправлено: 15:11, 03-02-2016 | #339


Аватара для vavun

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


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

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


Еще интересно, какие еще есть параметры на подобие -sfxwaitall ?

-sfxwaitall:0 равноценно RunProgram="
-sfxwaitall:1 равноценно RunProgram="hidcon:

Больше пока выяснить не удалось.
В исходниках смотрел, но я в этом ничерта не понимаю.

Пробовал действовать по логике
-sfxnowait
-sfxforcenowait

Но это не сработало )

Куда смотреть ?

-------
What if ...?


Отправлено: 15:43, 03-02-2016 | #340



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: Файлы конфигурации 7z SFX. Помощь и советы :.

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - VMware (все вопросы) 1 bit Программное обеспечение Windows 382 10-10-2019 23:34
WinRAR SFX .:[все вопросы]:. Devil-91 Автоматическая установка приложений 85 28-08-2013 15:37
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. Microsoft Windows 2000/XP 105 30-06-2010 11:58
Все вопросы о Wi-Fi vovikrus Хочу все знать 0 18-04-2010 09:53
Вопросы по теме "Кнопка для работы с 7z SFX архивами в Total Commander." ya158 Автоматическая установка Windows 2000/XP/2003 4 18-11-2009 22:20




 
Переход