public/Uninstall-NordVPN.ps1
#Requires -RunAsAdministrator #Requires -Modules @{ModuleName="msi";ModuleVersion="3.2.3.1024"} $ErrorActionPreference = "Stop" function Uninstall-NordVpn { <# .SYNOPSIS Uninstalls NordVpn app .PARAMETER displayLog Indicates if to display the uninstallation log file .PARAMETER cleanInstallDir Indicates if to clean leftovers after uninstallation #> [CmdletBinding()] param( [switch]$displayLog, [switch]$cleanInstallDir ) $existingInstallation = Get-MSIProductInfo -Name "NordVPN" if ($existingInstallation -eq $null) { Write-Host "Existing installation of NordVPN was not found." return } $installLocation = $existingInstallation.InstallLocation Write-Host "Found installation of NordVPN $($existingInstallation.ProductVersion)" Write-Host "Product code $($existingInstallation.ProductCode)" Write-Host "Install location $installLocation" Write-Host "Uninstalling..." $logFileName = [System.IO.Path]::GetTempFileName() $result = Uninstall-MSIProduct -ProductCode $existingInstallation.ProductCode -Log $logFileName if ($cleanInstallDir.IsPresent) { Write-Host "Cleaning install directory" Remove-Item $installLocation -Force -ErrorAction Ignore -Recurse } if ($displayLog.IsPresent) { Get-Content $logFileName | Write-Host } Write-Host "NordVPN has been successfully uninstalled" -ForegroundColor Green } |