Files
maeneko 781d8a574f Добавлена работа в трее и версия 0.6.1
Приложение теперь может сворачиваться в трей вместо закрытия: обход
продолжает работать в фоне, иконка в трее показывает статус и
позволяет включить/выключить обход без открытия окна. Добавлен
автозапуск самого приложения вместе с системой (свёрнутым в трей).
2026-09-04 20:01:05 +03:00

21 lines
2.1 KiB
NSIS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; Служба senboost-zapret не ставится этим установщиком — её создаёт и настраивает само
; приложение при первом включении обхода (src/main/zapret/service.win32.ts), потому что
; аргументы winws зависят от выбранной пользователем стратегии. Но снять её при удалении
; приложения обязаны мы: иначе в системе остаётся служба, указывающая на удалённый winws.exe.
;
; Установка теперь per-user (perMachine: false в electron-builder.yml) — сам деинсталлятор
; запускается БЕЗ прав администратора, а sc delete и удаление %ProgramData% их требуют.
; Поэтому именно для этого шага отдельно запрашиваем UAC (тем же приёмом Start-Process
; -Verb RunAs, что и src/main/zapret/service.win32.ts), а не поднимаем весь деинсталлятор —
; удаление файлов приложения из %LocalAppData% в повышении не нуждается.
;
; Тем же повышенным вызовом снимаем задачу автозапуска приложения («SenBoost Autostart»,
; src/main/app-autostart.win32.ts): она создана с правами администратора и после удаления
; приложения указывала бы на несуществующий exe.
!macro customUnInstall
DetailPrint "Останавливаю службу обхода блокировок и снимаю автозапуск..."
nsExec::Exec `powershell.exe -NoProfile -Command "try { Start-Process powershell -Verb RunAs -Wait -ArgumentList @('-NoProfile','-Command','sc.exe stop senboost-zapret; sc.exe delete senboost-zapret; schtasks.exe /Delete /TN ''SenBoost Autostart'' /F; Remove-Item -Recurse -Force $$env:ProgramData\senboost -ErrorAction SilentlyContinue') } catch {}"`
Pop $0
!macroend