Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.
а почему во вторую строку не добавите hidcon »
Потому что, мне нужна работа батника с окном и без окна. Когда я SFX запускаю с ключом /S (у меня это ключ тихой установки), батник запускается с hidcon (первый RunProgram), когда нужно показать консольное окно батника, я запускаю SFX модуль без ключа тихой установки /S (запуск батника будет во втором RunProgram). И как я увижу окно батника во втором RunProgram с hidcon (запуск модуля без /S)? Все это я еще пояснил в первом абзаце своего сообщения.
Вопрос решен патчем 7zsd_LZMA2.sfx, в котором отключено сообщение/окно об ошибке при отсуствии выполняемого файла (AutoInstall, ExecuteFile, RunProgram, ...), что изначально мне и нужно было для решения своего вопроса.
boss911,
все, понял теперь.
тоже юзаю этот модуль.
Почитал про префикс delX и параметр DeleteX, толком не понял, посему спрошу. Модуль умеет своими силами удалять файл/папку между выполнениями (множественными) RunProgram? Например, есть два RunProgram, надо указать, чтобы после первого RunProgram удалялся файл? Без внешних ключей и средств. Параметр Delete умеет отрабатывать, к сожалению, только в самом конце.
minutka15
26-12-2021, 13:56
Ребята доброго времени суток.
@echo off
>C:\Users\%USERNAME%\AppData\Roaming\MyProgram\Settiings.ini (
echo [Paths]
echo DataDir=C:\Users\%USERNAME%\AppData\Roaming\MyProgram
echo Version=1.2.3.4
)
exit
С батником получается но хотелось бы прописать это действие в конфиге
То есть нужно на определенном этапе создать ini файл с именем пользователя и в папке пользователя.
Определяю папку распаковки:
SetEnvironment="GO=%SfxFolder26%\\MyProgram"
и в эту папку на определенном этапе нужно закинуть Settiings.ini
[Paths]
DataDir=C:\Users\BLABLABLA\AppData\Roaming\MyProgram
Version=1.2.3.4
Как будет выглядеть конфиг в данном случае?
Как будет выглядеть конфиг в данном случае? »
Лучше батником файл создавать. Каждая строка в батнике, в SFX конфиге будет отдельным вызовом CMD.exe. Зачем, если можно выполнить один раз (батником)?
Как-то так:
;!@Install@!UTF-8!
GUIMode="2"
SetEnvironment="GO=%SfxFolder26%\\MyProgram"
RunProgram="hidcon:%%P:CMD /Q /C ECHO [Paths]>\"%GO%\Settiings.ini\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO DataDir=%AppData%\Roaming\MyProgram>>\"%GO%\Settiings.ini\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO Version=1.2.3.4>>\"%GO%\Settiings.ini\""
;!@InstallEnd@!
minutka15
26-12-2021, 14:29
boss911,
Спасибо бегу на работу и о результатах вечерком отпишусь!
Создал, испробовал и все работает точь в точь как я и хотел.
Открыл для себя новый набор возможностей файла конфигурации.
Знал бы это раньше поступал бы с установщиками иначе.
Благодарю еще раз !!!
как можно передать переменную модуля %%S (путь до sfx архива) в батник запускаемый из этого sfx архива
RunProgram="%%P:hidcon:Wallpaper_add+block.cmd"
как можно передать переменную модуля %%S (путь до sfx архива) в батник запускаемый из этого sfx архива »
RunProgram=""
RunProgram="%%P:hidcon:Wallpaper_add+block.cmd %%S"
А дальше в батнике принимайте параметр (путь).
Либо так:
SetEnvironment="SFXDir=%%S\\"
RunProgram=""
RunProgram="%%P:hidcon:Wallpaper_add+block.cmd"
Далее в батнике используйте переменную %SFXDir% (в данном случае переменная заканчивается слешем, имейте в виду).
добрый день, не могу разобраться, возможно ли выполнить команду в командной строке до распаковки файлов. мне нужно убить процесс, чтобы потом провести обновление. помогите пожалуйста
возможно ли выполнить команду в командной строке до распаковки файлов. »
Используйте команду PreExtract модифицированного модуля 1.7, сборка 3900 или 3901
Scorpkoms
06-07-2022, 14:53
Доброго времени уважаемые! Прошу помощи,не копируется файл в созданную папку:
;Создаем папку
RunProgram="hidcon:cmd /c MD \"%UserProfile%\\AppData\Roaming\Папка\Папка2\""
;Копируем файл в созданную папку
RunProgram="hidcon:cmd /c copy /y файл.dat\"%UserProfile%\AppData\Roaming\Папка\Папка2\файл.dat\""
Scorpkoms, RunProgram="hidcon:cmd /c copy /y файл.dat\"%UserProfile%\AppData\Roaming\Папка\Папка2\файл.dat\""
Между источником и назначением пробел потерялся
А вместо %UserProfile%\AppData\Roaming можно использовать %AppData%
Scorpkoms
06-07-2022, 20:15
iglezz,
Благодарю,завтра попробую.
nibble74
06-07-2022, 21:28
Scorpkoms,
;Создаем папку
RunProgram="hidcon:cmd /c MD \"%AppData%\\Папка\\Папка2\""
;Копируем файл в созданную папку
RunProgram="hidcon:cmd /c copy /y файл.dat \"%AppData%\\Папка\\Папка2\""
ИЛИ
RunProgram="hidcon:cmd /c copy /y \"%%T\\файл.dat\" \"%AppData%\\Папка\\Папка2\""
Scorpkoms
07-07-2022, 07:37
А вместо %UserProfile%\AppData\Roaming можно использовать %AppData% »
Почему то переменная %AppData% не сработала.
RunProgram="hidcon:cmd /c copy /y \"%%T\\файл.dat\" \"%AppData%\\Папка\\Папка2\"" »
Благодарю,здесь все получилось.
Как правильно в файле конфигурации написать эти строки:
takeown /f "%InstallPath%" /a /r /d y
icacls "%InstallPath%" /grant:r *S-1-5-32-545:(CI)(OI)F /T
attrib -r "%InstallPath%\*.*" /s /d
после
RunProgram="cmd /k Ver | Find \"5.\" >Nul || ...
RunProgram="cmd /k Ver | Find \"5.\" >Nul || ...
RunProgram="cmd /k Ver | Find \"5.\" >Nul || ...
minutka15
12-10-2022, 20:33
Ребята нужна помощь
Хотел обмануть свой установщик подсунув к нему на этапе распаковки отредактированный файл ответов Setup.iss от installshield
просил о помощи знатоков тут:
http://forum.oszone.net/thread-352077.html
В связи с тем что не нашел батник для поиска и замены нужных строк (хотя хватало заменить 2 строчки) решил пойти другим путем.
Идея такова, что пользователь на своем компе запускает установщик, файлы распаковываются в temp директорию
а после конфиг создает Setup.iss учитывая букву диска и имя юзера затем продолжаем установку с соответствующими ключами установщика.
Вот к примеру решил создать новый файл Setup.iss при помощи своего конфига.
Setup.iss уже создан с ключами setup.exe -r и весть его созданный текст воссоздаю так:
;!@Install@!UTF-8!
Title="SETUP.ISS File maker"
BeginPrompt="This will Make SETUP.ISS File.\n\n Continue?"
ExtractTitle="Extracting:"
ExtractDialogText="Please wait"
FinishMessage="Completed!"
MiscFlags="4"
GUIMode="1"
GUIFlags="1+8+2048"
SetEnvironment="BX=%SfxFolder26%\\Box"
SetEnvironment="PF=%SfxFolder38%\\programfolder\\programname"
SetEnvironment="MD=%SfxFolder05%\\programfolder"
InstallPath="%BX%"
RunProgram="hidcon:%%P:CMD /Q /C ECHO [InstallShield Silent]>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO Version=v7.00>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO File=Response File>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO [File Transfer]>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO OverwrittenReadOnly=NoToAll>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO [{B64C99B8-1C65-4A28-AF8D-E3E17EDDC904}-DlgOrder]>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO Dlg0={B64C99B8-1C65-4A28-AF8D-E3E17EDDC904}-SdWelcome-0>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO Count=6>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO [{B64C99B8-1C65-4A28-AF8D-E3E17EDDC904}-SdComponentTree-0]>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO szDir=%PF%>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO Result=1>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO [{B64C99B8-1C65-4A28-AF8D-E3E17EDDC904}-SdAskDestPath-1]>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO szDir=%MD%>>\"%BX%\Setup.iss\""
RunProgram="hidcon:%%P:CMD /Q /C ECHO Result=1>>\"%BX%\Setup.iss\""
Всего 82 строки в Setup.iss (их не привожу)
Файл Setup.iss создается, однако команды заполняются только до 62 строчки и после пустота тогда как должно быть 82 строчки.
1) я так понимаю что модуль имеет такие ограничения ?
2) система windows CMD имеет такие ограничения ?
3) это глюк системы ?
Может кто ни будь создавал установщики от от installshield с такими файлами ответов
Может тут есть иной подход ?
Сам родной установщик сложный несет с собой несколько cab файлов data1.cab data2.cab data3.cab и куча других сладостей куда без слез не взглянешь.
Мог бы и перепаковать установщик однако самому уже интересно стало как все это может закончится.
minutka15
12-10-2022, 22:27
Парни нашел возможность все исправить. Может пригодится для тех кто лепит установщики от installshield
Сперва насовсем удаляем те строки из вашего созданного setup.iss которые вы хотели бы заменить.
Я удалил 17, 20, и 24, затем вернул клавишей назад пустые строки чтобы текст был слитный.
Теперь для добавления необходимых строк подсчитываем под какой строкой должна стоять ваша новая строка
у меня получилось 16, 18, 22.
Это решает простая команда заполнить то что нужно:
Создаем батник и запускаем powershell
powershell "$f=(Get-Content setup.iss);$f[16]='szDir=%ProgramFiles(x86)%\programfolder\programname';$f | set-content setup.iss"
powershell "$f=(Get-Content setup.iss);$f[18]='szDir=szDir=%USERPROFILE%\Documents\programname';$f | set-content setup.iss"
powershell "$f=(Get-Content setup.iss);$f[22]='szDir=%ProgramFiles(x86)%\programfolder\programname';$f | set-content setup.iss"
Открываем полученный файл setup.iss и видим в нем результат на 17,19, и 23 строках.
szDir=C:\Program Files (x86)\programfolder\programname
szDir=C:\Users\реальное имя\Documents\programname
szDir=C:\Program Files (x86)\programfolder\programname
На тех компах где имеется powershell должно работать.
Делал для себя пару инсталлеров, те просто вшивал свои настройки для автоустановки.
;!@Install@!UTF-8!
RunProgram="FileMenu.exe"
RunProgram="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
AutoInstall="FileMenu.exe /VERYSILENT"
AutoInstall="FileMenuLang.exe"
AutoInstall="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!
и
;!@Install@!UTF-8!
RunProgram="HashTab.exe"
RunProgram="%%P:hidcon:cmd /c if exist HashTab.reg regedit /s HashTab.reg"
AutoInstall="HashTab.exe /VERYSILENT"
AutoInstall="%%P:hidcon:cmd /c if exist HashTab.reg regedit /s HashTab.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!
Все работает, но может есть какие-н ошибки, недочеты?
SergeyZV
19-10-2022, 09:13
Wu-Tang, Почему у вас *.reg на второй позиции после *.exe!? Вот это явная ошибка.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC