[Quote]

    KaSpieC 666
  • 260
  • Longevity: 10 years
  • Posts: 787
  • REPUTATION:127

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

Warning from KaSpieC 666


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


Last edited by KaSpieC 666 on 2016-03-18 06:54; edited 27 times in total

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
SV-2k10, Скажу больше. Есть конвертер, который преобразует reg файлы в cfg (в сценарий модуля SFX)
Но я что то не помню где его скачать...
Кажется RegToScript, но у меня не вышло...

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Посмотрим, может еще кто что ни будь посоветует, ежели нет, то если объединить два совета pokkk92 + gera_serg, то тоже можно собрать некий выход…

[Quote]

    vovan1982
  • 214
  • Longevity: 11 years
  • Posts: 1182
  • REPUTATION:82

    [+] [-]
  • Location: Ростов-на-Дону
Joker-2013, какой-то конвертер reg выкладывал Nikzzzz.
SV-2k10, я бы сделал так
cd /d %~dp0
move /y test.exe %windir%\system32
regedit /S test.reg
start test.exe
exit
Еще можно добавить удаление test.reg и батника после отработки. Запакуй 7zip constructor со стартом батника после распаковки.

[Quote]

    sergeysvirid
  • 104
  • Longevity: 11 years
  • Posts: 2705
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
21722Посмотрим, может еще кто что ни будь посоветует
Привет! aa
Я бы наверное упаковал бы SFX с распаковкой в %TEMP% и запуском оттуда скрипта, в котором бы уже прописал копирование только test.exe в %WINDIR%\System32 и импортом данных из файла в реестр в "тихом" режиме.
По выполнении всех команд - выход и очистка темповой папки.
Как это правильнее сделать пока не знаю, но вот несколько полезных ссылок по этому моменту:
Команда XCOPY - копирование файлов и каталогов.
Команда MOVE - переименование или перемещение файлов и каталогов
Использование редактора реестра REGEDIT в командных файлах Windows
Команда START - запуск приложения в новом окне (P.S. ...так и не понял, нужно тебе после всего запускать приложение или нет)-P.S.
Изучай (если есть время) af , в любом случае это полезно будет знать. ab-В принципе, как посоветовал vovan19822 прописать в скрипте - это наверное и есть правильный вариант.
Команда MOVE здесь наверное даже более уместна, чем XCOPY bs

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Мужики, всем спасибо за советы ! sergeysvirid, ты правильно понял, запускать после распаковки ничего не надо
Вот уже битый час бьюсь, но ничего не получается …
пока не выяснил, что архив не хочет работать на папку System32, а посылает все в SysWOW64

как я только не пишу … даже так …
move /y test.exe C:\Windows\System32\
и так
move /y test.exe C:\Windows\System32
и так
move /y test.exe %windir%\system32
все равно шлёт в SysWOW64

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
SV-2k10, В начале темы написано как работать с x64
Есть ключи, для пере направления.


Last edited by Joker-2013 on 2016-03-18 21:02; edited 1 time in total

[Quote]

    Guest
  • REPUTATION:0

    [+] [-]
SV-2k10, в cmd, для того, чтобы под х64 не посылало на... SysWOW64, можно применять имя SysNative. Если же скрипт "унисекас" (и для х86, и для х64), тогда нужно прописывать разные пути (под х86 - %windir%\System32, а под х64 - %windir%\Sysnative).
If exist %windir%\SysWOW64 (move /y test.exe %windir%\Sysnative) Else (move /y test.exe %windir%\system32)
А для SFX есть префиксы - x86: или x64:.

[Quote]

    sergeysvirid
  • 104
  • Longevity: 11 years
  • Posts: 2705
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
SV-2k10,
21767пока не выяснил, что архив не хочет работать на папку System32, а посылает все в SysWOW64
Попробуй в конфиге SFX'а прописать так:
;!@Install@!UTF-8!
InstallPath="%TEMP%\\папка_распаковки"
MiscFlags="4"
GUIMode="2"
OverwriteMode="10"
RunProgram="x86:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
RunProgram="x64:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
Delete="%%T"
;!@InstallEnd@!

[Quote]

    KaSpieC 666
  • 260
  • Longevity: 10 years
  • Posts: 787
  • REPUTATION:127

    [+] [-]
  • Location: Одесса
sergeysvirid, Приветствую.
Не будет ли, в таком варианте, удаляться папка распаковки, раньше времени?

[Quote]

    sergeysvirid
  • 104
  • Longevity: 11 years
  • Posts: 2705
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
21777Не будет ли, в таком варианте, удаляться папка распаковки, раньше времени?
Скрипт же запускается с ключом ожидания выполнения /w

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Joker-2013, Ну от чего же ... читаю я … вот что нашёл … ag
20998Тут на сайте, есть несколько способов, только я в них не разбираюсь:
Я не зря написал именно в этой теме, потому как KaSpieC 666 изначально создал ее для не знатоков … ну типа тема где можно много раз задавать “тупые” вопросы … ap
Ребят – всем поучаствовавшим Спасибо ! вот теперь все заработало как надо !
Из всех советов можно сделать как минимум три варианта скрипта … в свободное время поиздеваюсь над всеми ay вариантами …

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
Вот сижу раскладываю по полочкам все уразуметое … ab
С примерами от vovan19822 и conty9, разобрался – все работает.
Во пара мелочей по примеру от sergeysvirid.
sergeysvirid привет, ты привел две сточки в месте в одном файле.
RunProgram="x86:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
RunProgram="x64:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
Ты имеешь в виду, что выбрать нужно одну в зависимости от разрядности ? или можно писать обе “унисекс” а система сама отработает тот который нужно ?

[Quote]

    Joker-2013
  • 1039
  • Longevity: 10 years
  • Posts: 2052
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
SV-2k10, почитай в справке модуля, что такое префиксы x86: и x64:

[Quote]

    sergeysvirid
  • 104
  • Longevity: 11 years
  • Posts: 2705
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
21872...или можно писать обе “унисекс” а система сама отработает тот который нужно ?
Привет! aa
нужно писать обе, а система сама отработает тот который нужно. bs

[Quote]

    SV-2k10
  • 437
  • Longevity: 10 years
  • Posts: 267
  • REPUTATION:21

    [+] [-]
sergeysvirid, Ну и последнее, вот по вот этому - cd /d %~dp0
Если я хочю, чтобы скрипт отработал из папки, то я просто добавляю эту строчку с начало и все ?...

Так :)

cd /d %~dp0
RunProgram="x86:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"
RunProgram="x64:hidcon:cmd /c start /b /w /d %%T скрипт.cmd"

Page 2 of 10


Display posts:    

Current time is: 24-Jan 07:52

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum