- PowerShell 100%
| Install-Elgato-Delayed-Startup.ps1 | ||
| LICENSE | ||
| README.md | ||
Elgato Delayed Startup
This setup starts Elgato Wave Link and Elgato Stream Deck in a controlled order after Windows login.
The goal is to avoid both applications starting at the same time during Windows startup.
Startup Order
- Start Elgato Wave Link
- Close the Wave Link window to the system tray
- Wait 10 seconds
- Start Elgato Stream Deck
- Close the Stream Deck window to the system tray
Files
The installer script should be saved here:
C:\Scripts\Install-Elgato-Delayed-Startup.ps1
The generated startup script is stored here:
%LOCALAPPDATA%\ElgatoDelayedStartup\Elgato-Startup.ps1
The log file is stored here:
%LOCALAPPDATA%\ElgatoDelayedStartup\Elgato-Startup.log
Installation
After downloading the installer script, create the script folder if it does not already exist:
New-Item -ItemType Directory -Path "C:\Scripts" -Force
Move or copy the downloaded script to:
C:\Scripts\Install-Elgato-Delayed-Startup.ps1
Then open PowerShell and run:
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\Install-Elgato-Delayed-Startup.ps1"
The installer will:
- Create the Elgato startup script
- Register a Windows Scheduled Task
- Remove older task versions with the same or previous names
- Configure the task to run automatically after user login
Scheduled Task
The Windows Scheduled Task is named:
Elgato Delayed Startup
It runs automatically when the user logs in.
To test the scheduled task manually:
Start-ScheduledTask -TaskName "Elgato Delayed Startup"
To check the last task result:
Get-ScheduledTaskInfo -TaskName "Elgato Delayed Startup"
A successful run should show:
LastTaskResult : 0
Manual Script Test
To test the generated startup script directly:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "$env:LOCALAPPDATA\ElgatoDelayedStartup\Elgato-Startup.ps1"
This is useful for troubleshooting because any PowerShell errors will be shown directly in the terminal.
Log Output
To view the latest log entries:
Get-Content "$env:LOCALAPPDATA\ElgatoDelayedStartup\Elgato-Startup.log" -Tail 80
Important
Disable the normal Windows autostart entries for both applications:
- Elgato Wave Link
- Elgato Stream Deck
Otherwise, the applications may start twice or in the wrong order.
You can disable them here:
Windows Settings -> Apps -> Startup
or here:
Task Manager -> Startup apps
Wave Link AppID
Wave Link may be installed as a Microsoft Store / MSIX app. In that case it is started through its AppID instead of a normal .exe path.
To check the AppID:
Get-StartApps | Where-Object {
$_.Name -like "*Wave*" -or $_.Name -like "*Elgato*"
} | Format-Table Name, AppID -AutoSize
If the AppID is different on your system, edit the generated startup script:
notepad "$env:LOCALAPPDATA\ElgatoDelayedStartup\Elgato-Startup.ps1"
Then update this line:
$WaveLinkAppId = "Elgato.WaveLink_g54w8ztgkx496!App"
Stream Deck Path
By default, Stream Deck is expected here:
C:\Program Files\Elgato\StreamDeck\StreamDeck.exe
If Stream Deck does not start, check whether the file exists:
Test-Path "C:\Program Files\Elgato\StreamDeck\StreamDeck.exe"
If the result is False, search for the correct path:
Get-ChildItem "C:\Program Files","C:\Program Files (x86)" -Recurse -Filter "StreamDeck.exe" -ErrorAction SilentlyContinue |
Select-Object FullName
Then edit the generated startup script and update the Stream Deck path:
notepad "$env:LOCALAPPDATA\ElgatoDelayedStartup\Elgato-Startup.ps1"
Uninstall
To remove the scheduled task:
Unregister-ScheduledTask -TaskName "Elgato Delayed Startup" -Confirm:$false
To remove the generated files:
Remove-Item "$env:LOCALAPPDATA\ElgatoDelayedStartup" -Recurse -Force
Troubleshooting
If the scheduled task does not start the applications, first run the generated script manually:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "$env:LOCALAPPDATA\ElgatoDelayedStartup\Elgato-Startup.ps1"
Then check the log file:
Get-Content "$env:LOCALAPPDATA\ElgatoDelayedStartup\Elgato-Startup.log" -Tail 80
If the task result is not 0, check it with:
Get-ScheduledTaskInfo -TaskName "Elgato Delayed Startup"