mirror of
https://github.com/hansjone/netx.git
synced 2026-10-15 01:00:53 +08:00
Modernize the Windows installer, tray and runtime control; fix lifecycle bugs.
Installer: dynamic light/dark Win11 style, new brand wizard images, auto language, exclusive run mode (tray / Windows service) plus autostart and auto-update on the Tasks page (pre-selected from what is installed on upgrades, untouched by silent updates), 5 localized Start Menu entries. Tray: theme-aware rounded menu with live status, icons and status-dot tray icon; health polled off the UI thread; Settings submenu toggles autostart and daily updates; browser opened de-elevated via explorer. Fixes: - tray Stop/Start was ignored in service mode (service_run restarted the children) - all start/stop now goes through runtime_ctl.ps1 - logon tray task and SYSTEM service task were killed after 72h (default ExecutionTimeLimit); autostart was registered for the elevating account and opened a browser on every logon - uninstall left the NetXTray/NetXUpdate tasks behind - silent auto-update killed the tray without restarting it - repair_venv.ps1 was never staged into the release - wildcard NETX_HOST (0.0.0.0) broke health checks - ICO frames were PNG, which System.Drawing decodes as noise; icons now use the current brand mark Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4c4c7d91d0
commit
e21719b66c
27 changed files with 1209 additions and 687 deletions
|
|
@ -28,11 +28,18 @@ if ($Remove) {
|
|||
exit 0
|
||||
}
|
||||
|
||||
$arg = "-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$tray`" -ProgramRoot `"$prog`" -DataRoot `"$data`" -StartOnLaunch"
|
||||
# -QuietStart: bring NetX up at logon without popping a browser window.
|
||||
$arg = "-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$tray`" -ProgramRoot `"$prog`" -DataRoot `"$data`" -StartOnLaunch -QuietStart"
|
||||
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument $arg -WorkingDirectory $prog
|
||||
$trig = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME
|
||||
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
|
||||
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive -RunLevel Highest
|
||||
# Any user logon, run for the local Administrators group: Setup runs elevated
|
||||
# (often as a different admin account), so $env:USERNAME is not the desktop user.
|
||||
$trig = New-ScheduledTaskTrigger -AtLogOn
|
||||
$trig.Delay = "PT10S"
|
||||
$admins = (New-Object System.Security.Principal.SecurityIdentifier("S-1-5-32-544")).Translate(
|
||||
[System.Security.Principal.NTAccount]).Value
|
||||
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable `
|
||||
-ExecutionTimeLimit ([TimeSpan]::Zero) -MultipleInstances Parallel
|
||||
$principal = New-ScheduledTaskPrincipal -GroupId $admins -RunLevel Highest
|
||||
Register-ScheduledTask -TaskName $taskName -TaskPath $taskPath `
|
||||
-Action $action -Trigger $trig -Settings $settings -Principal $principal -Force | Out-Null
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue