Префиксы команд запуска

RunProgram="hidcon:fm0:nowait:install.cmd"
RunProgram="NoWait:HidCon:fM0:install.cmd"
RunProgram="nowait:hidcon:\"%ProgramFiles%\\install.cmd\""

Префикс

Описание

delX

Режим обработки параметров 'Delete' и 'DeleteX'. Где X может принимать значение 0 и 1, остальные значения игнорируются.

  • 0 - отключает выполнение параметра 'Delete' даже при отсутствии литерного 'DeleteX'
  • 1 - добавляет к выполнению параметра 'Delete' выполнение литерного 'DeleteX'

Если не указан литерный параметр 'DeleteX', то используется обычный 'Delete' (для обратной совместимости), а префиксы 'del0' или 'del1' просто принудительно отключают или включают его ('Delete') выполнение.

Если указано несколько префиксов 'delX' (в пределах одного типа команд запуска), то сработает только последний. Например, создан SFX архив с файлом конфигурации, содержащим следующие записи:

RunProgram="del0:setup.exe"
AutoInstall="setup.exe /S"
AutoInstall1="setup1.exe /S"
AutoInstall1="del1:setup11.exe /S"
AutoInstall1="del0:setup12.exe /S"
AutoInstall2="del0:setup2.exe /S"
AutoInstall2="setup21.exe /S"
AutoInstall2="del1:setup22.exe /S"
AutoInstall3="del0:setup3.exe /S"
AutoInstall3="del2:setup31.exe /S"
AutoInstall3="setup32.exe /S"
Delete="%%T\\Help_en.chm"
Delete1="%%T\\Help_ru.chm"
Delete2="%%T\\Help_ua.chm"

После запуска этого SFX архива:

  • без ключей - ни один из параметров 'Delete' НЕ сработает
  • без ключей с удерживанием клавиши [Shift] - сработает параметр 'Delete'
  • с ключом '-ai1' - сработает параметр 'Delete1'
  • с ключом '-ai2' - сработают параметры 'Delete' и 'Delete2'
  • с ключом '-ai3' - сработает параметр 'Delete'. Префикс 'del2' имеет недопустимое значение 2 и, поэтому, игнорируется, а заодно и отменяет действие предыдущего префикса 'del0'.
  • с ключом '-ai12' - сработают параметры 'Delete', 'Delete1' и 'Delete2'
  • с ключом '-ai21' - сработает параметр 'Delete1' и 'Delete2'
  • с ключом '-ai31' - сработает параметр 'Delete1'
  • с ключом '-ai132' - сработают параметры 'Delete', 'Delete1' и 'Delete2'
fmX

Режим/время отображения окна 'FinishMessage', где X:

  • 0 - не отображать окно
  • 1 - отображать окно
  • N (N= 2...999) - отображать окно в течение N секунд; обратный отсчет времени отображается на кнопке "OK", и по его истечении окно 'FinishMessage' закрывается и работа модуля прекращается

Можно указать принудительное отображение ('fm1','fmN') или блокирование ('fm0') окна 'FinishMessage' (если конечно 'FinishMessage' имеется в файле конфигурации) указанием соответствующего префикса перед командой, которую хотите выполнить. Например:

RunProgram="fm0:setup.exe"
AutoInstall="fm1:setup.exe"
AutoInstall3="fm20:setup.exe"

выполнит "setup.exe" и соответственно скроет окно 'FinishMessage' в первом случае (обычный режим), но покажет во втором и третьем (автоматический режим), хотя автоматический режим ('AutoInstall' или 'AutoInstallX') подавляет вывод окна 'FinishMessage' по умолчанию.

При множественных 'RunProgram' и 'AutoInstall'-ах используются только первый префикс 'fmX', встретившийся внутри исполняемого типа параметра ('RunProgram', 'AutoInstall' и 'AutoInstallX'). Он необязательно должен быть в первой строке внутри исполняемого типа. Например:

RunProgram="setup1.exe"
RunProgram="fm0:setup2.exe"
RunProgram="fm1:setup3.exe"

будет использован 'fm0', а 'fm1' игнорируется.

При отсутствии 'FinishMessage' в файле конфигурации - все префиксы 'fmX' игнорируются.

Данные префиксы могут быть ПЕРЕОПРЕДЕЛЕНЫ ключом '-fmX' в командной строке, которая имеет приоритет.

forcenowait

Заставляет не дожидаться окончания выполнения команды запуска.
По умолчанию команды запуска, в пределах каждого типа, обрабатываются в той последовательности, в которой указаны в файле конфигурации, при этом ожидается окончание предыдущей команды, а после этого запускается следующая. В случае присутствия префикса 'forcenowait', последующие команды, указанные в файле конфигурации, будут выполнены немедленно (запуск следующей программы, удаление каталогов, создание ярлыков и т.д.).

В отличии от префикса 'nowait' работает и при распаковке во временную папку.

hidcon

Скрывает консольные окна. Например:

RunProgram="hidcon:install.cmd"

выполнит "install.cmd" и полностью скроет его консольное окно.

nowait

Заставляет не дожидаться окончания выполнения команды запуска.
По умолчанию команды запуска, в пределах каждого типа, обрабатываются в той последовательности, в которой указаны в файле конфигурации, при этом ожидается окончание предыдущей команды, а после этого запускается следующая. В случае присутствия префикса 'nowait', последующие команды, указанные в файле конфигурации, будут выполнены немедленно (запуск следующей программы, удаление каталогов, создание ярлыков и т.д.)

При распаковке во временную папку префикс 'nowait' ИГНОРИРУЕТСЯ.

shcX

Режим обработки параметров 'Shortcut' и 'ShortcutX'. Где X может принимать значение 0 и 1, остальные значения игнорируются.

  • 0 - отключает выполнение параметра 'Shortcut' даже при отсутствии литерного 'ShortcutX'
  • 1 - добавляет к выполнению параметра 'Shortcut' выполнение литерного 'ShortcutX'

Если не указан литерный параметр 'ShortcutX', то используется обычный 'Shortcut' (для обратной совместимости), а префиксы 'shc0' или 'shc1' просто принудительно отключают или включают его ('Shortcut') выполнение.

Если указано несколько префиксов 'shcX' (в пределах одного типа команд запуска), то сработает только последний. Логика работы префикса аналогична префиксу 'delX'.

waitall

Заставляет дожидаться окончания выполнения команды запуска и всех "дочерних" процессов, запущенных этой командой.

x64

Команда запуска будет выполнена ТОЛЬКО в 64-х битной системе. При этом запуск программы, указанной в параметре, будет произведен в 64-х разрядной среде, независимо от разрядности самого модуля (x64 или x86).

При запуске в 32-х битной системе команда игнорируется и программа, указанная в параметре, выполнена НЕ будет.

x86

Команда запуска будет выполнена ТОЛЬКО в 32-х битной системе. При запуске в 64-х битной системе команда игнорируется и программа, указанная в параметре, выполнена НЕ будет.