From f9391ab7f30070a86eaeb151809f709c5f476f90 Mon Sep 17 00:00:00 2001 From: amd64fox <62529699+amd64fox@users.noreply.github.com> Date: Thu, 19 Sep 2024 03:03:27 +0300 Subject: [PATCH] optimized logic for DisableStartup parameter #632 --- run.ps1 | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/run.ps1 b/run.ps1 index 21b87ca..6b53453 100644 --- a/run.ps1 +++ b/run.ps1 @@ -1827,13 +1827,36 @@ if ([version]$offline -ge [version]"1.1.87.612" -and [version]$offline -le [vers Get -Url (Get-Link -e "/res/login.spa") -OutputPath $login_spa } +# Disable Startup client if ($DisableStartup) { + $prefsPath = "$env:APPDATA\Spotify\prefs" $keyPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" $keyName = "Spotify" + # delete key in registry if (Get-ItemProperty -Path $keyPath -Name $keyName -ErrorAction SilentlyContinue) { Remove-ItemProperty -Path $keyPath -Name $keyName -Force } + + # create new prefs + if (-not (Test-Path $prefsPath)) { + $content = @" +app.autostart-configured=true +app.autostart-mode="off" +"@ + [System.IO.File]::WriteAllLines($prefsPath, $content, [System.Text.UTF8Encoding]::new($false)) + } + + # update prefs + else { + $content = [System.IO.File]::ReadAllText($prefsPath) + if (-not $content.EndsWith("`n")) { + $content += "`n" + } + $content += 'app.autostart-mode="off"' + [System.IO.File]::WriteAllText($prefsPath, $content, [System.Text.UTF8Encoding]::new($false)) + } + } # Start Spotify