7-Zip и Саморапаковываюшийся архив SFX

Для ОС Windows
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 220
Зарегистрирован: Вс фев 17, 2019 17:47
Репутация: 4
Откуда: Вологодская область
Контактная информация:

7-Zip и Саморапаковываюшийся архив SFX

Сообщение Артём Мамзиков » Пн июн 01, 2020 21:24 #1

Скачать бесплатный архиватор 7-zip можно Тут с официального сайта
При установке обычного 7-zip .Exe или .msi следующие файлы
7-zip файлы.jpg
7-zip файлы.jpg
Как видим у нас тут есть только файл 7z.sfx

По сути это файл отвечает за стандартную упаковку самораспаковывающегося архива .exe
7-zip defult sfx.jpg
7-zip defult sfx.jpg
если мы ставим галку sfx расширение архива 7z меняется на exe

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

Например мы хотим чтоб самораспаковывающийся архив у нас ничего не спрашивал и запускал сразу установочный файл.

1. Для этого нам нужно выделить файлы в папке и добавить в обычный 7z архив
Создаем обычный 7z архив
У меня это будет install.7z
Создаем обычный 7z архив.jpg
Создаем обычный 7z архив.jpg
2. Далее рядом с эти архивом создать файл конфигурации
config.txt
Структура файла config.txt
Показать
Инфа взята от сюда

Расширение менять не нужно, кодировку также все остается в виде блокнота config.txt

Обязательные поля начало сценария и конец внутри набор команд может быть различным от необходимости!

;!@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@! - конец сценария

Цветным выделено- произвольные пути/названия/расширения


Модульные переменные применяемые в данном файле конфигурации
%%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
%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)

Примеры Файлов Конфигурации
Обновление Антивируса
Показать
;!@Install@!UTF-8!
GUIFlags="8+2048+4096"
GUIMode="2"
MiscFlags="4"
SetEnvironment="Version=1.1.8"
InstallPath="%WinDir%\\Temp\\Antivirus_updater"
Delete="%WinDir%\\Temp\\Antivirus_updater"
Title="Antivirus updater v%Version%"
BeginPrompt=" Script to update databases of antivirus distributions Live CD/USB.
Create Setting.ini in the same folder with %%M and run the script.
Run the script ?"
RunProgram="%%P:cmd /c Install-eng.cmd \"%%S\""
;!@InstallEnd@!
;!@Install@!UTF-8:Language:1049!
Title="Antivirus updater v%Version%"
BeginPrompt=" Скрипт для обновления баз антивирусных дистрибутивов Live CD/USB.
Создайте Setting.ini в одной папке с %%M и запустите скрипт.
Выполнить скрипт ?"
RunProgram=-
RunProgram="%%P:cmd /c Install-rus.cmd \"%%S\""
;!@InstallEnd@:Language:1049!
Cmd (тихая).txt
Показать
;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="fm0:hidcon:\"#FileRun\"#CmdLine"
;!@InstallEnd@!
Cmd.txt
Показать
;!@Install@!UTF-8!
InstallPath = "%ProgramFiles%\\#FolderName"
RunProgram = "fm10:hidcon:install.cmd"


GUIFlags="2+8+32+256"
MiscFlags="4"
GUIMode="1"
OverwriteMode="0"

HelpText = "Параметры запуска установщика:
-y подавлять запрос перед установкой
-fm0 подавлять сообщение об окончании установки
-gm2 подавлять диалог распаковки
"

Title = "Установка #FolderName #Version"
ExtractTitle = "Установка #FolderName #Version"
ExtractPathTitle= "Установка #FolderName #Version"
PasswordTitle = "Установка #FolderName #Version"
WarningTitle = "Установка #FolderName #Version - Предупреждение"
ErrorTitle = "Установка #FolderName #Version - Ошибка"

BeginPrompt = "Выполнить установку #FolderName #Version?"
CancelPrompt = "Вы действительно хотите отменить установку #FolderName #Version?"
FinishMessage = "Установка #FolderName #Version успешно завершена!"

PasswordText = "Введите пароль:"
ExtractPathText = "Выберите путь для установки #FolderName:"
ExtractDialogText="Идет распаковка..."
ExtractCancelText="Отмена"
;!@InstallEnd@!
Диалог
Показать
;!@Install@!UTF-8!
SetEnvironment="sfx_homepage={\rtf1{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}}{\colortbl ;\red128\green128\blue128;}\viewkind4\uc1\pard\cf1\i\f0\fs18 http://7zsfx.info\lang1049\f1\fs20\par}"
Title="7z SFX Tools"
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
The archive contains 7z SFX Tools:
\f1\cf2\b0\i\fs18\par\par
\bullet Modified 7z SFX modules\par
\bullet Special modified module with dialogues\par
\bullet 7z SFX Splitter for extracting components from an SFX archive\par
\bullet Help file for the module (CHM format)\par
\i0\fs16\par
\cf1
Shortcut to the help file will be created on your Desktop.\par
The help file will be launched automatically when extracted.
}"
ExtractDialogText="Please, wait..."
ExtractPathText="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204 Tahoma;}}
{\colortbl ;\red36\green88\blue178;}
\viewkind4\uc1\pard\b1\f0\fs16
\cf1\b0
Please, enter the extraction path:
}"
FinishMessage="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204 Century Gothic;}}
{\colortbl ;\red36\green88\blue178;}
\viewkind4\uc1\pard\b\f0\fs32
\cf1\b\pard\qc
\par
\par
\par
7z SFX Tools are successfully installed!
\par\pard
}"
CancelPrompt="Do you want to cancel the extraction?"
ExtractTitle="Extracting..."
Shortcut="Du,{%%T\\7zSD_EN.chm},{},{},{Help file for 7z SFX modified module},{Everything about 7-zip SFX modified module},{},{%%T\\7zsd_LZMA.sfx}"

GUIFlags="8+32+128+256+4096"
GUIMode="1"
InstallPath="%ProgramFiles%\\7z SFX Tools"
OverwriteMode="2"
MiscFlags="4"
RunProgram="fm20:nowait:7zSD_EN.chm"
Delete="%%T\\7zSD_RU.chm"
;!@InstallEnd@!
;!@Install@!UTF-8:Language:1049!
SetEnvironment="sfx_homepage={\rtf1{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}}{\colortbl ;\red128\green128\blue128;}\viewkind4\uc1\pard\cf1\i\f0\fs18 http://7zsfx.info\lang1049\f1\fs20\par}"
Title="Инструменты для 7z SFX"
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
Файл справки откроется автоматически после извлечения.
}"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204 Tahoma;}}
{\colortbl ;\red36\green88\blue178;}
\viewkind4\uc1\pard\b1\f0\fs16
\cf1\b0
Пожалуйста, введите путь распаковки:
}"
FinishMessage="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204 Century Gothic;}}
{\colortbl ;\red36\green88\blue178;}
\viewkind4\uc1\pard\b\f0\fs32
\cf1\b\pard\qc
\par
\par
\par
7z SFX Tools успешно установлены !
\par\pard
}"
CancelPrompt="Вы хотите прервать распаковку?"
ExtractTitle="Распаковка..."
Shortcut="Du,{%%T\\7zSD_RU.chm},{},{},{Описание модифицированного 7z SFX модуля},{Все о 7z SFX модуле},{},{%%T\\7zsd_LZMA.sfx}"

RunProgram=-
RunProgram="fm20:nowait:7zSD_RU.chm"
Delete=-
Delete="%%T\\7zSD_EN.chm"
;!@InstallEnd@:Language:1049!
Inf с Удаление
Показать
;!@Install@!UTF-8!
InstallPath = "%ProgramFiles%\\#FolderName"

SetEnvironment = "INF_File=#FolderName.inf"
SetEnvironment = "INF_Sect=DefaultInstall"


RunProgram = "fm10:\"%SystemRoot%\\System32\\RunDLL32.exe\" advpack.dll,LaunchINFSectionEx %%T\\%INF_File%,%INF_Sect%,,4,N"
RunProgram = "hidcon:\"%ComSpec%\" /c Move /y \"%%T\\%INF_File%\" \"%SystemRoot%\\Inf\""

GUIFlags="2+8+32+256"
MiscFlags="4"
GUIMode="1"
OverwriteMode="0"

HelpText = "Параметры запуска установщика:
-y подавлять запрос перед установкой
-fm0 подавлять сообщение об окончании установки
-gm2 подавлять диалог распаковки
"

Title = "Установка #FolderName #Version"
ExtractTitle = "Установка #FolderName #Version"
ExtractPathTitle= "Установка #FolderName #Version"
PasswordTitle = "Установка #FolderName #Version"
WarningTitle = "Установка #FolderName #Version - Предупреждение"
ErrorTitle = "Установка #FolderName #Version - Ошибка"

BeginPrompt = "Выполнить установку #FolderName #Version?"
CancelPrompt = "Вы действительно хотите отменить установку #FolderName #Version?"
FinishMessage = "Установка #FolderName #Version успешно завершена!"

PasswordText = "Введите пароль:"
ExtractPathText = "Выберите путь для установки #FolderName:"
ExtractDialogText="Идет распаковка..."
ExtractCancelText="Отмена"
;!@InstallEnd@!
Inf.txt
Показать
;!@Install@!UTF-8!
InstallPath = "%ProgramFiles%\\#FolderName"

SetEnvironment = "INF_File=#FolderName.inf"
SetEnvironment = "INF_Sect=DefaultInstall"


RunProgram = "fm10:\"%SystemRoot%\\System32\\RunDLL32.exe\" advpack.dll,LaunchINFSectionEx %%T\\%INF_File%,%INF_Sect%,,4,N"

GUIFlags="2+8+32+256"
MiscFlags="4"
GUIMode="1"
OverwriteMode="0"

HelpText = "Параметры запуска установщика:
-y подавлять запрос перед установкой
-fm0 подавлять сообщение об окончании установки
-gm2 подавлять диалог распаковки
"

Title = "Установка #FolderName #Version"
ExtractTitle = "Установка #FolderName #Version"
ExtractPathTitle= "Установка #FolderName #Version"
PasswordTitle = "Установка #FolderName #Version"
WarningTitle = "Установка #FolderName #Version - Предупреждение"
ErrorTitle = "Установка #FolderName #Version - Ошибка"

BeginPrompt = "Выполнить установку #FolderName #Version?"
CancelPrompt = "Вы действительно хотите отменить установку #FolderName #Version?"
FinishMessage = "Установка #FolderName #Version успешно завершена!"

PasswordText = "Введите пароль:"
ExtractPathText = "Выберите путь для установки #FolderName:"
ExtractDialogText="Идет распаковка..."
ExtractCancelText="Отмена"
;!@InstallEnd@!
Kaspersky_VRT.txt
Показать
;!@Install@!UTF-8!
Title="Kaspersky Virus Removal Tool"
GUIFlags="1+8+32+2048"
OverwriteMode="10"
InstallPath="%TEMP%\\2k10\\KasperVRT"
RunProgram="hidcon:cmd.exe /c if exist \"%%S\..\..\User.Config\Eng\" move /y Eng\*"
RunProgram="hidcon:cmd.exe /c rd /q/s Eng"
RunProgram="hidcon:Add_bases.cmd \"%%S\""
RunProgram="KAV.exe"
AutoInstall1="hidcon:cmd.exe /c if exist \"%%S\..\..\User.Config\Eng\" move /y Eng\*"
AutoInstall1="hidcon:cmd.exe /c rd /q/s Eng"
AutoInstall1="hidcon:Add_bases.cmd \"%%S\""
AutoInstall1="Updater.cmd \"%%S\""
AutoInstall2="hidcon:cmd.exe /c if exist \"%%S\..\..\User.Config\Eng\" move /y Eng\*"
AutoInstall2="hidcon:cmd.exe /c rd /q/s Eng"
AutoInstall2="hidcon:Add_bases.cmd \"%%S\""
AutoInstall2="hidcon:cmd.exe /c (copy /y \"%%S\ss_storage.ini\" .\)"
AutoInstall2="Updater.cmd \"%%S\""
Delete="%%T"
;!@InstallEnd@!
MSI.txt
Показать
;!@Install@!UTF-8!
SetEnvironment ="MSI_GUID={00000000-0000-0000-0000-000000000000}"
SetEnvironment ="MSI_Package=Setup.msi"
SetEnvironment ="MSI_CmdLine=/q /norestart"


RunProgram = "msiexec.exe /x \"%MSI_GUID%\" /q /norestart"
RunProgram = "fm10:\"%%T\\%MSI_Package%\" %MSI_CmdLine%"

GUIFlags="2+8+32+256"
MiscFlags="4"
GUIMode="1"
OverwriteMode="0"

HelpText = "Параметры запуска установщика:
-y подавлять запрос перед установкой
-fm0 подавлять сообщение об окончании установки
-gm2 подавлять диалог распаковки
"

Title = "Установка #FolderName #Version"
ExtractTitle = "Установка #FolderName #Version"
ExtractPathTitle= "Установка #FolderName #Version"
PasswordTitle = "Установка #FolderName #Version"
WarningTitle = "Установка #FolderName #Version - Предупреждение"
ErrorTitle = "Установка #FolderName #Version - Ошибка"

BeginPrompt = "Выполнить установку #FolderName #Version?"
CancelPrompt = "Вы действительно хотите отменить установку #FolderName #Version?"
FinishMessage = "Установка #FolderName #Version успешно завершена!"

PasswordText = "Введите пароль:"
ExtractPathText = "Выберите путь для установки #FolderName:"
ExtractDialogText="Идет распаковка..."
ExtractCancelText="Отмена"
;!@InstallEnd@!
UNIVERSAL.txt
Показать
;!@Install@!UTF-8!
InstallPath = "#InstallPath"
RunProgram = "#Prefix\"#FileRun\"#CmdLine"
RunProgram = "#PrefixX\"#FileRunX\"#CmdLineX"

GUIFlags="2+8+32+128+256"
MiscFlags="4"
GUIMode ="1"
OverwriteMode="0"

HelpText = "Параметры запуска установщика:
-y подавлять запрос перед установкой
-fm0 подавлять сообщение об окончании установки
-gm2 подавлять диалог распаковки
"

Title = "Установка #FolderName #Version"
ExtractTitle = "Установка #FolderName #Version"
ExtractPathTitle= "Установка #FolderName #Version"
PasswordTitle = "Установка #FolderName #Version"
WarningTitle = "Установка #FolderName #Version - Предупреждение"
ErrorTitle = "Установка #FolderName #Version - Ошибка"

BeginPrompt = "Выполнить установку #FolderName #Version?"
CancelPrompt = "Вы действительно хотите отменить установку #FolderName #Version?"
FinishMessage = "Установка #FolderName #Version успешно завершена!"

PasswordText = "Введите пароль:"
ExtractPathText = "Выберите путь для установки #FolderName:"
ExtractDialogText="Идет распаковка..."
ExtractCancelText="Отмена"
;!@InstallEnd@!
Пример.txt
Показать
;!@Install@!UTF-8!
;SetEnvironment = ""

InstallPath = "#InstallPath"

RunProgram = "fm10:\"#FileRun\"#CmdLine"
AutoInstall = ""

Shortcut = "Тип (Desktop/Start/Programs/auTorun + uSER),{Файл},{Параметры запуска},{Группа ярлыка},{Описание ярлыка},{Имя ярлыка},{Рабочая папка},{Иконка},{Номер иконки}"

Delete = ""

GUIFlags="2+8+32+64+256+2048+4096"
MiscFlags="4"
GUIMode="0"
OverwriteMode="0"

HelpText = "Параметры запуска установщика:
-y подавлять запрос перед установкой
-fm0 подавлять сообщение об окончании установки
-gm1 подавлять диалог выбора папки
-gm2 подавлять все диалоги распаковки
"

Title = "Установка #FolderName #Version"
ExtractTitle = "Установка #FolderName #Version"
ExtractPathTitle= "Установка #FolderName #Version"
PasswordTitle = "Установка #FolderName #Version"
WarningTitle = "Установка #FolderName #Version - Предупреждение"
ErrorTitle = "Установка #FolderName #Version - Ошибка"

BeginPrompt = "Выполнить установку #FolderName #Version?"
CancelPrompt = "Вы действительно хотите отменить установку #FolderName #Version?"
FinishMessage = "Установка #FolderName #Version успешно завершена!"

PasswordText = "Введите пароль:"
ExtractPathText = "Выберите путь для установки #FolderName:"
ExtractDialogText="Идет распаковка..."
ExtractCancelText="Отмена"
;!@InstallEnd@!
MiniScript.txt
Показать
;!@Install@!UTF-8!
;Project created in program 7z SFX Constructor
;!@InstallEnd@!
MultiSections.txt
Показать
;!@Install@!UTF-8!
GUIMode="1"
GUIFlags="4+8+32+64+2048+4096"
MiscFlags="4"
Title="#FolderName #Version"
BeginPrompt="Now installing #FolderName #Version."
ExtractTitle="Installing #FolderName #Version"
ExtractDialogText="Extracting files..."
FinishMessage="Installing #FolderName #Version finish!"
InstallPath="%ProgramFiles%\\#FolderName"
;Project test config китайский иероглиф 𦈘
;!@InstallEnd@!

; Hungarian
; Magyar
;!@Install@!UTF-8:Language:1038!
BeginPrompt="Telepítés alatt a #FolderName #Version."
ExtractTitle="Telepítés #FolderName #Version"
ExtractDialogText="Fájlok kicsomagolása..."
FinishMessage="#FolderName telepítése #Version Elkészült!"
;!@InstallEnd@:Language:1038!

; Russian
; Русский
;!@Install@!UTF-8:Language:1049!
BeginPrompt="Сейчас будет произведена установка #FolderName #Version."
ExtractTitle="Установка #FolderName #Version"
ExtractDialogText="Распаковка файлов..."
FinishMessage="Установка #FolderName #Version завершена!"
;!@InstallEnd@:Language:1049!

; Bulgarian
; Български
;!@Install@!UTF-8:Language:1026!
BeginPrompt="Сега ще се инсталира #FolderName #Version."
ExtractDialogText="Разопаковка на файловете..."
FinishMessage="Инсталирането на #FolderName #Version завърши!"
;!@InstallEnd@:Language:1026!

; Chinese (Simplified)
; 中文
;!@Install@!UTF-8:Language:2052!
BeginPrompt="正在安装 #FolderName #Version."
ExtractTitle="正安装 #FolderName #Version"
ExtractDialogText="提取文件中..."
FinishMessage="安装 #FolderName #Version 完成!"
;!@InstallEnd@:Language:2052!

; Ukrainian
; Український
;!@Install@!UTF-8:Language:1058!
BeginPrompt="Зараз буде встановлено #FolderName #Version."
ExtractTitle="Встановлення #FolderName #Version"
ExtractDialogText="Розпакування файлів..."
FinishMessage="Встановлення #FolderName #Version завершено!"
;!@InstallEnd@:Language:1058!

; Polish
; Polski
;!@Install@!UTF-8:Language:1045!
BeginPrompt="Teraz zostanie zainstalowany #FolderName #Version."
ExtractTitle="Instalacja #FolderName #Version"
ExtractDialogText="Rozpakowywanie plików..."
FinishMessage="Instalacja #FolderName #Version została zakończona!"
;!@InstallEnd@:Language:1045!
3. Далее сюда же закидываем файлик 7zS2.sfx

Вопрос!, а где его взять у нас же только 7z.sfx если мы его положим рядом и запустим команду
COPY /b 7z.sfx + config.txt + install.7z install.exe
У нас создастся самораспаковывающийся архив install.exe вроде все хорошо, но он никак не зацепил наш файл конфигурации config.txt
и получился такой же как из архиватора в графической оболочке делали выше.

7z.sfx версия для Windows.
7zCon.sfx Консольная версия.
7zS.sfx версия для Windows для установщиков.
7zSD.sfx версия для Windows для установщиков (использует MSVCRT.dll).
У меня файл в windows10 msvcrt.dll был у кого нет ставим
Visual C++ 2015 - установить две версии - x64 и x86 файл будет в 2х местах C:\Windows\System32\ и C:\Windows\SysWOW64\

7zS2.sfx находит setup.exeили первый исполняемый файл в пакете и запускает его.
7zSD.sfx использует, config.txt

Скачал я значит архив 920 7-Zip Extra: библиотека 7z, SFX для инсталяторов, плагин для Fare Manager

Взял от туда файлы 7zS.sfx и 7zSD.sfx пробую

COPY /b 7zS.sfx + config.txt + install.7z install.exe
и
COPY /b 7zSD.sfx + config.txt + install.7z install.exe

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

Копаю дальше

Скачиваю LZMA SDK: (C, C ++, C #, Java)
распаковываю смотрю мануалы \lzma1900\DOC\

Беру из папки \lzma1900\bin\ файл 7zS2.sfx
Выполняю команду
COPY /b 7zS2.sfx + config.txt + install.7z install.exe
Проверяю работает самораспаковывающийся архив работает с командами указанными в config.txt при формировании, но не со всеми он запускает в моем случае батник, но не распаковывает архив(

Все это проверенно на Windows 10

Дальше уже времени разбираться не было был скачен 7z SFX Constructor - всё в одном! Сам проект Скачать 7z-SFX-конструктор
И все сделано при помощи него
Пример 7z SFX Constructor.jpg
Пример 7z SFX Constructor.jpg
Так же есть раздельные версии
SFX Config Editor - программа для быстрого просмотра и редактирования данные в вашем SFX
Редактирование файлов в SFX-архиве (ком. строка) и небольшое дополнение и объяснение
LZMA2SFX Packer - "простая" программа, для создания SFX
Easy7zSFX - "простая" программа, для создания SFX

Вопросы по SFX - обсуждение SFX программ. В шапке присутствует большое количество программ.
Файлы конфигурации 7z SFX. Помощь и советы- - ветка с обсуждениями на oszone

Ответить Вложения 4

Вернуться в «Windows»