mirror of
https://github.com/Flowseal/zapret-discord-youtube.git
synced 2026-10-30 22:56:58 +03:00
[PR #17616] service.bat: показывать рассинхрон службы со стратегией, называть пункт Reinstall #503
Reference in new issue
Block a user
📋 Pull Request Information
Original PR: https://github.com/Flowseal/zapret-discord-youtube/pull/17616
Author: @klaymm
Created: 9/20/2026
Status: 🔄 Open
Base:
main← Head:feat/service-state📝 Commits (1)
f585b57service.bat: показывать рассинхрон службы со стратегией, называть пункт Reinstall📊 Changes
1 file changed (+125 additions, -79 deletions)
View changed files
📝
service.bat(+125 -79)📄 Description
service.bat: меню не показывает реальное состояние установленной службы
1. Check Status не видит, что служба крутит устаревшие аргументы
В реестр при установке пишется только имя стратегии, а в
binPath- аргументы на момент установки.Если после установки поправить
.batили сменить Game Filter, служба продолжает работать со старыми аргументами.Check Statusпри этом бодро пишетService strategy installed from "general (ALT11)"и ничего не сообщает. Со стороны выглядит так, будто правка применилась. ( В курсе, что GameFilter просит перезапусутить zapret, но всё же это ничего не отменяет. )Теперь
Check Statusразбирает текущий файл стратегии и сравнивает сImagePathустановленной службы:2. Из меню не видно, что Install Service умеет переустанавливать
:service_installуже делает полную переустановку -net stop,sc delete,sc create. Но пункт всегда называетсяInstall Service, и при уже установленной службе читается как «поставить ещё одну». Некоторые люди могут из-за этого сначала жатьRemove Services, а потомInstall Service.Когда служба установлена, пункт теперь называется
Reinstall Service:Что изменено в коде
Парсер аргументов лежал инлайном внутри
:service_install. Чтобы им можно было пользоваться из двух мест, вынес его в подпрограмму:parse_strategy_args- тело перенесено без единой правки,:service_installтеперь просто зовёт её.Новая
:check_service_args: парсит текущий файл, читаетImagePathиз реестра, нормализует обе строки и сравнивает. Нормализация убирает кавычки, обратные слэши и пробелы, поэтому экранирование\", котороеsc createразворачивает при сохранении, на сравнение не влияет.Надпись в меню - одна строка,
CurrentStrategyуже вычисляется вызовом:get_strategy_nameперед отрисовкой.Полный цикл прогнал на установленной службе:
Service arguments match general (ALT11).bat[?] Service arguments differ from what general (ALT11).bat produces nowНадпись в меню проверена мною в обоих состояниях - со службой и без.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.