Имена параметров зависят от регистра.
Большинство параметров может использоваться в качестве ключей командной строки при запуске SFX архива. Исключение составляют эти множественные параметры:
AutoInstall
AutoInstallX
Delete
DeleteX
RunProgram
Shortcut
ShortcutX
Одноименные параметры в файле конфигурации при этом будут переназначены (параметры в командной строке имеют приоритет), отсутствующие - будут добавлены. Возможные варианты записи параметров в командной строке:
sfx.exe -InstallPath="%ProgramFiles%\\IEPro" sfx.exe -SetEnvironment="Var1=E:\\totalcmd" -SetEnvironment="Var2=%%T\\" sfx.exe -FinishMessage="new_finish_message" sfx.exe -InstallPath="%Path7z%\\7zSFX_Tools" -FinishMessage="7z SFX Tools установлен!" -ai -gm2 -fm20
Имя_параметра="значение_параметра" |
Описание параметра и допустимых значений |
|---|---|
Распаковка / исполнение (команды и пути) | |
AutoInstall="command_auto_install" |
Команда для исполнения (множественная). Есть два режима - обычный, запускаемый из 'RunProgram' или 'ExecuteFile', и автоматический, запускаемый из 'AutoInstall'. АВТОМАТИЧЕСКИЙ режим установки может быть вызван двумя способами:
Без указанных выше манипуляций используется 'RunProgram' или 'ExecuteFile'. Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram' |
AutoInstallX="command_auto_install" |
Где X - литера варианта. В качестве литеры X допустимы [0...9], [A...Z], [a...z]. Команда для исполнения (множественная). Если предполагается использовать несколько вариантов автоматической установки, литеры 'AutoInstallX'-ам можно присваивать любые, даже не по порядку. При этом каждый из 'AutoInstallX' множественный. Например, 'AutoInstall3' может быть сколько угодно, так же как и 'AutoInstall7' или 'AutoInstall0'. Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram' |
Delete="file_or_folder_name" |
Команда удаляет указанный файл или папку ПОСЛЕ установки (множественная). ВНИМАНИЕ! Будьте осторожны, чтобы не указать что-нибудь вроде "C:\Windows" Допустимы переменные, обрабатываемые модулем, а также относительные пути. Текущей папкой при выполнении команд 'Delete' является папка, в которой находится SFX архив. Выполнение параметра 'Delete' может быть изменено префиксом 'delX'. |
DeleteX="file_or_folder_name" |
Где X - литера варианта соответствующей автоматической установки ('AutoInstallX'). В качестве литеры X допустимы [0...9], [A...Z], [a...z]. Команда удаляет указанный файл или папку ПОСЛЕ установки (множественная). Если указанное имя является папкой, то она будет удалена вместе со всем содержимым. Допустимы переменные, обрабатываемые модулем, а также относительные пути. Текущей папкой при выполнении команд 'DeleteX' является папка, в которой находится SFX архив. Синтаксис команды аналогичен команде 'Delete'. Если для автоматической установки не указано удаление, будет использован параметр по умолчанию, то есть, 'Delete'. Например, создан SFX архив с файлом конфигурации, содержащим следующие записи: RunProgram="setup.exe" AutoInstall="setup.exe /S" AutoInstall1="setup1.exe /S" AutoInstall2="setup2.exe /S" AutoInstall3="setup3.exe /S" Delete="%%T\\Help_en.chm" Delete1="%%T\\Help_ru.chm" Delete2="%%T\\Help_ua.chm" После запуска этого SFX архива:
Выполнение параметра 'DeleteX' может быть изменено префиксом 'delX'. |
Directory="path_to_command" |
Путь к папке команды исполнения 'RunProgram' (не путать с текущей папкой). Параметр оригинального SFX модуля архиватора 7-Zip. Может использоваться только для первого 'RunProgram'. Допустимы переменные, обрабатываемые модулем, а также относительные пути. Параметр необязателен, т.к. путь и команду можно указать прямо в 'RunProgram'. Например: RunProgram="notepad.exe" Directory="C:\\Windows\\system32\\" равнозначны RunProgram="C:\\Windows\\system32\\notepad.exe" |
ExecuteFile="command_for_executing" |
Команда для исполнения. Параметр оригинального SFX модуля архиватора 7-Zip. Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram' за исключением ключей для исполняемого файла, которых в ней быть не может. В случае необходимости ключи для исполняемого файла подставляются в 'ExecuteParameters'. |
ExecuteParameters="keys_command" |
Ключи для команды исполнения 'ExecuteFile'. Параметр оригинального SFX модуля архиватора 7-Zip. Параметр 'ExecuteParameters' необязателен, он нужен только в том случае, если необходимо передать что-то в командной строке для 'ExecuteFile'. |
InstallPath="path_to_extract" |
Указывает использовать ОПРЕДЕЛЕННЫЙ путь для распаковки. Если 'InstallPath' отсутствует (имеется в виду отсутствие параметра 'InstallPath' в файле конфигурации, или InstallPath="", или стирание пути, в соответствующем поле редактирования, после запуска архива), то распаковка происходит во ВРЕМЕННУЮ папку, которая будет УДАЛЕНА после распаковки и выполнения всех команд установки. Допустимы переменные, обрабатываемые модулем (за исключением %%T, а также переменных, определенных параметрами 'SetEnvironment', если в них используется %%T). ОБЯЗАТЕЛЬНО используйте ДВОЙНЫЕ обратные слеши в путях. Например: InstallPath="C:\\Windows\\system32\\test" InstallPath="%PROGRAMFILES%\\test" Допустимы относительные пути. Текущей папкой будет папка программы, из которой произведен запуск SFX архива. Например: InstallPath="test" создаст папку с именем "test" в папке программы из которой, произведен запуск SFX архива и распаковка произойдет в нее, InstallPath="." произведет распаковку прямо в папку программы, из которой произведен запуск SFX архива, а InstallPath="%%S" произведет распаковку прямо в папку, где находится SFX архив. Если создать папку или распаковать архив на носитель (например, CD-ROM) не удастся - будет выведена ошибка. Если нужно просто распаковать архив, 'InstallPath' должен присутствовать в файле конфигурации. При этом и 'RunProgram', и 'ExecuteFile' должны отсутствовать, а 'AutoInstall' и 'AutoInstallX' либо отсутствовать, либо присутствовать, но не должны быть запущены ([Shift]-ом или из командной строки). В противном случае будет запущен исполняемый файл из 'RunProgram', 'ExecuteFile', 'AutoInstall' или 'AutoInstallX'. Папка установки с распакованными данными в любом случае НЕ УДАЛЯЕТСЯ. |
OverwriteMode="x" |
Набор флагов, определяющий режим перезаписи файлов, где "x" число, равное сумме числовых значений флагов, либо выражение "2+8". Порядок числовых значений в выражении может быть любой (обязательно в кавычках).
Из значений 0, 1, 2 можно использовать только одно, но его можно комбинировать с флагом 8 по тому же принципу, как в 'GUIFlags'. Данный параметр может быть переопределен из командной строки ключом '-omX'. |
RunProgram="command_executing" |
Команда для исполнения (множественная). Параметр оригинального SFX модуля архиватора 7-Zip. Содержит имя исполняемого файла. Дополнительно может содержать: путь к исполняемому файлу (допустимы переменные, обрабатываемые модулем, а также относительные пути), префиксы и ключи для исполняемого файла. RunProgram="notepad.exe" RunProgram="C:\\Windows\\system32\\notepad.exe" RunProgram="fm0:nowait:7z_RU.chm" RunProgram="\"%%T\\Reader7Rus.msi\" /qn" RunProgram="hidcon:fm0:\"%%S\\install.cmd\" /Q" В двух последних случаях, при наличии ключей для исполняемого файла, путь и имя исполняемой программы заключаются в дополнительные кавычки. Префиксы и ключи для исполняемого файла при этом в дополнительные кавычки не включаются. |
SelfDelete="1" |
Удаляет SFX архив по окончании процесса. Данный параметр может быть переопределен из командной строки ключом '-sdX'. |
SetEnvironment="variable=string" |
Команда создания переменной (множественная). 'variable' - имя переменной, которое не должно совпадать с именами переменных, обрабатываемых модулем. Имена переменных модуля НЕ зависят от регистра. 'string' - значение переменной. Допустимы переменные, обрабатываемые модулем, которые могут быть и частью 'string'. Примеры написания: SetEnvironment="Var1=E:\\totalcmd" SetEnvironment="Var2=E:\\totalcmd\\" SetEnvironment="Var3=\"E:\\totalcmd\"" SetEnvironment="Var4=\"E:\\totalcmd\\\"" SetEnvironment="TC=\"%ProgramFiles%\\totalcmd\"" SetEnvironment="Var5=%%S\\TOOLS\\Total Commander" SetEnvironment="PathTC=%ProgramFiles%\\totalcmd" SetEnvironment="Var7=%PathTC%\\" SetEnvironment="Var8=\"%PathTC%\"" SetEnvironment="Timer=30" После создания переменной ее можно будет использовать так, например: AutoInstall="hidcon:cmd /c copy rdm.txt %Var2%DOC" RunProgram="cmd /c xcopy \"%%T\" %TC% /s /e /i /y" RunProgram="fm%timer%:hidcon:cmd /c echo" AutoInstall2="cmd /c xcopy Lang \"%Var8%Lang\" /s" AutoInstall2="hidcon:cmd /c copy ReadMe.txt %Var8%" AutoInstall2="hidcon:cmd /c copy Hist.txt %VAR8%" AutoInstall2="hidcon:cmd /c copy Keyb.txt %var8%" Созданные переменные могут использоваться как в параметрах модуля, так и в других программах (.cmd, .bat файлах) запущенных из модуля. |
Shortcut="type,{src_file_path}, |
Команда создания ярлыка (множественная). Каждый параметр, исключая 'type', должен быть заключен в фигурные скобки, параметры разделяются запятыми. Обязательными параметрами являются только 'type' и 'src_file_path'. Если какой-то параметр ярлыка не нужен - используйте пустые фигурные скобки '{}'. Неиспользуемые параметры, после ПОСЛЕДНЕГО ИСПОЛЬЗУЕМОГО, можно не указывать. Только переменные модуля %CommonDesktop%, %CommonDocuments%, %MyDocuments%, %MyDocs%, %UserDesktop%, %%M, %%S %%T и %%P, а также переменные, определяемые пользователем в параметрах 'SetEnvironment', разбираются и подставляются (будут подставлены ЗНАЧЕНИЯ этих переменных) во всех параметрах команды 'Shortcut'. Но реально их можно/нужно использовать только в трех параметрах: 'src_file_path', 'working_directory' и 'icon_file'. Пути в параметрах заключать в кавычки не надо, но не забывайте про двойные обратные слеши. Если вам потребуется указать где-нибудь фигурную скобку (например, в 'decription') используйте двойную, т.е. {"Это описание со {{скобками}}"} даст результат "Это описание со {скобками}". 'type' одно или двухсимвольное поле, которое может принимать следующие значения:
Ярлыки создаются ДЛЯ ВСЕХ пользователей. Для того, чтобы создать ярлык для текущего пользователя, к указанным символам надо добавить 'u', т.е. Shortcut="Du,{cmd.exe}" создаст ярлык на Рабочем столе текущего пользователя. 'src_file_path' - имя (или путь и имя) файла для которого надо создать ярлык. 'command_line_for_file' - ключи командной строки для запуска этого файла. 'folder_for_shortcut' - папка, в которой будет создан ярлык, т.е. Shortcut="Pu,{cmd.exe},{/?},{test}" создаст в меню "Пуск -> Программы" текущего пользователя папку "test", а в ней ярлык с именем "cmd.lnk" и параметрами запуска "cmd.exe /?". 'description' - описание ярлыка. 'shortcut_name' - имя ярлыка БЕЗ РАСШИРЕНИЯ. Если не указано - используется имя исходного файла, к которому добавляется .lnk. Т.е. Shortcut="P,{cmd.exe},{/?},{test},{Run cmd},{Run Command Line Help}" создаст в меню "Пуск -> Программы" для всех пользователей папку "test", а в ней ярлык с именем "Run Command Line Help.lnk" и параметрами запуска "cmd.exe /?" 'working_directory' - рабочая папка программы (т.е. текущая для нее при запуске). В свойствах ярлыка это параметр "Рабочая папка". 'icon_file' - путь и имя файла, в котором содержится иконка для ярлыка. 'icon_index' - номер иконки в файле, указанном в 'icon_file'. Выполнение параметра 'Shortcut' может быть изменено префиксом 'shcX'. |
ShortcutX="type,{src_file_path}, |
Где X - литера варианта соответствующей автоматической установки ('AutoInstallX'). В качестве X допустимы [0...9], [A...Z], [a...z]. Команда создания ярлыка (множественная). Синтаксис команды аналогичен команде 'Shortcut'. Если для автоматической установки не указано создание ярлыков, будет использован параметр по умолчанию, то есть, 'Shortcut'. Например, создан SFX архив с файлом конфигурации, содержащим следующие записи: RunProgram="setup.exe"
AutoInstall="setup.exe /S"
AutoInstall1="setup1.exe /S"
AutoInstall2="setup2.exe /S"
AutoInstall3="setup3.exe /S"
Shortcut="Du,{%%T\\mp.exe},{},{},{Play},{Player}"
Shortcut1="Pu,{%%T\\mp.exe},{},{},{Play},{Player}"
Shortcut2="Tu,{%%T\\mp.exe},{},{},{Play},{Player}"
После запуска этого SFX архива:
Выполнение параметра 'ShortcutX' может быть изменено префиксом 'shcX'. |
VolumeNameStyle="x" |
Определяет схему имён многотомного SFX архива. Если параметр отсутствует в файле конфигурации или его значение равно "0", то работает только такая схема: name.7z.001.exe - имя SFX архива (сделан из первого тома) name.7z.002 - второй том name.7z.003 - третий том ... Если параметр равен "1", то к первой схеме добавляется вторая и может использоваться любая из схем: name.exe - имя SFX архива (сделан из первого тома) name.001 - второй том (переименован) name.002 - третий том (переименован) ... |
Внешний видний вид | |
ExtractDialogWidth="x" |
МИНИМАЛЬНАЯ ширина окна диалога процесса распаковки, где "x" - ширина окна в пикселях. |
ExtractPathWidth="x" |
МИНИМАЛЬНАЯ ширина окон диалогов для ввода пути распаковки (отдельный 'ExtractPath' и совмещенный 'BeginPrompt' + 'ExtractPath'), где "x" - ширина окна в пикселях. Если после форматирования текста ширина окна получается меньше этого значения, оно расширяется до этой величины. |
GUIFlags="x" |
Набор флагов, изменяющий внешний вид диалоговых окон, где "x" число, равное сумме числовых значений флагов, либо выражение "2+4+128+1024". Порядок числовых значений в выражении может быть любой. Числовые значения определяют следующее:
Например, чтобы не отображать проценты в заголовке, но отображать под индикатором, использовать указание пути распаковки в отдельном диалоге и отображать в нем иконку, нужно указать GUIFlags="2+4+128+1024" или GUIFlags="1158" (2+4+128+1024=1158). Попытки сбросить неустановленный флаг или добавить уже установленный флаг - ИГНОРИРУЮТСЯ. Данный параметр может быть переопределен из командной строки ключом '-gfX'. |
GUIMode="x" |
Где x = 0, 1 или 2 (обязательно в кавычках, т.е. GUIMode="2")
Данный параметр может быть переопределен из командной строки ключом '-gmX'. |
MiscFlags="x" |
Набор флагов, разрешающий проверки и вывод диалоговых окон предупреждений ('WarningTitle'), где "x" число, равное сумме числовых значений флагов, либо выражение "1+2". Порядок числовых значений в выражении может быть любой. Числовые значения определяют следующее:
Данный параметр может быть переопределен из командной строки ключом '-mfX'. |
Progress="x" |
Где x = yes или no (обязательно в кавычках, т.е. Progress="no") Параметр оригинального SFX модуля архиватора 7-Zip. Progress="no" равнозначен GUIMode="2". Если в файле конфигурации вместе с 'Progress' будет указан 'GUIMode', или '-gmX' в командной строке, то 'Progress' будет проигнорирован, т.к. 'GUIMode', и '-gmX' имеют приоритет. |
Текст | |
Title="new_title" |
Изменяет заголовок (по умолчанию "7z SFX") следующих окон: 'BeginPrompt', 'CancelPrompt', 'FinishMessage' и 'HelpText'. Параметр оригинального SFX модуля архиватора 7-Zip. Если параметр отсутствует, то вместо 'Title' везде будет выводится имя SFX архива без расширения. Если имя SFX архива "не удалось определить", то будет выводиться значение по умолчанию. |
BeginPrompt="some_text" ![]() |
Вывод диалога с сообщением при запуске SFX архива. Параметр оригинального SFX модуля архиватора 7-Zip. В зависимости от флага 64 параметра 'GUIFlags' может принимать разный вид. Если флаг 64 присутствует - диалог 'BeginPrompt' объединен с полем редактирования пути распаковки как показано на рисунке ниже. Подавляют вывод окна (если оно указано) ключи командной строки: '-ai', '-aiX' и '-y'. |
BeginPromptTimeout="x" |
Определяет время отображения диалога 'BeginPrompt' или совмещенного диалога 'BeginPrompt' + 'ExtractPath' (как показано на рисунке ниже) и кнопку по умолчанию, где X:
Данный параметр может быть переопределен из командной строки ключом '-bptX'. Командная строка имеет приоритет. |
ExtractPathText="some_text" ![]() |
Сообщение над полем редактирования пути распаковки (по умолчанию "Путь распаковки:"). На рисунке показан совмещенный диалог 'BeginPrompt' + 'ExtractPath' (отсутствует флаг 128 параметра 'GUIFlags'). Отображаемый на кнопке "Да" обратный отсчет времени, определен параметром 'BeginPromptTimeout'. Путь в поле редактирования берется из 'InstallPath', но он может быть изменен пользователем. Отсутствие пути (имеется в виду отсутствие параметра 'InstallPath' в файле конфигурации, или InstallPath="", или стирание пути, в соответствующем поле редактирования, после запуска архива) повлечет распаковку во временную папку и удаление распакованных файлов по окончании работы. |
ExtractPathTitle="title_text" ![]() |
Изменяет заголовок диалога указания пути распаковки (по умолчанию "Путь распаковки"). Используется только в отдельном диалоге 'ExtractPath' (показанном на рисунке) для указания пути распаковки (флаг 128 параметра 'GUIFlags'). Если флаг 128 отсутствует, параметр 'ExtractPathTitle' игнорируется. 'ExtractPath' не является параметром модуля, а используется в справке только для обозначения диалога, показанного на рисунке. |
ExtractTitle="new_title" ![]() |
Изменяет заголовок окна распаковки (по умолчанию "Распаковка"). Можно указать что-нибудь вроде "Подготовка к установке". |
ExtractDialogText="text" |
Выводит указанный текст НАД индикатором процесса распаковки (ProgressBar-ом). Если не указан - текста просто не будет. |
ExtractCancelText="button_text" |
Изменяет текст кнопки (по умолчанию "Отмена") в диалоге распаковки на указанный. |
PasswordTitle="new_title" ![]() |
Изменяет заголовок окна ввода пароля, по умолчанию имя SFX архива (без расширения). Можно указать что-нибудь вроде "Архив зашифрован". |
PasswordText="text" |
Выводит указанный текст НАД полем ввода пароля (по умолчанию "Введите пароль"). |
CancelPrompt="cancel_dialog_text" ![]() |
Выводит диалог с текстом (по умолчанию "Вы действительно хотите отменить установку?") для подтверждения отмены (из любого диалога). Если флаг 256 параметра 'GUIFlags' отсутствует параметр 'CancelPrompt' игнорируется и окно не выводится. В противном случае окно выводится с тестом указанным в 'CancelPrompt', а если 'CancelPrompt' отсутствует, используется текст по умолчанию. Подавить вывод окна, если указано, можно из командной строки ключом '-y'. |
WarningTitle="title_for_warnings" ![]() |
Заголовок окна предупреждения (по умолчанию: "7z SFX: предупреждение"). Если параметр отсутствует, то вместо 'WarningTitle' в окне предупреждения будет выводиться имя SFX архива (без расширения) с добавление ": предупреждение". Если имя SFX архива "не удалось определить", то будет выводиться значение по умолчанию. Текст предупреждения определяет модуль: Недостаточно физической памяти. Распаковка может занять продолжительное время. или На диске недостаточно места для распаковки. Окна предупреждений могут быть скрыты флагами в параметре 'MiscFlags'. Подавить вывод окна, если указано, можно из командной строки ключом '-mfX'. |
ErrorTitle="title_for_errors" ![]() |
Заголовок окна сообщения об ошибке, надеюсь, Вы его ни когда не увидите Если параметр отсутствует, то вместо 'ErrorTitle' в окне сообщения об ошибке будет выводиться имя SFX архива (без расширения) с добавление ": ошибка". Если имя SFX архива "не удалось определить", то будет выводиться значение по умолчанию. |
FinishMessage="finish_message" ![]() |
После всех операций (распаковка, запуск программ, удаление файлов, создание ярлыков и т.д.) будет выведен диалог с текстом, содержащимся в 'FinishMessage'. При любой автоматической установке ('AutoInstall' или 'AutoInstallX') вывод диалога блокируется. Можно указать принудительное отображение 'FinishMessage' из командной строки ключом '-fm1' или '-fmN'. Подавить вывод окна можно ключами '-fm0' или '-y'. AutoInstall="hidcon:fm1:install.bat" отобразит сообщение, хотя это и автоматическая установка, а RunProgram="nowait:fm0:setup.exe" наоборот - запретит вывод 'FinishMessage'. Ключи командной строки имеют приоритет. Подставив в ключ '-fmX' или в префикс 'fmX' вместо X число 2...999, можно определить время отображения окна 'FinishMessage'. Обратный отсчет времени отображается на кнопке "OK", и по его истечении окно закрывается, и работа модуля прекращается. |
HelpText="some_text" ![]() |
Позволяет указать справочный текст, который можно вызвать, указав в командной строке ключ '-h' или '-?'. Будет выведен диалог с текстом, содержащимся в 'HelpText' и кнопкой "OK". После закрытия данного диалога работа модуля будет прервана (т.е. ничего не будет распаковываться и устанавливаться). Здесь можно указать тонкости установки данного SFX архива, ключи установки или все что захотите. |