@echo off
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 (
reg add "HKCR\*\shell\notepad" /v "" /t REG_SZ /d "Открыть в Блокноте" /f
reg add "HKCR\*\shell\notepad" /v "icon" /t REG_SZ /d "%ProgramFiles%\Notepad++\notepad++.exe,0" /f
reg add "HKCR\*\shell\notepad\command" /v "" /t REG_SZ /d "\"%ProgramFiles%\Notepad++\notepad++.exe\" \"%%1\"" /f
) else (
reg add "HKCR\*\shell\notepad" /v "" /t REG_SZ /d "Открыть в Блокноте" /f
reg add "HKCR\*\shell\notepad" /v "icon" /t REG_SZ /d "%ProgramFiles(x86)%\Notepad++\notepad++.exe,0" /f
reg add "HKCR\*\shell\notepad\command" /v "" /t REG_SZ /d "\"%ProgramFiles(x86)%\Notepad++\notepad++.exe\" \"%%1\"" /f
)
exit /b
вместо второго IF попробуйте поставить ANDIf "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
;!@Install@!UTF-8!
SetEnvironment="Name=Tweaks-Win7 x64"
SetEnvironment="Vers= 1.0 [%%P]"
SetEnvironment="timer=10"
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 PowerRun.exe /SW:0 /SYS \"%%T\\tweaks.bat\""
RunProgram="waitall:hidcon:cmd /c \"%%T\\tweaks2.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@!
Платформенные секции определяются суффиксами (только два вида):
x86 (i386) - для 32-битной операционной системы
x64 (amd64) - для 64-битной операционной системы
В скобках указаны допустимые замены. Варианты записи:
INI:;!@Install@!UTF-8:x86! RunProgram="setup_86.exe" ;!@InstallEnd@:x86! ;!@Install@!UTF-8:x64! RunProgram="setup_64.exe" ;!@InstallEnd@:x64! ;!@Install@!UTF-8:amd64! RunProgram="setup_64.exe" ;!@InstallEnd@:amd64!
в любой случае надо спрашивать, если что-то в конфиг добавлять, тк сам скорее допущу ошибки, тк практики нет в этом, как мне помогли тогда, я его не трогаю, в батник все напихиваю, тк в нем хоть понимание есть, что и как примерно делается, кроме сложных случаев.А так тут ничего сложного нет и описано в справке к модулю
;!@Install@!UTF-8!
SetEnvironment="Name=Tweaks-Win7 x86/x64"
SetEnvironment="Vers= 1.0 [%%P]"
SetEnvironment="timer=10"
Title="Установка %Name%"
BeginPrompt="Установить %Name%?"
ExtractTitle="Распаковка файлов ..."
ExtractDialogText="Подождите пожалуйста ..."
FinishMessage="%Name% установлены! Будет выполнена перезагрузка компьютера! "
setlocal
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
%SystemRoot%\SysWOW64\cmd.exe /c ""%~f0" %*"
) else (
reg add "HKCR\*\shell\notepad" /ve /d "Открыть в Блокноте" /f
reg add "HKCR\*\shell\notepad" /v "icon" /d "%ProgramFiles%\Notepad++\notepad++.exe,0" /f
call reg add "HKCR\*\shell\notepad\command" /ve /d "\"%%ProgramFiles%%\Notepad++\notepad++.exe\" \"%%%%1\"" /f
)
xcopy "Notepad++" "%ProgramFiles(x86)%\Notepad++" /H /E /G /Q /R /Y /I
;!@Install@!UTF-8!
SetEnvironment="Name=Tweaks-Win7 [%%P]"
SetEnvironment="Vers= 1.0 [%%P]"
SetEnvironment="timer=10"
Title="Установка %Name%"
BeginPrompt="%Name%?"
ExtractTitle="Распаковка файлов ..."
ExtractDialogText="Подождите пожалуйста ..."
FinishMessage="Tweaks-Win7 установлены! Будет выполнена перезагрузка компьютера!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
RunProgram="waitall:hidcon:cmd /c PowerRun.exe /SW:0 /SYS \"%%T\\tweaks.bat\""
RunProgram="x86:waitall:hidcon:cmd /c \"%%T\\tweaks2-86.bat\""
RunProgram="x64:waitall:hidcon:cmd /c \"%%T\\tweaks2-64.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@!
те командами из конф файла sfx модуля.Все твои проблемы уйдут если ты не будешь костыли прикручивать к батнику, а будешь использовать WinAPI
да как-то и не использовал по итогу, хотя изначально планировал.SetEnvironment="Vers= 1.0 [%%P]" - у тебя где-нибудь в батнике или ещё где-то используется? Если нет, то тогда убрать вообще эту строку.
при использовании, предложенного тобой, я так понимаю, проще будет вносить добавки, не просив писать батник с определением разрядности для каждой команды.И прочти справку по модулю, попробуй сделать, не получится спроси. Тем более заготовка конфига у тебя есть, в справке примеры конфигов также есть. Ничего не мешает попробовать поправить. не сработает попробовать по другому. Что от этого теряешь? Зато получишь опыт и знания и не будешь зависеть, чтобы кто-то тебе писал и правил при необходимости конфиг.
с этим конфигом, я теперь могу внести в tweaks общие твики для обеих разрядностей, а в tweaks 86 и 64 внести те, которые зависят уже от архитектуры, верно?И чисто для примера обновлённый конфиг, подредактируй его уже сам когда сделаешь два отдельных батника. Может там ещё упростить можно, я там твою кухню не знаю.
по команде из конф файла? не знал как реализовать, поэтому реализовал в батнике.Что тебе мешает сразу распаковывать куда надо?
Всё-таки из временной папки он потом удаляет, а из остальных нет Модифицированный SFX модуль 7-Zip'а для установокТы проверял, что она удаляется? Я как-то в этом не уверен.
специально не указывал, но все проверял, что распак идет в temp потом все автоудаляется.Распаковывается туда куда ты укажешь. Так пишешь словно Автологером ни разу логи не собирал. А там ведь никаких батников нет. всё средствами модуля сделано.
Ты проверял, что она удаляется? Я как-то в этом не уверен.
по ссылке идет пример с распаком в programfiles, но мне вот не ясно куда это будет на х86 и х64, в progs86 или просто в progs и тдВсё-таки из временной папки он потом удаляет, а из остальных нет Модифицированный SFX модуль 7-Zip'а для установок
И это первая же страница по обсуждению модуля и сразу готовый пример установки в программ файлс (то что ты через батник мутишь).
Так и спрашивай про то что не понятно, но нужно тебе для реализации.да, справку я читал, причем несколько раз, но некоторые моменты в ней были не ясны, поэтому и реализовывал все в бате.
1) Сколько времени тебе нужно, чтобы запустить у себя SFX и проверить куда распакуется? А сколько времени в среднем ждать на форуме пока кто-то ответит?по ссылке идет пример с распаком в programfiles, но мне вот не ясно куда это будет на х86 и х64, в progs86 или просто в progs и тд
Я предлагаю максимально упростить используя тот функционал который даётся. Можно ли реализовать полностью без батников или нет я никак не могу ответить ибо понятие не имею, что ты хочешь сделать. + у меня не так много опыта по сборке этих модулей.те ты предлагаешь отказаться от батников и реализовать все в конфиге sfx?
на виртуалке по минуте на каждой х86 и х64.1) Сколько времени тебе нужно, чтобы запустить у себя SFX и проверить куда распакуется? А сколько времени в среднем ждать на форуме пока кто-то ответит?
в батнике идет условие, на х86 распак в program files, на х64 в program files x86.2) Ещё раз повторюсь прочитал бы справку по модулю и понял бы, что эта переменная означает ровно тоже самое, что и в батнике (она не модулем вводится). В батнике это какой путь?
у тебя немного, а у меня совсем его мало )))Можно ли реализовать полностью без батников или нет я никак не могу ответить ибо понятие не имею, что ты хочешь сделать. + у меня не так много опыта по сборке этих модулей.
не совсем, ассоциаций нет, просто пункт в контекстное меню и распак программы и его минимальных настроек в app.Я так понимаю ты делаешь репак Npp. Если и так ты его весь перепаковываешь и заново все ассоциации прописываешь, то зачем ты хочешь его ставить обязательно в программ файлс учитывая, что он портативен из коробки. Поставил бы любую удобную тебе папку и вопросы про "progs86 или просто в progs" отпали бы сами собой. При желании можно и ярлыки потом на эту папку создать.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?