OK.
Пример номер 1 (с временной папкой):
Код:
![Выделить весь код](images/misc/selectcode.png)
;!@Install@!UTF-8!
BeginPrompt="Install this program ?"
ExtractTitle="Prepare for install..."
RunProgram="setup.exe"
AutoInstall="setup.exe /s"
GUIMode="1"
;!@InstallEnd@!
BeginPrompt - читаем хелп к 7Zip
ExtractTitle - при распаковке вместо заголовка в диалоге "0% Extracting" будет "0% Prepare for install..."
После окончания распаковки будет запущен setup.exe БЕЗ КЛЮЧЕЙ. Но если в окне запроса "Install this program ?" мы нажмем "Yes" ВМЕСТЕ С Shift'ом будет выполнен
'AutoInstall' вместо
'RunProgram', т.е. выполнится
setup.exe /s. Точно такой же эффект будет, если в командной строке к нашему SFX архиву при запуске мы укажем -ai
GUIMode -
1 - показываем процесс распаковки (с заголовоком "Prepare for install..."), но убираем кнопку "Cancel" и "Закрыть", т.е. не даем пользователю прервать процесс распаковки, но пусть наблюдает.
2 - ПОЛНОСТЬЮ убираем диалог процесса распаковки. Он происходит молча.
После окончания распаковки выполняется 'RunProgram' (или 'AutoInstall', если выполнены условия описанные выше).
Если GUIMode не указан - диалог будет иметь стандартный (для 7Zip) вид, т.е. со всеми кнопками ("Cancel" и "Закрыть")
Указанный в конфиге GUIMode (или не указанный) может быть перезаписан при указании в командной строке ключа '-gmX'. Вместо 'X' может быть 0,1,2. 1 и 2 имеют тоже назначение, что и в GUIMode, 0 - переключает в стандартный режим со всеми конпками (родной 7Zip'овский).
В данном случае SFX модуль создает временную папку и УДАЛЯЕТ ее по окончанию выполнения 'RunProgram' или 'AutoInstall'
Пример номер 2 (с папкой установки):
Код:
![Выделить весь код](images/misc/selectcode.png)
;!@Install@!UTF-8!
BeginPrompt="Install this program ?"
RunProgram="setup.exe"
AutoInstall="setup.exe /s"
ExtractTitle="Prepare for install..."
GUIMode="1"
InstallPath="%PROGRAMFILES%\\test"
;!@InstallEnd@!
Все вышесказанное относится и к этому случаю, за исключением...
Распаковка архива производится в папку Program Files\test и содержимое этой папки по окончанию установки НЕ УДАЛЯЕТСЯ.
В режиме с 'InstallPath' наличие 'RunProgram' и/или 'AutoInstall' НЕОБЯЗАТЕЛЬНО. Если они не указаны - SFX модуль промолчит, если указаны - будут выполнены как в примере выше. Но в любом случае:
сам SFX модуль данную папку и ее содержимое удалять не будет.
Кстати, обратите на слэш в пути - ОБЯЗАТЕЛЬНО указывать двойной!
Вот вроде пока и все. Может сумбурно, но как сумел...