47 lines
2.0 KiB
PowerShell
47 lines
2.0 KiB
PowerShell
# QwenClaw Windows Startup Installer (Startup Folder Method)
|
|
# This method does NOT require admin privileges
|
|
# Run this ONCE to register QwenClaw to start automatically with Windows
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
$SCRIPT_NAME = "QwenClaw Daemon"
|
|
$SCRIPT_PATH = Join-Path $PSScriptRoot "autostart.ps1"
|
|
$LOG_DIR = Join-Path $env:USERPROFILE ".qwen\qwenclaw"
|
|
$STARTUP_FOLDER = [Environment]::GetFolderPath("Startup")
|
|
|
|
Write-Host "QwenClaw Windows Startup Installer" -ForegroundColor Cyan
|
|
Write-Host "===================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
Write-Host "Using Windows Startup Folder method (no admin required)" -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
# Ensure log directory exists
|
|
if (-not (Test-Path $LOG_DIR)) {
|
|
New-Item -ItemType Directory -Path $LOG_DIR -Force | Out-Null
|
|
Write-Host "[OK] Created log directory: $LOG_DIR" -ForegroundColor Green
|
|
}
|
|
|
|
# Create a shortcut in the Startup folder
|
|
$shortcutPath = Join-Path $STARTUP_FOLDER "$SCRIPT_NAME.lnk"
|
|
|
|
try {
|
|
$WScript = New-Object -ComObject WScript.Shell
|
|
$shortcut = $WScript.CreateShortcut($shortcutPath)
|
|
$shortcut.TargetPath = "PowerShell.exe"
|
|
$shortcut.Arguments = "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$SCRIPT_PATH`""
|
|
$shortcut.WorkingDirectory = Split-Path $SCRIPT_PATH -Parent
|
|
$shortcut.Description = "Automatically starts QwenClaw daemon when user logs on"
|
|
$shortcut.IconLocation = "powershell.exe,0"
|
|
$shortcut.Save()
|
|
|
|
Write-Host "[OK] Startup shortcut created: $shortcutPath" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "QwenClaw will now start automatically when you log in to Windows." -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "To verify: Open Shell:Startup folder and look for '$SCRIPT_NAME'" -ForegroundColor Cyan
|
|
Write-Host "To disable: Delete the shortcut from the Startup folder" -ForegroundColor Cyan
|
|
} catch {
|
|
Write-Host "[ERROR] Failed to create startup shortcut: $($_.Exception.Message)" -ForegroundColor Red
|
|
exit 1
|
|
}
|