[Цитировать]

    KaSpieC 666
  • 260
  • Стаж: 9 лет 1 месяц
  • Сообщений: 787
  • Репутация:127

    [+] [-]
  • Откуда: Одесса
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

Предупреждение от KaSpieC 666


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


Последний раз редактировалось: KaSpieC 666 (2016-03-18 06:54), всего редактировалось 27 раз(а)

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет 3 месяца
  • Сообщений: 2495
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
21882
то я просто добавляю эту строчку с начало и все ?...
Так :)
cd /d %~dp0
Эта команда добавляется в начало скрипта (.bat, .cmd) но никак не в начало сценария, тем более
20831
;!@Install@!UTF-8! - Начало сценария.
...
...
...
;!@InstallEnd@! - конец сценария.
-P.S.
SV-2k10,
Ай, ай, ай, как нехорошо править свой пост после того, как я тебе ответил.
Ну тогда сейчас получается у тебя полусценарий-полускрипт какой-то. ag

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
21872
RunProgram="x86:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
RunProgram="x64:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
Это НЕ идентично записи: RunProgram="hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
Т.е., под х86 - будет работать одинаково. А вот под х64 "cmd /c start /b /w /d %%T скрипт.cmd" будет запущен из подсистемы по-умолчанию. В большинстве случаев это будет работа в х86-среде, без доступа к System32 (с подменой на SysWOW64).
Команда "cd /d %~dp0" добавляется в скрипт (скрипт.cmd) и назначит корневым каталогом каталог самого скрипта (скрипт.cmd). В сценарий её добавлять нельзя, это песня из другой оперы (DOS-команда). Если скрипт запускается из SFX-модуля, корневым будет назначен путь, указанный в переменной %InstallPath% сценария. Т.е., если наш бантик находится там же - нет смысла указывать. Но, если наш скрипт находится в подкаталоге (%InstallPath%\Подкаталог) и должен использовать файлы из своего подкаталога - тогда обязательно нужно назначить этот подкаталог корневым, иначе нужное будет искаться в %InstallPath% - и не найдется.

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
21875почитай в справке модуля, что такое префиксы x86: и x64:

Читал я … вот что написано ...

принимает значения x86 и x64 в зависимости от разрядности модуля
Из чего, ничего не понятно, принимает значения в месте или по раздельности ?
Из чего следует, что вроде как в каждый модуль надо писать свою строку, и вроде как “унисекс” не получится … по этому и уточняю …

sergeysvirid, Хорошо, понял …

Извини, сегодня воскресенье и на моей голове целый детский сад be … вот и приходится исправлять …
Я хоте привести какбы второй пример, уже не config-га а просто батника … но напутал чюток… ah
conty9, sergeysviridмужики, я все уразумел, conty9, ты абсолютно прав ... все, иду дописывать свой хелп

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
Теперь экзамен… ab
Чтобы при создании архива, не быть привязанным к папке на пр "C:\7z_test"
правильно ли я уразумел, что можно написать батник для работы из любой папки ?
@ echo off
cd /d "%~dp0"
COPY /b 7ZSD_LZMA.sfx + config.txt + Archive.7z "Test.exe"
exit

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
SV-2k10, Из папки, где находится батник.

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
Joker-2013, Да из нее, для удобства … Ежели все нормально (у меня работает), то по мне, его можно и в шапку добавить …

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
SV-2k10, Для удобства есть мой конструктор...
Я раньше сам мучился с батниками и конфигами, плюс замена иконки в редакторе ресурсов.
Ну, я думаю, что это должно остаться в прошлом...

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
Joker-2013, Тут я с тобой согласен, и иконку надо менять, и ресурсы …
Но на сколько я понимаю, тема создана для "классической работы" с архиватором, в ручную так сказать … так что думаю батнику тут как раз самое место …
Ну а программы, это уже (Параллельные темы) …
Ну да ладно, можно и не добавлять … потому, что как, выясняется, все кроме меня и так всё знают … ag

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
Я вот таким пользовался:
@ echo off
Title Create Executable
cd /d "%~dp0"
del /f /q archive.7z
cls
"7Zip\7zg.exe" a archive.7z .\CD_Root\* -m0=BCJ2 -m1=LZMA2:d25:fb255 -m2=LZMA:d21 -m3=LZMA:d21 -mb0:1 -mb0s1:2 -mb0s2:3 -mx
COPY /b 7zsd_LZMA2.sfx + config.txt + fake.rar + archive.7z "Execute.exe"
del /f /q archive.7z
start "" "Execute.exe"

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
Ну мой вариан, это всего лиш скромная правка оригинала от Щербакова.
У тебя же по насыщенней выглядит ...
Ну а если в двух словах, для меня (другие и так знают … ap ) то вчем разница ?

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
SV-2k10, в том что архиватором упаковывается на автомате.

[Цитировать]

    rockdgon
  • 1013
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 93
  • Репутация:0

    [+] [-]
Ребята, помогите советом, если кто нибудь знает как решить такую траблу:
Решил углубиться в 7ZipSfx тему и портаблов понаделать.
Сделал я сначала MPC-HC - https://cloud.mail.ru/public/mVmu/gaV7PnTRW и с этим плеером все в ажуре в плане ассоциаций файлов, достаточно запустить с ключами /regvid /regpl
А вот с PotPlayer [img]https://cloud.mail.ru/public/MFeT/2UFPoYqGG[/img] - для привязки ассоциаций сделал следующее:
1. Получил reg файл с данными для ассоциаций с помощью программы RegFromApp https://cloud.mail.ru/public/NAzQ/6wnrv97Kx
2. Конвертировал его в bat с помощью утилиты RegToScript от nikzzzz
3. И немного подредактировал, дело в том что после конвертирования reg>bat такие строки получались:
Reg.exe add "HKLM\SOFTWARE\Classes\PotPlayerMini.AVI\shell\Enqueue\command" /ve /t REG_SZ /d """C:\Users\admin\Desktop\PotPlayer11\PotPlayerMini.exe"" ""%%1"" /ADD" /f
Пришлось сделать по всему файлу автозамену по файлу с "" на "
Также при добавлении некоторых параметров в реестр появлялся запрос на перезапись и в целом я привет все к такому виду:
<nul echo Y|Reg add "HKLM\SOFTWARE\Classes\.avi" /ve /t REG_SZ /d "PotPlayerMini.AVI" /f
<nul echo Y|Reg add "HKLM\SOFTWARE\Clients\Media\PotPlayerMini\Capabilities" /v "ApplicationIcon" /t REG_EXPAND_SZ /d "%~d0%~p0PotPlayerMini.exe" /f
Удалось добиться практически идеальной работы install.bat (находится в упакованном PotPlayer), не импортировались только 3 циклично повторяющиеся строчки, т.е. по факту их больше, но они повторяются - вероятно очень похожи.
Все труды оказались напрасными потому что созданный архив отрабатывает как надо но данной привязки ассоциаций через реестр не достаточно, плеер не ставится основным по умолчанию(
Можете хотя бы потестить мое творение? Может у меня с виндой что то не так и все нормально работает..

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет 3 месяца
  • Сообщений: 1082
  • Репутация:62

    [+] [-]
Не изобретай велосипед, скачай установщик PotPlayer отсюда http://forum.oszone.net/thread-169368-89.html , распотроши и смотри как сделано

[Цитировать]

    rockdgon
  • 1013
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 93
  • Репутация:0

    [+] [-]
korsak7, вот это да! Спасибо не знал ab

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
rockdgon, Так напишите nikzzz в тему, он исправить утилиту.

Страница 3 из 10


Показать сообщения:    

Текущее время: 29-Мар 16:12

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы