[Quote]

    KaSpieC 666
  • 260
  • Longevity: 10 years
  • Posts: 787
  • REPUTATION:127

    [+] [-]
  • Location: Одесса
HELP по созданию SFX!!!

Команды для сценариев SFX, с описаниями

;!@Install@!UTF-8! - Начало сценария.
-
GUIMode= - прогресс бар, отображается во время распаковки.

Возможные комбинации и скриншот функции

GUIMode="1" - вкл. прогресс бар во время распаковки (неактивна кнопка закрытия).
GUIMode="2" - выкл. прогресс бар во время распаковки.

-
GUIMode="0" - вкл. прогресс бар во время распаковки.
Работает кнопка закрытия и добавлена кнопка Отмена
-
MiscFlags="4" - готовый sfx, при запуске, будет требовать права Администратора.
-
OverwriteMode= - режим перезаписи файлов.

Возможные комбинации

OverwriteMode="2+8" - рекомендуемое значение!, можно вместо "2+8" писать "10" (без разницы).
Режим перезаписи файлов, где число, или сумма чисел равная сумме числовых значений, либо выражение "2+8". Порядок числовых значений в выражении может быть любой (обязательно в кавычках).
0 - перезаписывать все файлы (режим по умолчанию)
1 - не перезаписывать существующие файлы
2 - перезаписывать только те файлы, которые старее, чем в архиве/установке
8 - пропускать файлы заблокированные системой
Из значений 0, 1, 2 можно использовать только одно, но его можно комбинировать с числом 8
-
ExtractDialogText="Отображаемый текст" - текст, внутри консольного окна, отображаемый во время распаковки. Функция работает, при наличии вкл. прогресс бара!

Скриншот функции

-
ExtractTitle="Подождите..." - текст, на вкладке консольного окна, отображаемый во время распаковки. Функция работает, при наличии вкл. прогресс бара!

Скриншот функции

-
InstallPath="%Temp%\\папка" - путь, и папка распаковки sfx-а (указывать двойные слэшы в пути!).
Можно указывать полный путь, или добавлять переменные.
-
RunProgram= - запуск указанного файла, после распаковки.

Возможные комбинации

RunProgram="\"файл.exe\"" - запуск указанного файла, после распаковки.
-
RunProgram="hidcon:\"файл.exe\"" - скрытый запуск указанного файла, после распаковки.
-
RunProgram="hidcon:cmd.exe /c start \"\" \"%%T\файл.exe\"" - запуск файла с отвязкой от sfx (если был запуск sfx-а с флешки, то после запуска, флешку можно вытащить)
-
RunProgram="%%P:файл_%%P.exe" - при наличии в архиве файл_x86.exe и файл_x64.exe запустится тот, что соответствует разрядности.
файл_ - произвольное название файла
.exe - расширение (можно и батники)
x86 и x64 - обязательное окончание разрядности, в названии файлов.
-
Shortcut= - создание ярлыка.

Возможные комбинации с справкой

D - Создать ярлык на Рабочем столе
S - Создать ярлык в меню кнопки "Пуск"
P - Создать ярлык в меню "Пуск -> Программы"
T - Создать ярлык в папке "Автозагрузка
Ярлыки создаются ДЛЯ ВСЕХ пользователей. Для того, чтобы создать ярлык только для текущего пользователя, к указанным символам надо добавить u
Например - Du, Su, Pu, Tu,
Shortcut="Du,{%%T\\файл.exe}" - создать ярлык на рабочем столе (если нужно в другом месте, меняем с буквы D на S или P или T).
-
Shortcut="Pu,{%%T\\файл.exe},{},{папка1}" - создаст в "Пуск -> Программы", новую папку папка1, в которой будет ярлык на файл.exe.
В {} можно задать параметры запуска, например {/?} будет означать файл.exe /?
-
Shortcut="Pu,{%%T\\файл.exe},{},{папка1},{Текст1}" - создаст в "Пуск -> Программы", новую папку папка1, в которой будет ярлык на файл.exe, с описанием (при наведении курсора) Текст1.
В {} можно задать параметры запуска, например {/?} будет означать файл.exe /?
-
Delete= - удалить выбранные файлы/папки, после закрытия запущенного файла.

Возможные комбинации

Delete="%%T" - удалить папку с расспакованными файлами, при закрытии запущенного файла/программы.
-
Delete="%%T\\файл.exe" - выборочное удаление файла/папки, при закрытии запущенного файла/программы.
Данную комбинацию, можно дублировать, для каждого файла/папки.
-
;текст - оставить подпись. Ставиться перед концом сценария.
-
;!@InstallEnd@! - конец сценария
Примечание!!!
Подчеркнутое - обязательные пункты!
Зеленым цветом - произвольные пути/названия/расширения
-

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

%ALLUSERSPROFILE%
C:\ProgramData
%APPDATA%
C:\Users\Имя пользователя\AppData\Roaming
%CommonProgramFiles%
C:\Program Files\Common Files
%CommonProgramFiles(x86)%
C:\Program Files (x86)\Common Files
%CommonProgramW6432%
C:\Program Files\Common Files
%COMPUTERNAME%
Имя компьютера
%ComSpec%
C:\Windows\system32\cmd.exe
%HOMEDRIVE%
Имя диска локальной рабочей станции, связанного с основным каталогом пользователя, (например: C:\)
%HOMEPATH%
Основной каталог пользователя, (например: \Users\Имя пользователя)
%LOCALAPPDATA%
C:\Users\Имя пользователя\AppData\Local
%LOGONSERVER%
Имя контроллера домена, использовавшегося для авторизации текущего пользователя.
%NUMBER_OF_PROCESSORS%
Количество процессоров в системе (фактически, количество ядер).
%OS%
Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
%Path%
Указывает путь поиска исполняемых файлов, (например: \Users\Имя пользователя)
%PATHEXT%
Список расширений файлов, которые рассматриваются операционной системой как исполняемые.
%PROCESSOR_ARCHITECTURE%
Архитектура процессора. Возможные варианты: x86, IA64, AMD64.
%PROCESSOR_IDENTIFIER%
Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER - пропущена буква).
%PROCESSOR_LEVEL%
Номер модели процессора.
%PROCESSOR_REVISION%
Ревизия процессора.
%ProgramData%
C:\ProgramData
%ProgramFiles%
C:\Program Files
%ProgramFiles(x86)%
C:\Program Files (x86)
%ProgramW6432%
C:\Program Files
%PUBLIC%
C:\Users\Public
%SystemDrive%
Диск, на котором расположен корневой каталог Windows, (например: C:\)
%SystemRoot%
Путь к корневому каталогу Windows, (например: C:\Windows)
%TEMP%
C:\Users\Имя пользователя\AppData\Local\Temp или C:\Windows\TEMP (зависит от имени входа в систему)
%TMP%
C:\Users\Имя пользователя\AppData\Local\Temp или C:\Windows\TEMP (зависит от имени входа в систему)
%USERDOMAIN%
Имя домена, которому принадлежит текущий пользователь.
%USERNAME%
Имя текущего пользователя.
%USERPROFILE%
Путь к профилю текущего пользователя, (например: C:\Users\Имя пользователя)
%WINDIR%
Каталог, в котором установлена Windows, (наприме: C:\Windows)
-

Модульные переменные

%%M - имя SFX архива без пути
%%P - платформа операционной системы; принимает значения x86 и x64 в зависимости от разрядности ОС
%%S - полный путь к файлу SFX архива
%%T - полный путь распаковки
Все перечисленные переменные (основные переменные среды, переменные среды при работе модуля и переменные модуля) разбираются и подставляются в следующих параметрах:
'AutoInstall'
'AutoInstallX'
'BeginPrompt'
'CancelPrompt'
'Delete'
'DeleteX'
'Directory'
'ErrorTitle'
'ExecuteFile'
'ExecuteOnLoad'
'ExtractCancelText'
'ExtractDialogText'
'ExtractPathText'
'ExtractPathTitle'
'ExtractTitle'
'FinishMessage'
'HelpText'
'InstallPath' (за исключением %%T, а также переменных, определенных параметрами 'SetEnvironment', если в них используется %%T)
'PasswordText'
'PasswordTitle'
'PreExtract'
'PreExtractX'
'RunProgram'
'string' параметра 'SetEnvironment'
'Title'
'WarningTitle'
-
-
Параллельные темы:Вопросы по SFX - обсуждение SFX программ. В шапке присутствует большое количество программ.Программы для создания/редактирования SFX-овSFX Config Editor - программа для быстрого просмотра и редактирования данные в вашем SFX
Редактирование файлов в SFX-архиве (ком. строка) и небольшое дополнение и объяснение-LZMA2SFX Packer - "простая" программа, для создания SFX
Easy7zSFX - "простая" программа, для создания SFX-7z SFX Constructor - всё в одном! Программа умеет всё!Справки, инструкции и т.д.Файлы конфигурации 7z SFX. Помощь и советы - ветка с обсуждениями на oszone

Warning from KaSpieC 666


Шапка, в режиме постоянного обновления/редактирования/исправление/дополнения.
Будьте аккуратны!!!


Last edited by KaSpieC 666 on 2016-03-18 06:54; edited 27 times in total

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
60197Какую функцию выполняет файл output.taw
А мы откуда знаем? Читайте в справке программы,которую хотите перепаковать...

[Quote]

    AVDB
  • 19853
  • Longevity: 7 years 1 month
  • Posts: 2
  • REPUTATION:0

    [+] [-]
Здравствуйте, Joker-2013!
Я просмотрел много источников, но я так и не выяснил этот нюанс.
В справке читаю:
Setup=<программа>
После удачного извлечения файлов SFX-модуль попытается запустить указанную <программу>. При этом перед запуском <программы > текущей папкой будет сделана та, в которую были извлечены файлы. Если в имени программы есть пробелы, то оно должно быть взято в кавычки.
Есть еще SFX-модули, ключи которые могут прописываться в строке Setup= ... в интернете полно информации, есть примеры - все доступно описано.
А вот если просто какой-то файл через пробел, просто после Setup=<программа> приписывался ... ну никто еще не описал.
Подскажите, пожалуйста, куда посмотреть, где почитать.

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
А мы откуда знаем? Читайте в справке программы,которую хотите перепаковать...
Что в моих словах было непонятно?
Setup=uploadit.exe output.taw
Так обычно запускаются файлы с параметром.
Ваш вопрос изначально некорректен. Нужно было хотя бы описать что перепаковываете и зачем.
Приложить ссылки на программу и сам sfx архив.

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Приветствую все ! aa
Вот решил написать самый простенький сценарий для “пустого” конфига (как шаблон), для удобства…
Вот думаю, какую комбинацию лучше выбрать…
Такую:
;!@Install@!UTF-8!
GUIMode="2"
RunProgram="Start.cmd"
;!@InstallEnd@!
Или такую:
;!@Install@!UTF-8!
GUIMode="2"
RunProgram="%%P:\"Start.cmd\""
;!@InstallEnd@!
Я понимаю, что это для определения разрядности, но меня интересует, как оно на практике себя ведет, и что лучше выбрать как за стандарт …

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
SV-2k10, Без
%%P:
и использовать при необходимости, если это реально чем то поможет...
Если бы это была понацея, то было бы включено по умолчанию.
А при бездумном включение, будет только хуже.

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Joker-2013, Ну вот как-то так я и подумал… точно будет лишним… Спасибо и с наступающими…

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Всех с наступающим !!! az
В общем вот такой вопрос, прошу помочь его решить…
Сделал я SFX для установки WinRAR-а, в архив положил, сам инсталлятор, папку с темами, ну и все что еще нужно…
Прописал вот такой сценарий, чтобы сначала открывался Info.jpg, а потом, WinRAR.exe, все нормально работает.
;!@Install@!UTF-8!
GUIMode="2"
RunProgram="Start.cmd"
;!@InstallEnd@!
Содержимое -Start.cmd
@Echo off
start "" Info.jpg
start "" WinRAR.exe
pause
Но CDM окно про этом остается открытым, и надписью про любую клавишу…
Открыто оно, потому что прописано (pause)… но стоит прописать закрытие ока на.пр
pause
exit
или
echo.
goto :exit (пробовал много чего еще...)
окно закрывается НО при этом тут же удаляются все файлы из временной папки куда распаковался SFX, кроме запущенного инсталлятора, в результате чего рар устанавливается “голеньким”…
Как можно прописать закрытие CMD окна, так, чтобы файлы не удалялись ?... Спасибо !

[Quote]

    timon45
  • 2835
  • Longevity: 9 years
  • Posts: 100
  • REPUTATION:8

    [+] [-]
  • Location: Беларусь
SV-2k10, если ты не указываешь 7z SFX параметр InstallPath= то происходит распаковка во временную папку и после выполнения всех RunProgram либо AutoInstall автоматическое удаление/очистка распакованного. если хочешь скрыть окно CMD добавь hidcon т.е. RunProgram="hidcon:Start.cmd" но только паузы там быть не должно т.е. cmd должен выполниться без твоего участия.

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
SV-2k10, Батник выкиньте нафиг... Он ну нужен...
Вообще, в моем конструкторе проще научится, так как он делает всё сам за вас и предоставляет результат...
Нужно запустить два раза
RunProgram=""
с разными действиями...
Так же у команды start есть параметры, в том числе и ожидание выполнения.
Получается что вы не батники не умеете писать, не конфиги. Берите справку и изучайте, всё предельно просто...

[Quote]

    timon45
  • 2835
  • Longevity: 9 years
  • Posts: 100
  • REPUTATION:8

    [+] [-]
  • Location: Беларусь
Итог если тебе нужно чтобы твой 7z SFX был распакован во временный каталог то добавь InstallPath="%temp%\\winrar_sv" и удален он будет только после запуска очистки диска или другого ПО.
Да и вообще зачем тебе этот cmd? можно обойтись без него. Вот к примеру "мой" установщик данной программы можешь вскрыть посмотреть.
https://yadi.sk/d/qZonMWM4SGmn3g
Joker-2013, опередил меня :)

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
timon45, Спасибо ! aa
Просто я не хочу прописывать запуск напрямую в конфиг SFX-а, а именно через батник, это важно
Как я написал, перед тем, как спросить, я перепробовал “все”, в том числе и "hidcon:Start.cmd"…
И про паузу, тоже писал, что поставил я ее принудительно, иначе не выходит …
Хорошо, посмотрю твой пример …
60497Получается что вы не батники не умеете писать, не конфиги.
Получается, что так…

[Quote]

    vovan1982
  • 214
  • Longevity: 11 years
  • Posts: 1182
  • REPUTATION:82

    [+] [-]
  • Location: Ростов-на-Дону
SV-2k10, ну не получается с паузой, сделай таймаут например 3-5 сек. А вообще и вправду, зачем батник, когда все решается средствами 7z'па?!

[Quote]

    sergeysvirid
  • 104
  • Longevity: 11 years
  • Posts: 2705
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
SV-2k10,
Привет дружище! aa
Попробуй в SFX-конфиге прописать по такому типу:
;!@Install@!UTF-8!
InstallPath="%Temp%\\WinRAR"
OverwriteMode="2+8"
GUIMode="2"
RunProgram="hidcon:waitall:\"Start.cmd\""
Delete="%%T"
;!@InstallEnd@!
...а в cmd-скрипте в конце не прописывай exit
После выполнения скрипта окно ком.строки и так закроется.
(ну как то в таком духе):
@echo off
cd /d %~dp0
start /wait %~dp0WinRAR.exe

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
vovan1982, aa
Привет Володя … Rar был приведен для примера, но в других случаях мне нужен батник…
Да дело же не только в этом… тут же замкнутый круг получается… с одной стороны тебе предлагают все это сделать быстро в программе, а с другой, говорят, что ты ничего не умеешь…
sergeysvirid, Приветствую Дружище ! aa
Твой “дуплет” отработал идеально – Спасибо ! с меня + в репу… ay
Всех с наступающими !!! az

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
60508тут же замкнутый круг получается… с одной стороны тебе предлагают все это сделать быстро в программе, а с другой, говорят, что ты ничего не умеешь…
так программа учит... выбираете желаемые настройки, смотрите получившийся конфиг, можно сразу и протестировать... не понравился результат, подправили настройки и вновь запустили...
Это я не в качестве рекламы, а для того что бы сподвигнуть вас к прочтению справки и изучение азов.
Надеюсь про команду start почитали?
Дело в том, что если все запущенные из SFX файлы завершили работу, то срабатывает самоудаление...
Нужно следить что бы они не закрылись раньше времени...

Page 8 of 10


Display posts:    

Current time is: 24-Jan 08:40

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum