[Quote]

    KaSpieC 666
  • 260
  • Longevity: 4 years 9 months
  • Posts: 694
  • REPUTATION:117

    [+] [-]
  • 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]

    KaSpieC 666
  • 260
  • Longevity: 4 years 9 months
  • Posts: 694
  • REPUTATION:117

    [+] [-]
  • Location: Одесса
Так как команд очень много, решил добавлять в шапку только самые ходовые!
Буду признателен, за любую помощь или подсказки в теме!
P.S. решенные "вопросы" и предложенные команды/подсказки и т.д., после проверки - буду переноситься в шапку!
Чтобы ненужно было читать и выискивать ответ в теме.

Information from KaSpieC 666


Зарезервировано :)


Last edited by KaSpieC 666 on 2016-03-11 22:14; edited 2 times in total

[Quote]

    77777
  • 528
  • Longevity: 4 years 8 months
  • Posts: 563
  • REPUTATION:-6

    [+] [-]
20933Не пробовал, но логика подсказывает
RunProgram="%%P:ProgramName_%%P.exe"
при наличии в архиве ProgramName_x86.exe и ProgramName_x64.exe запустится тот, что соответствует разрядности.
Не лучшый метод, т.к. в диспетчере задач висят сразу 2 процесса ProgramName_%%P.exe и ProgramName.exe.
RunProgram="hidcon:x64:cmd.exe /c (del /q ProgramName.exe & rename ProgramName64.exe ProgramName.exe)"
RunProgram="hidcon:x86:cmd.exe /c (del /q ProgramName64.exe)"
RunProgram="hidcon:cmd.exe /c start ProgramName.exe"
Так предпочтительнее.

[Quote]

    SunOK
  • 9
  • Longevity: 5 years
  • Posts: 470
  • REPUTATION:28

    [+] [-]
  • Location: Україна, Перлина Поділля
aa SergeyZV, продолжаем теоретику: висят 2 процесса помимо самого %SFX%.exe? или на системе х32 запускается также процесс ProgramName.exe, хотя такого файла физически нет в архиве?
А после
RunProgram="hidcon:cmd.exe /c start ProgramName.exe"
%SFX%.exe как бы отработал и может не подчистить после себя ТЕМП. Зато можно вынимать носитель с SFX-архивом.

[Quote]

    77777
  • 528
  • Longevity: 4 years 8 months
  • Posts: 563
  • REPUTATION:-6

    [+] [-]
%SFX%.exe как бы отработал и может не подчистить после себя ТЕМП. Зато можно вынимать носитель с SFX-архивом.
Не спорю. Есть ньюансы.

[Quote]

    KaSpieC 666
  • 260
  • Longevity: 4 years 9 months
  • Posts: 694
  • REPUTATION:117

    [+] [-]
  • Location: Одесса
Ещё одно интерестно - как совместить в одну, эти две строчки (или в одном коде/скрипте их поместить):
RunProgram="hidcon:cmd.exe /c start \"\" \"%%T\файл.exe\"" - отвязка от sfx архива, после запуска
RunProgram="%%P:ProgramName_%%P.exe" - запуск sfx-а соответственной разрядности ОС.

[Quote]

    SunOK
  • 9
  • Longevity: 5 years
  • Posts: 470
  • REPUTATION:28

    [+] [-]
  • Location: Україна, Перлина Поділля
Так Joker-2013 писал же ранее, если я правильно успел заметить
RunProgram="hidcon:%%P:ProgramName_%%P.exe"
Тоесть теоретически
RunProgram="hidcon:%%P:cmd.exe /c start \"\" \"%%T\файл%%P.exe\""
правда не знаю нужно ли после хидкона переменная, если на обычной ОС запускать.

[Quote]

    SunOK
  • 9
  • Longevity: 5 years
  • Posts: 470
  • REPUTATION:28

    [+] [-]
  • Location: Україна, Перлина Поділля
О, я вычитал такое: платформенная секция(см. справку) определяет какой сценарий выполнять. Тоесть пишем файл для выбора что запускать:
;!@Install@!UTF-8:x86!
RunProgram="hidcon:cmd.exe /c start \"\" \"%%T\файл_x86.exe\""
;!@InstallEnd@:x86!
;!@Install@!UTF-8:x64!
RunProgram="hidcon:cmd.exe /c start \"\" \"%%T\файл_x64.exe\""
;!@InstallEnd@:x64!
hidcon в данном случае параметр. В контексте WinPE, в которой отсутствует подсистема х86, возникает вопрос: придется сразу делать с SFX-модулем х64 и тогда эта самораспаковка не запустится на 32-разрядной ОС? Тогда нет смысла в дополнительных секциях, пишем сразу конфиг х64.
Для обычной ОС и WinPE с поддержкой х86, нужно использовать модуль х86. umnik

[Quote]

    KaSpieC 666
  • 260
  • Longevity: 4 years 9 months
  • Posts: 694
  • REPUTATION:117

    [+] [-]
  • Location: Одесса
SunOK, Приветствую.
Тут на сайте, есть несколько способов, только я в них не разбираюсь:
RunProgram="x86:имя_программы_32.exe"
RunProgram="x64:имя_программы_64.exe"
;!@Install@!UTF-8:x86!
RunProgram="shmnview.exe"
;!@InstallEnd@:x86!
;!@Install@!UTF-8:x64!
RunProgram="shmnview-x64.exe"
;!@InstallEnd@:x64!
И тот, что в шапке.

[Quote]

    KaSpieC 666
  • 260
  • Longevity: 4 years 9 months
  • Posts: 694
  • REPUTATION:117

    [+] [-]
  • Location: Одесса
Доброго всем времени.
Немного обновил шапку.
Проверьте кто-то, создание ярлыка в ПУСК.
Shortcut="Su,{%%T\\файл.exe}"
У меня, чего-то тут создало (или так и должно быть?):

[Quote]

    Sinnersoul
  • 317
  • Longevity: 4 years 9 months
  • Posts: 10
  • REPUTATION:0

    [+] [-]
20942
- отвязка от sfx архива, после запуска
- запуск sfx-а соответственной разрядности ОС.
Я в таких случаях в своих sfx архивах использую батники, которые потом самоликвидируются.
Так проще al
https://dropmefiles.com/ipW0P

CentBrowser

CentBrowser sfx config

;!@Install@!UTF-8!
SetEnvironment="Name=CentBrowser"
SetEnvironment="Ver="
SetEnvironment="putb=%%S"
InstallPath="%TEMP%\\123Temp\\%Name%"
Title="%Name%"
BeginPrompt="     %Name% %Ver%\n\n******************************
Нажав [OK] -                  Распаковка %Name% в текущий каталог.
Нажав [SHIFT]+[OK] -     Запуск %Name%.
******************************
Ключи тихой установки:
-ai1   Установка %Name% %Ver% в APPDATA и вынесение ярлыка на раб. стол.
-ai2   Запуск %Name% без вопроса. (После выхода удаляется из временного каталога)
-ai3   Распаковка %Name% в текущий каталог без вопроса.
-ai4   Распаковка установочных 86.exe и 64.exe в текущий каталог
     Файл lnk.bat создаёт ярлык на рабочем столе.
"
ExtractDialogText="Подготовка..."
GUIMode="1"
GUIFlags="2+4+8+16+32+2048+4096"
MiscFlags="4"
ExtractTitle="%Name%"
;
RunProgram="hidcon:x64:cmd.exe /c move 64.exe %%S\64.exe"
RunProgram="hidcon:waitall:x64:cmd.exe /c start %%S\64.exe -nr"
RunProgram="hidcon:waitall:x64:cmd.exe /c del %%S\64.exe"
RunProgram="hidcon:x86:cmd.exe /c move 64.exe %%S\86.exe"
RunProgram="hidcon:waitall:x86::cmd.exe /c start %%S\86.exe -nr"
RunProgram="hidcon:waitall:x86:cmd.exe /c del %%S\86.exe"
;
AutoInstall="hidcon:Cent_temp.cmd"
AutoInstall1="hidcon:\"installbat.bat\""
AutoInstall2="hidcon:Cent_temp.cmd"
;
AutoInstall3="hidcon:x64:cmd.exe /c move 64.exe %%S\64.exe"
AutoInstall3="hidcon:waitall:x64:cmd.exe /c start %%S\64.exe -nr"
AutoInstall3="hidcon:waitall:x64:cmd.exe /c del %%S\64.exe"
AutoInstall3="hidcon:x86:cmd.exe /c move 64.exe %%S\86.exe"
AutoInstall3="hidcon:waitall:x86::cmd.exe /c start %%S\86.exe -nr"
AutoInstall3="hidcon:waitall:x86:cmd.exe /c del %%S\86.exe"
;
AutoInstall4="hidcon:waitall:cmd.exe /c move 64.exe %%S\CentBrowser64.exe"
AutoInstall4="hidcon:waitall:cmd.exe /c move 86.exe %%S\CentBrowser86.exe"
;
Delete="%TEMP%\\123Temp\\%Name%"
;!@InstallEnd@!

[Quote]

    KaSpieC 666
  • 260
  • Longevity: 4 years 9 months
  • Posts: 694
  • REPUTATION:117

    [+] [-]
  • Location: Одесса
Sinnersoul,
Ну, я пока на стадии изучения SFX. Вот, испробовал все варианты ярлыков - всё отработало. Только в одном вопрос появился.
Пытаюсь, из всей информации, отфильтровать самое нужное/используемое. И вношу в шапку.
А там уже посмотрим, может и батники поизучаю.

[Quote]

    SV-2k10
  • 437
  • Longevity: 4 years 8 months
  • Posts: 269
  • REPUTATION:19

    [+] [-]
Всем привет, помогите пожалуйста кто в теме, нужен пример (не сложный) кода для конфиг-а.
Проблема в том что в нем две функции … в корне архива буду лежать два файла test.ехе и test.reg.
•Нужно распаковать файл test.ехе в C:\Windows\System32\test.ехе
•И чтобы запустился рег файл (test.reg), но сам рег файл при этом не копировался в System32 и когда рег файл запустился, не задавался вопрос (вы хотите внести данные ?…) в общем так, чтобы все отработало в тихом режиме – спасибо.

[Quote]

    pokkk92
  • 447
  • Longevity: 4 years 8 months
  • Posts: 35
  • REPUTATION:0

    [+] [-]
  • Location: Украина, Днепропетровск
SV-2k10,
RunProgram="REGEDIT /S 2.reg"
2.reg ЭТО имя файла.
/S как я понимаю параметр скрытого запуска.
Во всяком случае этот код работает и мною проверен.
Но как сделать что бы он не копировался в систем не знаю... попробуйте код на удаление файлов...
Delete="\"%%T\файл.exe"
еще подумал:
1. По моему есть самоудаляющиеся батники?? а что если reg конвертировать в батник и сделать его удаляемым)
2. Распаковка SFX в темп, и последующий запуск reg в скрытом режиме и запуск распаковки файла в system32.

[Quote]

    gera_serg
  • 1171
  • Longevity: 4 years 4 months
  • Posts: 1401
  • REPUTATION:1

    [+] [-]
21718Но как сделать что бы он не копировался в систем не знаю...
Видимо выбрать другую директорию для распаковки и там произвести вместе с Зарегистрировать *reg копирование только трубуемого в Систем32
RunProgram="COPY...
или просто "COPY...

Page 1 of 8


Display posts:    

Current time is: 22-Nov 09:55

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