From afb4c3fcd13807679fc3ffdb9fbe963edc552d15 Mon Sep 17 00:00:00 2001 From: amd64fox <62529699+amd64fox@users.noreply.github.com> Date: Sat, 11 Jul 2026 20:50:11 +0300 Subject: [PATCH] Add exclusions to Microsoft Defender - Add exclusions to Microsoft Defender to prevent false positives --- run.ps1 | 228 ++++++++++++++++++++++++++++- scripts/installer-lang/be.ps1 | 3 + scripts/installer-lang/bn.ps1 | 3 + scripts/installer-lang/cs.ps1 | 3 + scripts/installer-lang/de.ps1 | 3 + scripts/installer-lang/el.ps1 | 3 + scripts/installer-lang/en.ps1 | 3 + scripts/installer-lang/es.ps1 | 3 + scripts/installer-lang/fa.ps1 | 3 + scripts/installer-lang/fi.ps1 | 3 + scripts/installer-lang/fil.ps1 | 3 + scripts/installer-lang/fr.ps1 | 3 + scripts/installer-lang/hi.ps1 | 3 + scripts/installer-lang/hu.ps1 | 3 + scripts/installer-lang/id.ps1 | 3 + scripts/installer-lang/it.ps1 | 3 + scripts/installer-lang/ja.ps1 | 3 + scripts/installer-lang/ka.ps1 | 3 + scripts/installer-lang/ko.ps1 | 3 + scripts/installer-lang/lv.ps1 | 3 + scripts/installer-lang/pl.ps1 | 3 + scripts/installer-lang/pt.ps1 | 3 + scripts/installer-lang/ro.ps1 | 3 + scripts/installer-lang/ru.ps1 | 3 + scripts/installer-lang/sk.ps1 | 3 + scripts/installer-lang/sr-Latn.ps1 | 3 + scripts/installer-lang/sr.ps1 | 3 + scripts/installer-lang/sv.ps1 | 3 + scripts/installer-lang/ta.ps1 | 3 + scripts/installer-lang/tr.ps1 | 3 + scripts/installer-lang/uk.ps1 | 3 + scripts/installer-lang/vi.ps1 | 3 + scripts/installer-lang/zh-TW.ps1 | 3 + scripts/installer-lang/zh.ps1 | 3 + 34 files changed, 325 insertions(+), 2 deletions(-) diff --git a/run.ps1 b/run.ps1 index 6d75e8d..6e41374 100644 --- a/run.ps1 +++ b/run.ps1 @@ -30,6 +30,9 @@ param [Parameter(HelpMessage = 'Skip pause before exit')] [switch]$no_pause, + [Parameter(HelpMessage = 'Skip Microsoft Defender exclusions')] + [switch]$defender_exclusions_off, + [Parameter(HelpMessage = "Use github.io mirror instead of raw.githubusercontent.")] [Alias("m")] [switch]$mirror, @@ -325,7 +328,8 @@ function Format-LanguageCode { return $returnCode } -$spotifyDirectory = Join-Path $env:APPDATA 'Spotify' +$spotifyRoamingDirectory = Join-Path $env:APPDATA 'Spotify' +$spotifyDirectory = $spotifyRoamingDirectory $spotifyDirectory2 = Join-Path $env:LOCALAPPDATA 'Spotify' # Использовать кастомный путь если указан параметр -SpotifyPath @@ -341,6 +345,7 @@ $dll_bak = Join-Path $spotifyDirectory 'Spotify.dll.bak' $chrome_elf_bak = Join-Path $spotifyDirectory 'chrome_elf.dll.bak' $spotifyUninstall = Join-Path ([System.IO.Path]::GetTempPath()) 'SpotifyUninstall.exe' $start_menu = Join-Path $env:APPDATA 'Microsoft\Windows\Start Menu\Programs\Spotify.lnk' +$xpui_spa_patch = Join-Path (Join-Path $spotifyDirectory 'Apps') 'xpui.spa' $upgrade_client = $false $downgrading = $false @@ -1514,6 +1519,226 @@ function DesktopFolder { return $desktop_folder } +function Test-IsAdministrator { + $identity = [Security.Principal.WindowsIdentity]::GetCurrent() + + try { + $principal = New-Object -TypeName Security.Principal.WindowsPrincipal -ArgumentList $identity + return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) + } + finally { + $identity.Dispose() + } +} + +function ConvertTo-DefenderExclusionPath { + param ( + [string[]]$Path + ) + + $normalizedPaths = foreach ($item in $Path) { + if ([string]::IsNullOrWhiteSpace($item)) { continue } + + try { + [IO.Path]::GetFullPath([Environment]::ExpandEnvironmentVariables($item)) + } + catch { + Write-Verbose "Invalid Microsoft Defender exclusion path: $item" + } + } + + return @($normalizedPaths | Sort-Object -Unique) +} + +function ConvertTo-PowerShellStringLiteral { + param ( + [Parameter(Mandatory = $true)] + [AllowEmptyString()] + [string]$Value + ) + + if ($Value.IndexOf([char]34) -ge 0) { + throw 'Double quotes are not valid in Windows paths' + } + + $escapedValue = [Management.Automation.Language.CodeGeneration]::EscapeSingleQuotedStringContent($Value) + return "'$escapedValue'" +} + +function Add-SpotifyDefenderExclusions { + param ( + [Parameter(Mandatory = $true)] + [string[]]$Path, + + [Parameter(Mandatory = $true)] + [string[]]$ProcessPath + ) + + [string[]]$paths = @(ConvertTo-DefenderExclusionPath -Path $Path) + [string[]]$processPaths = @(ConvertTo-DefenderExclusionPath -Path $ProcessPath) + if ($paths.Count -eq 0 -and $processPaths.Count -eq 0) { return } + + $defenderPrompt = $lang.DefenderPrompt + $defenderAdded = $lang.DefenderAdded + + try { + $isAdministrator = Test-IsAdministrator + + if (-not $isAdministrator) { + do { + $defenderChoice = Read-Host -Prompt $defenderPrompt + Write-Host + if ($defenderChoice -notmatch '^y$|^n$') { incorrectValue } + } + while ($defenderChoice -notmatch '^y$|^n$') + + if ($defenderChoice -eq 'n') { return } + } + + if ($isAdministrator) { + $modulePath = [IO.Path]::Combine( + [Environment]::SystemDirectory, + 'WindowsPowerShell\v1.0\Modules\Defender\Defender.psd1' + ) + $null = Import-Module -Name $modulePath -Force -ErrorAction Stop + $preferences = Defender\Get-MpPreference -ErrorAction Stop + $currentPaths = @($preferences.ExclusionPath) + $currentProcessPaths = @($preferences.ExclusionProcess) + $missingPaths = @($paths | Where-Object { $_ -notin $currentPaths }) + $missingProcessPaths = @($processPaths | Where-Object { $_ -notin $currentProcessPaths }) + + if ($missingPaths.Count -gt 0) { + $null = Defender\Add-MpPreference -ExclusionPath $missingPaths -Force -ErrorAction Stop + } + if ($missingProcessPaths.Count -gt 0) { + $null = Defender\Add-MpPreference -ExclusionProcess $missingProcessPaths -Force -ErrorAction Stop + } + + $verified = $false + for ($attempt = 0; $attempt -lt 5; $attempt++) { + $updatedPreferences = Defender\Get-MpPreference -ErrorAction Stop + $updatedPaths = @($updatedPreferences.ExclusionPath) + $updatedProcessPaths = @($updatedPreferences.ExclusionProcess) + $remainingPaths = @($paths | Where-Object { $_ -notin $updatedPaths }) + $remainingProcessPaths = @($processPaths | Where-Object { $_ -notin $updatedProcessPaths }) + if ($remainingPaths.Count -eq 0 -and $remainingProcessPaths.Count -eq 0) { + $verified = $true + break + } + if ($attempt -lt 4) { Start-Sleep -Milliseconds 250 } + } + if (-not $verified) { + throw 'Microsoft Defender exclusion verification failed' + } + + Write-Host $defenderAdded + Write-Host + return + } + + $pathLiterals = @($paths | ForEach-Object { + ConvertTo-PowerShellStringLiteral -Value $_ + }) -join ', ' + $processPathLiterals = @($processPaths | ForEach-Object { + ConvertTo-PowerShellStringLiteral -Value $_ + }) -join ', ' + $command = @( + "`$ErrorActionPreference = 'Stop';" + 'try {' + "[string[]]`$paths = @($pathLiterals);" + "[string[]]`$processPaths = @($processPathLiterals);" + "`$modulePath = [IO.Path]::Combine([Environment]::SystemDirectory, 'WindowsPowerShell\v1.0\Modules\Defender\Defender.psd1');" + '$null = Import-Module -Name $modulePath -Force -ErrorAction Stop;' + '$preferences = Defender\Get-MpPreference -ErrorAction Stop;' + '$currentPaths = @($preferences.ExclusionPath);' + '$currentProcessPaths = @($preferences.ExclusionProcess);' + '$missingPaths = @($paths | Where-Object { $_ -notin $currentPaths });' + '$missingProcessPaths = @($processPaths | Where-Object { $_ -notin $currentProcessPaths });' + 'if ($missingPaths.Count -gt 0) { $null = Defender\Add-MpPreference -ExclusionPath $missingPaths -Force -ErrorAction Stop };' + 'if ($missingProcessPaths.Count -gt 0) { $null = Defender\Add-MpPreference -ExclusionProcess $missingProcessPaths -Force -ErrorAction Stop };' + '$verified = $false;' + 'for ($attempt = 0; $attempt -lt 5; $attempt++) {' + '$updatedPreferences = Defender\Get-MpPreference -ErrorAction Stop;' + '$updatedPaths = @($updatedPreferences.ExclusionPath);' + '$updatedProcessPaths = @($updatedPreferences.ExclusionProcess);' + '$remainingPaths = @($paths | Where-Object { $_ -notin $updatedPaths });' + '$remainingProcessPaths = @($processPaths | Where-Object { $_ -notin $updatedProcessPaths });' + 'if ($remainingPaths.Count -eq 0 -and $remainingProcessPaths.Count -eq 0) { $verified = $true; break };' + 'if ($attempt -lt 4) { Start-Sleep -Milliseconds 250 };' + '}' + "if (-not `$verified) { throw 'Microsoft Defender exclusion verification failed' };" + 'exit 0' + '}' + 'catch {' + 'exit 1' + '}' + ) -join ' ' + + $systemDirectoryName = if ( + [Environment]::Is64BitOperatingSystem -and + -not [Environment]::Is64BitProcess + ) { + 'Sysnative' + } + else { + 'System32' + } + $powerShellPath = Join-Path $env:SystemRoot "$systemDirectoryName\WindowsPowerShell\v1.0\powershell.exe" + $startProcessParams = @{ + FilePath = $powerShellPath + ArgumentList = "-NoLogo -NoProfile -Command `"$command`"" + Verb = 'RunAs' + WindowStyle = 'Normal' + Wait = $true + PassThru = $true + ErrorAction = 'Stop' + } + + $process = Start-Process @startProcessParams + if ($process.ExitCode -ne 0) { + throw "Elevated Microsoft Defender command failed with exit code $($process.ExitCode)" + } + Write-Host $defenderAdded + Write-Host + } + catch { + Write-Warning $lang.DefenderFailed + Write-Verbose $_.Exception.Message + Write-Host + } +} + +if (-not $defender_exclusions_off) { + try { + $desktopShortcut = Join-Path (DesktopFolder) 'Spotify.lnk' + $currentProcess = [Diagnostics.Process]::GetCurrentProcess() + try { + $defenderPowerShellProcess = $currentProcess.MainModule.FileName + } + finally { + $currentProcess.Dispose() + } + $defenderExclusionPaths = @( + $spotifyRoamingDirectory + $spotifyDirectory2 + $spotifyExecutable + $spotifyDll + $chrome_elf + $xpui_spa_patch + $desktopShortcut + $start_menu + ) + $null = Add-SpotifyDefenderExclusions ` + -Path $defenderExclusionPaths ` + -ProcessPath $defenderPowerShellProcess + } + catch { + Write-Warning $lang.DefenderFailed + Write-Verbose $_.Exception.Message + Write-Host + } +} + function Kill-Spotify { param ( [int]$maxAttempts = 5 @@ -3814,7 +4039,6 @@ Write-Host ($lang).ModSpoti`n Remove-TempDirectory -Directory $tempDirectory -$xpui_spa_patch = Join-Path (Join-Path $spotifyDirectory 'Apps') 'xpui.spa' $xpui_js_patch = Join-Path (Join-Path (Join-Path $spotifyDirectory 'Apps') 'xpui') 'xpui.js' $test_spa = Test-Path -Path $xpui_spa_patch $test_js = Test-Path -Path $xpui_js_patch diff --git a/scripts/installer-lang/be.ps1 b/scripts/installer-lang/be.ps1 index 164b996..00f16ef 100644 --- a/scripts/installer-lang/be.ps1 +++ b/scripts/installer-lang/be.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════════════╗ ║ Сардэчна запрашаем у SpotX для Windows ║ diff --git a/scripts/installer-lang/bn.ps1 b/scripts/installer-lang/bn.ps1 index 2c88104..f6ec205 100644 --- a/scripts/installer-lang/bn.ps1 +++ b/scripts/installer-lang/bn.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═══════════════════════════════════╗ ║ উইন্ডোজ স্পটএক্স এ আপনাকে স্বাগতম ║ diff --git a/scripts/installer-lang/cs.ps1 b/scripts/installer-lang/cs.ps1 index cc9d77b..eb6d36e 100644 --- a/scripts/installer-lang/cs.ps1 +++ b/scripts/installer-lang/cs.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═════════════════════════════╗ ║ Vítejte v SpotX pro Windows ║ diff --git a/scripts/installer-lang/de.ps1 b/scripts/installer-lang/de.ps1 index 3faa437..e11106d 100644 --- a/scripts/installer-lang/de.ps1 +++ b/scripts/installer-lang/de.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════════╗ ║ Willkommen bei SpotX für Windows ║ diff --git a/scripts/installer-lang/el.ps1 b/scripts/installer-lang/el.ps1 index 5779a93..2d92428 100644 --- a/scripts/installer-lang/el.ps1 +++ b/scripts/installer-lang/el.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════════╗ ║ Καλώς ήρθατε στο SpotX για Windows ║ diff --git a/scripts/installer-lang/en.ps1 b/scripts/installer-lang/en.ps1 index fa07e3e..872ce28 100644 --- a/scripts/installer-lang/en.ps1 +++ b/scripts/installer-lang/en.ps1 @@ -36,6 +36,9 @@ Error = "Error" FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again" Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]" + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" NoRestore = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again" InstallComplete = "installation completed" HostInfo = "Unwanted URLs found in hosts file" diff --git a/scripts/installer-lang/es.ps1 b/scripts/installer-lang/es.ps1 index 515a03e..9d58e45 100644 --- a/scripts/installer-lang/es.ps1 +++ b/scripts/installer-lang/es.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═════════════════════════════════════════════╗ ║ Le damos la bienvenida a SpotX para Windows ║ diff --git a/scripts/installer-lang/fa.ps1 b/scripts/installer-lang/fa.ps1 index 1044fa3..39bab29 100644 --- a/scripts/installer-lang/fa.ps1 +++ b/scripts/installer-lang/fa.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/fi.ps1 b/scripts/installer-lang/fi.ps1 index 5018abf..0ff71c5 100644 --- a/scripts/installer-lang/fi.ps1 +++ b/scripts/installer-lang/fi.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═══════════════════════════════╗ ║ Tervetuloa SpotX:n Windowsiin ║ diff --git a/scripts/installer-lang/fil.ps1 b/scripts/installer-lang/fil.ps1 index 32edd93..0dfa709 100644 --- a/scripts/installer-lang/fil.ps1 +++ b/scripts/installer-lang/fil.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═══════════════════════════════════════════════╗ ║ Maligayang pagdating sa SpotX para sa Windows ║ diff --git a/scripts/installer-lang/fr.ps1 b/scripts/installer-lang/fr.ps1 index 98efa64..133f3c9 100644 --- a/scripts/installer-lang/fr.ps1 +++ b/scripts/installer-lang/fr.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════════╗ ║ Bienvenue sur SpotX pour Windows ║ diff --git a/scripts/installer-lang/hi.ps1 b/scripts/installer-lang/hi.ps1 index f7c23ff..9b84bb6 100644 --- a/scripts/installer-lang/hi.ps1 +++ b/scripts/installer-lang/hi.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════════╗ ║ SpotX for Windows में आपका स्वागत है ║ diff --git a/scripts/installer-lang/hu.ps1 b/scripts/installer-lang/hu.ps1 index 62a9a5d..4e31480 100644 --- a/scripts/installer-lang/hu.ps1 +++ b/scripts/installer-lang/hu.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════════════════╗ ║ Üdvözöllek a SpotX Windowsos telepítőjében ║ diff --git a/scripts/installer-lang/id.ps1 b/scripts/installer-lang/id.ps1 index cfc0d44..c5ab645 100644 --- a/scripts/installer-lang/id.ps1 +++ b/scripts/installer-lang/id.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═══════════════════════════════════════╗ ║ Selamat datang di SpotX untuk Windows ║ diff --git a/scripts/installer-lang/it.ps1 b/scripts/installer-lang/it.ps1 index 80ceff7..cb8389a 100644 --- a/scripts/installer-lang/it.ps1 +++ b/scripts/installer-lang/it.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═══════════════════════════════╗ ║ Benvenuti a SpotX per Windows ║ diff --git a/scripts/installer-lang/ja.ps1 b/scripts/installer-lang/ja.ps1 index 29975a4..09244a9 100644 --- a/scripts/installer-lang/ja.ps1 +++ b/scripts/installer-lang/ja.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═══════════════════════════╗ ║ SpotX Windows用にようこそ ║ diff --git a/scripts/installer-lang/ka.ps1 b/scripts/installer-lang/ka.ps1 index f787fb0..a895274 100644 --- a/scripts/installer-lang/ka.ps1 +++ b/scripts/installer-lang/ka.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/ko.ps1 b/scripts/installer-lang/ko.ps1 index e868b45..170f95a 100644 --- a/scripts/installer-lang/ko.ps1 +++ b/scripts/installer-lang/ko.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/lv.ps1 b/scripts/installer-lang/lv.ps1 index 7c516e1..718eaa6 100644 --- a/scripts/installer-lang/lv.ps1 +++ b/scripts/installer-lang/lv.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/pl.ps1 b/scripts/installer-lang/pl.ps1 index acade8f..497985c 100644 --- a/scripts/installer-lang/pl.ps1 +++ b/scripts/installer-lang/pl.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════╗ ║ Witamy w SpotX dla Windows ║ diff --git a/scripts/installer-lang/pt.ps1 b/scripts/installer-lang/pt.ps1 index 414e421..ba61518 100644 --- a/scripts/installer-lang/pt.ps1 +++ b/scripts/installer-lang/pt.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═════════════════════════════════╗ ║ Bem-vindo ao SpotX para Windows ║ diff --git a/scripts/installer-lang/ro.ps1 b/scripts/installer-lang/ro.ps1 index 9bed40d..2a4b4a1 100644 --- a/scripts/installer-lang/ro.ps1 +++ b/scripts/installer-lang/ro.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════════════╗ ║ Bine ați venit la SpotX pentru Windows ║ diff --git a/scripts/installer-lang/ru.ps1 b/scripts/installer-lang/ru.ps1 index e60f1fa..7b220d1 100644 --- a/scripts/installer-lang/ru.ps1 +++ b/scripts/installer-lang/ru.ps1 @@ -36,6 +36,9 @@ Error = "Ошибка" FileLocBroken = "Расположение файлов Spotify нарушено, удалите клиент Spotify и снова запустите скрипт" Spicetify = "Обнаружен Spicetify, он должен быть установлен после SpotX, открыть рекомендуемые действия в FAQ ? [Y/N]" + DefenderPrompt = "Добавить исключения в Microsoft Defender для предотвращения ложных срабатываний? [Y/N]" + DefenderAdded = "Исключения добавлены в Microsoft Defender" + DefenderFailed = "Исключения не добавлены в Microsoft Defender" NoRestore = "SpotX уже был установлен, но файл для восстановления xpui.bak не найден. `nУдалите клиент Spotify и снова запустите Install.bat" InstallComplete = "Установка завершена" HostInfo = "В файле hosts найдены нежелательные Url-адреса" diff --git a/scripts/installer-lang/sk.ps1 b/scripts/installer-lang/sk.ps1 index 5282831..cd37f2e 100644 --- a/scripts/installer-lang/sk.ps1 +++ b/scripts/installer-lang/sk.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/sr-Latn.ps1 b/scripts/installer-lang/sr-Latn.ps1 index 3223090..eba2ce5 100644 --- a/scripts/installer-lang/sr-Latn.ps1 +++ b/scripts/installer-lang/sr-Latn.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/sr.ps1 b/scripts/installer-lang/sr.ps1 index 7e06917..6529d78 100644 --- a/scripts/installer-lang/sr.ps1 +++ b/scripts/installer-lang/sr.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════╗ ║ Welcome to SpotX for Windows ║ diff --git a/scripts/installer-lang/sv.ps1 b/scripts/installer-lang/sv.ps1 index 873994d..6c64166 100644 --- a/scripts/installer-lang/sv.ps1 +++ b/scripts/installer-lang/sv.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════════╗ ║ Välkommen till SpotX för Windows ║ diff --git a/scripts/installer-lang/ta.ps1 b/scripts/installer-lang/ta.ps1 index f170ec7..c8051c1 100644 --- a/scripts/installer-lang/ta.ps1 +++ b/scripts/installer-lang/ta.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════╗ ║ Windows SpotXக்கு வரவேற்கிறோம் ║ diff --git a/scripts/installer-lang/tr.ps1 b/scripts/installer-lang/tr.ps1 index da6527f..bfc55bc 100644 --- a/scripts/installer-lang/tr.ps1 +++ b/scripts/installer-lang/tr.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════════╗ ║ Windows için SpotX'e Hoşgeldiniz ║ diff --git a/scripts/installer-lang/uk.ps1 b/scripts/installer-lang/uk.ps1 index 2e0f9da..3cf975f 100644 --- a/scripts/installer-lang/uk.ps1 +++ b/scripts/installer-lang/uk.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔══════════════════════════════════════╗ ║ Ласкаво просимо до SpotX для Windows ║ diff --git a/scripts/installer-lang/vi.ps1 b/scripts/installer-lang/vi.ps1 index 45c2bfa..775a959 100644 --- a/scripts/installer-lang/vi.ps1 +++ b/scripts/installer-lang/vi.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═════════════════════════════════════╗ ║ Chào mừng đến với SpotX cho Windows ║ diff --git a/scripts/installer-lang/zh-TW.ps1 b/scripts/installer-lang/zh-TW.ps1 index 6494be9..121e92e 100644 --- a/scripts/installer-lang/zh-TW.ps1 +++ b/scripts/installer-lang/zh-TW.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔═════════════════════════════╗ ║ 歡迎使用 SpotX Windows 版 ║ diff --git a/scripts/installer-lang/zh.ps1 b/scripts/installer-lang/zh.ps1 index e839974..024e822 100644 --- a/scripts/installer-lang/zh.ps1 +++ b/scripts/installer-lang/zh.ps1 @@ -1,4 +1,7 @@ [PSCustomObject]@{ + DefenderPrompt = "Add exclusions to Microsoft Defender to prevent false positives? [Y/N]" + DefenderAdded = "Exclusions added to Microsoft Defender" + DefenderFailed = "Microsoft Defender exclusions were not added" Welcome = " ╔════════════════════════════════╗ ║ 欢迎使用 SpotX 的 Windows 版本 ║