[Цитировать]

    KaSpieC 666
  • 260
  • Стаж: 9 лет 10 месяцев
  • Сообщений: 787
  • Репутация:127

    [+] [-]
  • Откуда: Одесса
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

Предупреждение от KaSpieC 666


Шапка, в режиме постоянного обновления/редактирования/исправление/дополнения.
Будьте аккуратны!!!


Последний раз редактировалось: KaSpieC 666 (2016-03-18 06:54), всего редактировалось 27 раз(а)

[Цитировать]

    ruslanishe
  • 19743
  • Стаж: 6 лет
  • Сообщений: 23
  • Репутация:-1

    [+] [-]
вроде получается что то создать в меню пуск не добавляется иконка почему то. может что то не так делаю если есть возможность подскажите хотя бы на примере Notepad++ спасибо

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
KaSpieC 666, я вроде сейчас все делаю при помощи 7z SFX Constructor. Нужная щука, благодаря Джокеру. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    ruslanishe
  • 19743
  • Стаж: 6 лет
  • Сообщений: 23
  • Репутация:-1

    [+] [-]
71818KaSpieC 666, я вроде сейчас все делаю при помощи 7z SFX Constructor. Нужная щука, благодаря Джокеру. aa
так помогите разобраться с этим.

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет
  • Сообщений: 1131
  • Репутация:77

    [+] [-]
  • Откуда: Ростов-на-Дону
ruslanishe, что там разбираться? Все на русском, справка на русском. Может стоит один раз попробовать собрать SFX ней самому?

[Цитировать]

    ruslanishe
  • 19743
  • Стаж: 6 лет
  • Сообщений: 23
  • Репутация:-1

    [+] [-]
71823ruslanishe, что там разбираться? Все на русском, справка на русском. Может стоит один раз попробовать собрать SFX ней самому?
у меня собирается прога устанавливает тоже все норм ну почему то нету в меню пуске самой проги что я собрал. вот может что то не то сделал почему нету

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
ruslanishe, конфиг свой покажите, для начала.

[Цитировать]

    ruslanishe
  • 19743
  • Стаж: 6 лет
  • Сообщений: 23
  • Репутация:-1

    [+] [-]
71825ruslanishe, конфиг свой покажите, для начала.
;!@Install@!UTF-8!
GUIMode="2"
SetEnvironment="sfx_homepage=7z SFX Constructor"
InstallPath="C:\\Program Files\\Notepad++"
RunProgram="x86:\"notepad++.exe\""
RunProgram="x64:\"notepad++.exe\""
;Project created in program 7z SFX Constructor
;!@InstallEnd@!

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет
  • Сообщений: 1131
  • Репутация:77

    [+] [-]
  • Откуда: Ростов-на-Дону
ruslanishe, у вас нет в конфиге параметра Shortcut

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
Нужно что-то вроде этого:
Shortcut="Pu,{%%T\\notepad++.exe},{},{Notepad++},{Текст подсказки для notepad++}"

[Цитировать]

    ruslanishe
  • 19743
  • Стаж: 6 лет
  • Сообщений: 23
  • Репутация:-1

    [+] [-]
71829Нужно что-то вроде этого:
Shortcut="Pu,{%%T\\notepad++.exe},{},{Notepad++},{Текст подсказки для notepad++}"
ок сейчас попробую это добавить. ох получилось добавилось в меню пуск. спасибо большое всем кто помогал

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 9 лет 3 месяца
  • Сообщений: 527
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
Приветствую aa
Никогда не приходилось использовать сложные сценарии, всегда банальщина - распаковать во временную папку, запустить такой-то файл... Плюс, как правило, пользовался различными GUI, поэтому с темой знаком слабо.
Вопрос, есть ли возможность, вывести диалоговое окно при запуске SFX, с возможностью выбора файла для запуска?
Если нажали первую кнопку - запустить один файл, если вторую - другой.
Не скажу что провел масштабные поиски, но сложилось впечатление что искать бесполезно, и такого функционала нет
...
добавлять сторонний пускач, на базе pecmd или ещё чего-то, не хочется (чтобы лишний раз не нервировать антивирусы)

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
95426добавлять сторонний пускач, на базе pecmd или ещё чего-то, не хочется
Если применять на живых ОС-ях, то можно через VBS состряпать.
Сторонних утилит для организации диалоговых окон тоже в достатке.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
Читая в шапке описание понравилось:
7z SFX Constructor - всё в одном! Программа умеет всё!
Все или нет не знаю, но одно убедился, от кода внутри сбежать невозможно. Надо код и батники изучать, чтоб сделать нормальный репак. ab

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет 1 месяц
  • Сообщений: 489
  • Репутация:12

    [+] [-]
  • Откуда: СССР
вывести диалоговое окно при запуске SFX
Зачем???
все равно все распакуется
просто вместо программы пусть запускается меню, где можно выбрать программу
меню можно сделать на PureBasic, AutoIt

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 9 лет 3 месяца
  • Сообщений: 527
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
95433Сторонних утилит для организации диалоговых окон тоже в достатке.
95435меню можно сделать на PureBasic, AutoIt
Благодарю за ответ.
Прибегать к сторонним утилитам как раз не хотел, так как sfx сам по себе порой вызывает ложные реакции АВ, усугублять не охота))
У меня, собственно, не две программы, а два батника. Пока решил добавить третий, а в нем сделать выбор, и уже его запускать после распаковки. Вроде все норм)
...
Просто, думал вдруг в самом 7zip sfx модуле есть такой функционал, а если нет - то и ладно))
...
всем спасибо за помощь az

Страница 9 из 10


Показать сообщения:    

Текущее время: 03-Дек 20:29

Часовой пояс: UTC + 3


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