install-windows-startup.ps1 (875B)
1 param( 2 [string]$TaskName = "BzlService", 3 [string]$ProjectDir = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path 4 ) 5 6 $npmCmd = Join-Path $env:ProgramFiles "nodejs\npm.cmd" 7 if (-not (Test-Path $npmCmd)) { 8 $npmCmd = "npm.cmd" 9 } 10 11 $command = "cd /d `"$ProjectDir`" && `"$npmCmd`" run start:supervised" 12 $action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c $command" 13 $trigger = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME 14 $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) 15 16 Register-ScheduledTask -TaskName $TaskName -Action $action -Trigger $trigger -Settings $settings -Description "Bzl supervised service runner" -Force | Out-Null 17 Write-Host "Installed startup task '$TaskName'." 18 Write-Host "Run now: Start-ScheduledTask -TaskName '$TaskName'"