No description
  • PowerShell 100%
Find a file
2026-06-12 10:29:21 +00:00
Install-Elgato-Delayed-Startup.ps1 delayed startup script 2026-06-12 10:26:55 +00:00
LICENSE Initial commit 2026-06-12 10:26:01 +00:00
README.md update README.md 2026-06-12 10:29:21 +00:00

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

  1. Start Elgato Wave Link
  2. Close the Wave Link window to the system tray
  3. Wait 10 seconds
  4. Start Elgato Stream Deck
  5. 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:

  1. Create the Elgato startup script
  2. Register a Windows Scheduled Task
  3. Remove older task versions with the same or previous names
  4. 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 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"