Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.
spectat0r
27-03-2021, 16:26
Del
писал год назад для себя мини твикер, мне тогда очень помог iglezz, точнее говоря, добавление reg файлов, копирование файлов, в общем по мелочи и запихал в sfx с gui окошками.
скрипт был:
;!@Install@!UTF-8!
SetEnvironment="Name=Tweaks-Win7 x64"
SetEnvironment="Vers= 1.0 [%%P]"
Title="Установка %Name%"
BeginPrompt="Установить Tweaks-Win7 x64?"
ExtractTitle="Распаковка файлов ..."
ExtractDialogText="Подождите пожалуйста ..."
FinishMessage="Tweaks-Win7 x64 установлены!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
SetEnvironment="_SFXPATH_=%%S"
RunProgram="waitall:hidcon:cmd /c NSudoC-%%P.exe /U:T -ShowWindowMode:Hide -UseCurrentConsole \"%%T\\start.bat\""
RunProgram="waitall:%%P:filemenu.exe /ai"
PunProgram=":hidcon:ping -n 3 0.0.0.0"
;!@InstallEnd@!
сейчас решил кое-что добавить и понадобилась перезагрузка после установки, нашел в этой теме скрипт от gora:
;!@Install@!UTF-8!
SetEnvironment="timer=15"
Title="Перезагрузка"
FinishMessage=" ВНИМАНИЕ !!!
Сейчас будет произведена перезагрузка компьютера."
; Перезагрузка
RunProgram="fm%timer%:forcenowait:hidcon:cmd /c CD /d ..\\&Ping -n %timer% localhost &Shutdown -r -f -t 0"
GUIMode="2"
GUIFlags="1+8+512"
;!@InstallEnd@!
но как не пытался объединить их, так и не вышло, какая-то борода выходит, то название окон меняется, то не срабатывает.
в общем как добавить перезагрузку после установки?
или может возможно использовать два файла конфигурации, в одном установка, в другом - перезагрузка?
Wu-Tang, это не может быть так сработает
;!@Install@!UTF-8!
SetEnvironment="Name=Tweaks-Win7 x64"
SetEnvironment="Vers= 1.0 [%%P]"
SetEnvironment="timer=15"
Title="Установка %Name%"
BeginPrompt="Установить Tweaks-Win7 x64?"
ExtractTitle="Распаковка файлов ..."
ExtractDialogText="Подождите пожалуйста ..."
FinishMessage="Tweaks-Win7 x64 установлены! Будет выполнена перезагрузка компьютера! "
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
RunProgram="waitall:hidcon:cmd /c NSudoC-%%P.exe /U:T -ShowWindowMode:Hide -UseCurrentConsole \"%%T\\start.bat\""
RunProgram="waitall:%%P:filemenu.exe /ai"
RunProgram="fm%timer%:forcenowait:hidcon:cmd /c CD /d ..\\&Ping -n %timer% localhost &Shutdown -r -f -t 0"
;!@InstallEnd@!
Какой смысл вкладывал gora в команду CD /d ..\\ мне к сожалению не понятен.
spectat0r
30-04-2021, 11:36
Да можно просто запустить батник из инсталлятора, и им все поделать.
sov44,
все фурыкает, но вылезла другая проблема )))
некоторые твики не применяются ((( хотя при запуске вручную рег файлов изменения вносятся, а из инсталлятора нет.
обнаружил эти:
; Отключить "Недавние Документы", "Не вести историю открытия документов"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_TrackDocs"=dword:00000000
"Start_TrackProgs"=dword:00000000
; Удалить "Ярлык для..."
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"link"=hex:00,00,00,00
вот что им надо, что они не применяются, и так добавляю с повышенными привилегиями через nsudoc
spectat0r,
я и так часть из батника делаю
Wu-Tang, для применения твиков выше не нужны повышенные привилегии, они и так спокойно применяются. К тому же не понятно как вы их применяете, через start.bat, через .reg или еще как-то?
SOFFON,
вы думаете я сегодня твиками занялся ))) я 10 лет назад хр пересобрал с простыней твиков )))
раз задействовал nsudo значит не применялись, логично же )))
в start.bat идет перечень команд, в данном случае
regedit /s tweaks.reg
в данный момент не применяются эти два.
без nsudo не добавлялись ключи в ветку - HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D
Wu-Tang, только сейчас обратил внимание на имя батника. Оно не должно называться именем команды, иначе не исключены баги при его запуске.
некоторые твики не применяются »
Это уже не относится к файлу конфигурации. Возможно sfx вы запускаете, пока еще нет пользователя?
sov44,
имя start? тоже думал об этом )))
сейчас еще выявил, что не отрабатывает команда - xcopy "AppData\Notepad++" "%AppData%\Notepad++" /H /E /G /Q /R /Y /I
при ручном вводе в консоли - все копирует.
хотя тоже самое отрабатывает в папку windows и program files.
все что в батнике:
@echo off
xcopy "Notepad++" "%ProgramFiles(x86)%\Notepad++" /H /E /G /Q /R /Y /I
xcopy "AppData\Notepad++" "%AppData%\Notepad++" /H /E /G /Q /R /Y /I
copy /Y "devxexec.exe" "%WINDIR%\devxexec.exe"
copy /Y "hidcon.exe" "%WINDIR%\system32\hidcon.exe"
regedit /s tweaks-win7.reg
regedit /s tweaks-win7-2.reg
regedit /s tweaks-win7-3.reg
exit
Это уже не относится к файлу конфигурации. Возможно sfx вы запускаете, пока еще нет пользователя? »
да нет, запускаю на живой системе.
ps поменял имя на tweaks - также не копируется папка в appdata и не применяются ключа ))) я в ступоре...
есть еще у кого-н мысли?
в общем не копируется папка в appdata, и не срабатывают 2 твика, все остальное отрабатывается.
те маразм, например, в windows и system32 копируется, а в appdata нет и ключи в hkcr и hklm добавляются, а в hkcu нет.
jameszero
03-05-2021, 11:30
добавляю с повышенными привилегиями через nsudoc »
не отрабатывает команда - xcopy "AppData\Notepad++" "%AppData%\Notepad++" /H /E /G /Q /R /Y /I »
Применяйте пользовательские настройки без повышения привилегий.
Если повышаете привилегии до SYSTEM или TrustedInstaller, то %AppData% находится тут C:\Windows\System32\config\systemprofile\AppData\Roaming или тут C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming. Реестр пользователя тоже твикаете системный.
jameszero,
дело в том, что твики в ветку HKCR и HKLM не применялись, пока не повысил привилегии.
сейчас не применяются HKCU, я их вынес в отдельный рег файл вместе с копированием в appdata и пускаю без повышения прав второй командой:
RunProgram="waitall:hidcon:cmd /c PowerRun_x64.exe /SW:0 \"%%T\\tweaks.bat\""
RunProgram="waitall:hidcon:cmd /c \"%%T\\tweaks2.bat\""
но они все равно не применяются!
jameszero
03-05-2021, 13:40
Wu-Tang
RunProgram="hidcon:tweaks2.bat"
jameszero,
ха, оказалось побился рег файл с ключами hkcu, поправил и стала отрабатывать:
RunProgram="waitall:hidcon:cmd /c \"%%T\\tweaks2.bat\""
и твики применились!
я так понимаю, можно равнозначно юзать оба варианта и ваш и этот?
у меня теперь дилемма, команды:
copy /Y "devxexec.exe" "%WINDIR%\devxexec.exe"
copy /Y "hidcon.exe" "%WINDIR%\system32\hidcon.exe"
оставлять с повышенными правами, в данный момент они корректно с ними отрабатывают или перенести в твик с обычными правами?
jameszero
03-05-2021, 14:30
Wu-Tang
Для копирования файлов в системные директории права TrustedInstaller конечно избыточны, достаточно административных, флаг MiscFlags="4" запросит их при необходимости (при включенном UAC, разумеется), но есть такое правило "Работает - не трогай!" ), да и обсуждение вопроса уже выходит за рамки данной темы.
jameszero,
я переделал теперь на - от системы.
просто хотелось, чтобы не ничего не запрашивалось при установке.
почему здесь спрашивал, тк вручную то они добавляются без повышения прав, а из sfx установщика нет.
еще, не подскажите, как поставить пароль на редактирование экзешника, что дописать в конф. файл?
jameszero
03-05-2021, 16:24
Wu-Tang
FAQ в шапке темы Модифицированный SFX модуль 7-Zip'а для установок (http://forum.oszone.net/showthread.php?t=51547)
в шапке написано, что нет, жаль... :(
RunProgram="WaitAll:HidCon:%%P:CMD /C ECHO %SfxVarCmdLine2% | FINDSTR /IRC:\"\</S\>\" >nul && \"TEST.cmd\" %SfxVarCmdLine2% & DEL \"TEST.cmd\""
RunProgram="WaitAll:%%P:CMD /C \"TEST.cmd\" %SfxVarCmdLine2%"
Если SFX модуль запускается с параметром /S, TEST.cmd выполняется скрытно (hidcon) и сразу удаляется, чтобы в следующем RunProgram не запустился повторно. Если без параметра, то запускается во втором RunProgram (с окном). Дабы второй RunProgram не ругался на отсутствие файла, после удаления в первом RunProgram, батник приходится запускать через CMD /C, но в таком случае мелькает окно консоли, что мне не нравится (хочу все тихо).
Подавления окна ошибки отсутствия файла в RunProgram не предусмотрено? Судя по справке, увы, нет. Поскольку префикс hidcon во втором RunProgram недопустим, существует ли способ (через системное решение), выполнить батник не через CMD /C, чтобы оно не ругалось ошибкой/окном об отсутствии выполняемого файла и при этом не мелькало окном? Про параметр AutoInstallX (-aiX) знаю, не напоминать, пожалуйста, задача использовать свой ключ для выбора режима запуска RunProgram.
boss911,
а почему во вторую строку не добавите hidcon, как у меня сделано и не мелькает.
ps почему не допустим, у меня же отрабатывает во втором.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC