KaSpieC 666
- Стаж: 9 лет 9 месяцев
- Сообщений: 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 (2016-03-18 06:54), всего редактировалось 27 раз(а)
|
Отправлено: 10-Апр-2016 11:51
(спустя 1 месяц 1 день)
rockdgon
- Стаж: 9 лет 5 месяцев
- Сообщений: 93
- Репутация:0[+] [-]
|
korsak7, походу придется велосипед изобретать. Аддон PotPlayer ставиться через inf и привязан к папке Program Files, а я хочу чтобы у меня в произвольную установка происходила да еще и с ассоциациями, пусть и без плюшек в виде де-инсталла и отображения в "Программы и компоненты". А вообще можно совместить cmd + inf = универсальность(можно менять пути в установочном inf), только мне нужно найти решение замены слов в файле с помощью cmd. Что то похожее нашел тут http://winreview.ru/rabota-so-strokami-v-komandnyx-fajlax-windows-7/ - изучаю..Кажись нашел: (только как задать множественные замены, неужели дублировать код?)@echo off setlocal enabledelayedexpansion Set infile=DPMP.inf Set find=%%16422%%\PotPlayer\ Set replace=%~d0%~p0 @echo off setlocal enabledelayedexpansion set COUNT=0 for /F "tokens=* delims=," %%n in (!infile!) do ( set LINE=%%n set TMPR=!LINE:%find%=%replace%! Echo !TMPR!>>TMP.TXT ) move TMP.TXT 111%infile%
|
korsak7
- Стаж: 9 лет
- Сообщений: 1063
- Репутация:62[+] [-]
|
а я хочу чтобы у меня в произвольную установка происходила имхо блажь только мне нужно найти решение замены слов в файле с помощью cmd. Это плохое и велосипедное решение. В скрипте же есть путь установкиSetEnvironment="PathInst=%ProgramFiles%\\%Name%" тебе нужно просто вывести эту строку для редактирования при установке
|
rockdgon
- Стаж: 9 лет 5 месяцев
- Сообщений: 93
- Репутация:0[+] [-]
|
тебе нужно просто вывести эту строку для редактирования при установке но в данном случае дальнейшая установка проходит через DPMP.inf - ассоциации + ярлыки, а там пути к программе дефолтные %ProgramFiles%\\%Name%. Чтобы можно было вывести для редактирования и устанавливать куда захочется нужно чтобы DPMP.inf автоматом правился. Поэтому хочу сделать через промежуточный install.bat все это дело. Ну взбрело мне в голову многофункциональный portable сделать А теперь просьба: можете подсказать как этот код в одну строку записать:@echo off setlocal enabledelayedexpansion set COUNT=0 for /F "tokens=* delims=," %%n in (DPMP.inf) do ( set LINE=%%n set TMPR=!LINE:%%16422%%\PotPlayer\=%~d0%~p0! Echo !TMPR!>>"%temp%\TMP.TXT" ) move "%temp%\TMP.TXT" "111DPMP.inf" у меня не получается, пробовал через && и белиберда выходит а почему велосипедный? работает же
|
korsak7
- Стаж: 9 лет
- Сообщений: 1063
- Репутация:62[+] [-]
|
Этот установщик запрашивает путь установки. Я потерял нить мысли - ради чего ты мучаешься?
|
KaSpieC 666
- Стаж: 9 лет 9 месяцев
- Сообщений: 787
- Репутация:127[+] [-]
- Откуда: Одесса
|
Может кто подскажет, как прописать в сценарии, чтобы удалялась папка распаковки. Пробовал Delete="%%T" - папка остаёться... Также, пробовал полный путь указывать... С этим, я так и не разобрался (что, куда):24122что то типо того: RunProgram="hidcon: cmd.exe \c del File" или rmdir для папки 24126 Ждать закрытия программы Start /wait и удалять папку ac cd /d \Temp rmdir /s /q \Temp 24128 Start /wait программа.exe rmdir /S /Q c:\Users\DEMON\AppData\Local\Temp\папка можно попробовать процесс убить сначала taskkill /f /im программа.exe P.S. я часто встречал данную ситуацию, но не интересовался. А сейчас стало интересно. Вот сама программа (с которой сейчас играюсь) - https://yadi.sk/d/k8N1p0N6rTie7 Она портативная, при запуске создаёт рядом пару файлов.
|
Joker-2013
- Стаж: 9 лет 4 месяца
- Сообщений: 2053
- Репутация:120[+] [-]
- Откуда: из прошлого
|
KaSpieC 666, а ручками удаляется?
|
KaSpieC 666
- Стаж: 9 лет 9 месяцев
- Сообщений: 787
- Репутация:127[+] [-]
- Откуда: Одесса
|
Joker-2013, А то. После закрытия программы - удаляется. Думаю, что дело в том, что создаються дополнительные папки (но не уверен). P.S. я извиняюсь, всё в спешке делаю. Интернет вот-вот отключат, и я пытаюсь решить интересующие вопросы + качаю всё подрят
|
sergeysvirid
- Стаж: 9 лет
- Сообщений: 2582
- Репутация:127[+] [-]
- Откуда: 65 регион (GMT+11)
|
KaSpieC 666, Привет! Если временная папка после закрытия программы не удаляется, то это сто пудов остаётся запущеным какой-то фоновый процесс, который нужно или как-то "убивать" (после закрытия программы) ...или "забить" на это дело.
|
sergeysvirid
- Стаж: 9 лет
- Сообщений: 2582
- Репутация:127[+] [-]
- Откуда: 65 регион (GMT+11)
|
24136RunProgram="waitall:FolderSizes.exe" А до этого как прописывал?
|
KaSpieC 666
- Стаж: 9 лет 9 месяцев
- Сообщений: 787
- Репутация:127[+] [-]
- Откуда: Одесса
|
sergeysvirid, Как прога прописывала + кучи других вариантов (даже бредовые). Да и акцент я ставил на строчку Delete, и ещё пару бредовых вариантов. Инфы то нету, вот и эксперементирую методом "Тыка" Может и другие способы есть, но у меня не вышло иначе (папка не удалялась). Ссылку на файл я выкладывал выше, делал в 7ZipSFX_Constructor.
|
Отправлено: 14-Ноя-2016 05:21
(спустя 6 месяцев 10 дней)
vovhas
- Стаж: 8 лет 4 месяца
- Сообщений: 32
- Репутация:1[+] [-]
- Откуда: Vladivostok
|
Может кто в курсе, почему не выполняется команда в сценарии.RunProgram="x86:hidcon:cmd.exe /c move /y TEST %sfxFolder26%" В батнике она выполняется без проблем.Эта же команда для переменной %sfxFolder36% выполняется правильно.
|
Joker-2013
- Стаж: 9 лет 4 месяца
- Сообщений: 2053
- Репутация:120[+] [-]
- Откуда: из прошлого
|
может так? %%T\\TEST Не скрывайте консольное окно и посмотрите что пишет...
|
Страница 4 из 10
Текущее время: 21-Ноя 18:02
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|