The QuietUninstallString is only present (as is the whole key) for products registered with Add/Remove Programs that support quiet uninstall - there are a million cases where these keys don’t exist or even register with ARP so assuming this is the method to always use isn’t right It might not however be the case that the product can’t be silently uninstalled there maybe other methods. It’s likely that the publisher hasn’t either catered for it or is intentional (like a pop-up saying why did you uninstall etc) Anyways as a MSI, I assume you tried the standard /qn etc? Whats the actual message? r/applicationpackaging as this is a packaging question Answer from Deleted User on reddit.com
🌐
Reddit
reddit.com › r/powershell › is it possible to silent/force uninstall when application does not have a quietuninstallstring?
r/PowerShell on Reddit: Is it possible to silent/force uninstall when application does not have a QuietUninstallString?
February 24, 2023 -

I would like to uninstall an application using registry paths as this is what I can view in Defender for users devices.

When using the following command it works but a prompt is still coming up. I have tried adding different switches but not getting any where. Is this even possible if the app does not have a QuietUninstallString listed?

$paths = 'REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{6FB7DAEC-5DAD-491E-9951-4684423F291C}'
$app = Get-ItemProperty $paths | Select-Object UninstallString
$app.UninstallString | cmd

Thank you

Discussions

Need PowerShell working script to uninstall software from Control Panel,Registry
Hi Experts, I have to uninstall Microsoft Visual C++ 2019 X64 Additional Runtime - 14.29.30133 & Microsoft Visual C++ 2019 X86 Additional Runtime - 14.29.30133 software from my Control panel and Registry. I have tried from the below powershell code, I am not getting any error. More on community.spiceworks.com
🌐 community.spiceworks.com
24
12
March 3, 2023
Software Uninstaller Script (Silent)
Some tips when sharing: Don't use positional parameters, I added -Object here A personal one, but try to keep using capital letters at the start of cmds/parameters You also don't need the "" when using a variable on it's own Write-Host -ForegroundColor Magenta -Object $MsgIntro Don't use aliases Select-Object -Property Displayname, InstallLocation, UninstallString Sort-Object Try to keep it PowerShell cmd /c $uninstall /quiet /norestart Consider using Start-Process instead. If you're not already aware. PSScriptAnalyzer is a great tool to scan your scrips to highlight common mistakes. More on reddit.com
🌐 r/PowerShell
17
32
January 24, 2018
uninstalling an application via uninstallString
Hi guys, I am trying to uninstall an application on a remote server using uninstallstring, a property of Get-ItemProperty cmdlet in PowerShell, but failing to do so. I have also tried suggestions explained in another thread, click here to access the thread, however, my following script still ... More on forums.powershell.org
🌐 forums.powershell.org
19
0
July 31, 2019
uninstallation - Uninstall Chrome silently using Powershell - Stack Overflow
I have the following PowerShell script, which I am using to get the uninstall string for Google Chrome, and then I want to uninstall it silently. Line 3 in the script will pop up the GUI uninstaller (so it seems like everything is correct thus far), but if I add "/qn" or "/quiet" to the argument list, the uninstall doesn't seem to run at all, even if I let it sit for a couple hours. ... $AppName = "Google Chrome" $Chrome = Get-ChildItem -Path HKLM:\SOFTWARE... More on stackoverflow.com
🌐 stackoverflow.com
Top answer
1 of 2
1

First of all, you have to check for the silent uninstall command.

For this purpose I usually use this tool: https://www.nirsoft.net/utils/uninstall_view.html

UninstallView is a tool for Windows that collects information about all programs installed on your system and displays the details of the installed programs in one table. You can use it to get installed programs information for your local system, for remote computer on your network, and for external hard-drive plugged to your computer. It also allows you to easily uninstall a software on your local computer and remote computer (Including quiet uninstall if the installer supports it).

The tool displays the silent uninstall command.

If you find the command, try it out manually. Sometimes, even a command is provided, silent uninstall doesn't work as expected.

Second, my recommendation is not to use WMI for uninstall, cause it is slow in determine the installed programs. Instead check for the registry key, which is also displayed by the tool.

To be more generic, read in these keys

HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

search for DisplayName with a where statement and execute the command in the quietuninstall key.

2 of 2
1

Uninstall an application silently

To uninstall an application, you can run the uninstall process as a startup script so it does not require any end-user input or interaction to complete the uninstall operation.

Since you are using PowerShell and already have logic you confirm uninstalls the application you need, the example provided will build off of that to keep it simple and basic.

Furthermore, beneath that I will provide an additional but different (and more efficient) way to uninstall the package using PowerShell since you are using Windows 10.

  1. PowerShell Script (existing logic)

    Note: Save this to C:\Scripts\Test.ps1 or on the local machine or perhaps a UNC path that you've granted Domain Computers and/or Authenticated Users to the folder and the share.

    $app = Get-WmiObject -Class Win32_Product | ?{$_.name -eq "HP Support Assistant"};
    $app.Uninstall();
    
  2. PowerShell Script (more effecient logic)

    Note: This uses Get-Package with the package name and pipes that over to Uninstall-Package to uninstall the application from Windows.

    $pName = "HP Support Assistant";
    Get-Package $pName | Uninstall-Package;
    

Run as a startup script using Group Policy settings

Note: Use gpedit.msc on the local machine to run the script as a Startup Script or if you are able use Group Policies from Active Directory if applicable in a domain environment.

  1. Go to gpedit.msc
  2. Navigate Computer Configurations | Windows Settings | Scripts (Startup/Shutdown)
  3. Click on Startup | PowerShell Scripts tab | Add option
  4. Point the Script Name field to the full path of the startup script location
  5. Press OK and/or Apply out of all existing screens to save the settings

  6. Lastly, you will just want to restart the computer to ensure the startup script runs and uninstalls the application without any need for user interaction or input.


Other Potential Solution

According to an answer on the HP Silent Uninstall HP Support Assistant post, you can also uninstall the HP Support Assistant application while logged on and not as a login script silently using:

"C:\Program Files (x86)\Hewlett-Packard\HP Support Framework\UninstallHPSA.exe" /s /v /qn


Supporting Resources

  • Get-Package
  • Uninstall-Package
🌐
GitHub
github.com › mightyteegar › SilentUninstall
GitHub - mightyteegar/SilentUninstall: Powershell script to attempt to silently uninstall programs on a Windows machine. · GitHub
SilentUninstall.ps1 cisco -u -nosim -- ACTUALLY uninstalls EVERY program found with the word "cisco" in the name, one at a time. The -nosim flag exists to reduce the possibility of an accidental uninstallation.
Author   mightyteegar
🌐
Windows OS Hub
woshub.com › uninstall-apps-with-powershell-windows
Uninstalling Apps Using PowerShell or CMD on Windows 11 and 10 | Windows OS Hub
2 weeks ago - To uninstall a program, copy the command from the UninstallString value and paste it into the command prompt to execute it. Note that some apps include a command in the QuietUninstallString value that can be used to remove the program silently ...
🌐
TechLabs
techlabs.blog › categories › office-365 › uninstall-an-application-using-powershell-and-endpoint-manager
Uninstall an Application using PowerShell and Endpoint Manager - TechLabs
October 3, 2022 - To run msiexec using PowerShell, we will need to use Start-Process and -Argument for the options · Example: Silent uninstall Nitro Pro PDF v12 using msiexec from PowerShell · Start-Process msiexec.exe -Argument "/x {E7379322-0E5B-4410-A00...
Find elsewhere
🌐
Powershell Commands
powershellcommands.com › powershell-script-to-uninstall-software-silently
PowerShell Script to Uninstall Software Silently: A Guide
September 10, 2024 - In this guide, we explored the process of creating a PowerShell script to uninstall software silently.
🌐
Redmondmag.com
redmondmag.com › articles › 2019 › 08 › 27 › powershell-to-uninstall-an-application.aspx
How To Use PowerShell To Uninstall an Application -- Redmondmag.com
August 27, 2019 - Now you can uninstall the application by calling the Uninstall method. Here is the command: ... The technique that I just showed you is the generally accepted way of removing applications from a Windows desktop using PowerShell.
🌐
Microsoft Learn
learn.microsoft.com › en-us › powershell › module › packagemanagement › uninstall-package
Uninstall-Package (PackageManagement) - PowerShell | Microsoft Learn
For more information, see the PowerShell reference documentation for the Package Manager Console of Visual Studio. The Uninstall-Package cmdlet uninstalls packages. The Name parameter specifies the package to uninstall.
Top answer
1 of 2
2

Within PowerShell, this is very easy to do.

The below block of script will take a computer name, your username and password, connect to the remote computer and list all installed software by name:

$computerName = "SomeComputerName"
$yourAccount = Get-Credential
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
    Get-WmiObject Win32_Product | Select Name
}

When you have the name of the product you want to uninstall remotely - you can the perform an uninstall like this:

$computerName = "SomeComputerName"
$appName = "AppName"
$yourAccount = Get-Credential
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
    Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
        $_.Uninstall()
    }
}

In the above eaxmples - replace "SomeComputerName" with the name of the computer you wish to uninstall from.

You can also make the script prompt you for a computer name if you prefer with the following line:

$computerName = Read-Host "Enter Computer Name"

If you have multiple computers with the same piece of software that you want to uninstall - you can also define an array of computers to work with and do uninstalls from lots of machines:

$computerNames = @("SomeComputerName1", "SomeComputerName2", "SomeComputerName3")
$appName = "AppName"
$yourAccount = Get-Credential
ForEach ($computerName in $computerNames) {
    Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
        Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
            $_.Uninstall()
        }
    }
}
2 of 2
0

If you create a file called "servers.txt" and place your list of servers in it you could also reference $computerNames as follows:

$computerNames = Get-Content "C:\some-directory\servers.txt"
$appName = "AppName"
$yourAccount = Get-Credential
ForEach ($computerName in $computerNames) {
    Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
        Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
            $_.Uninstall()
        }
    }
}

I've used this approach many times in production environments and it seems to work for me. Always test this in a non-production environment before completing in a prod environment.

🌐
4sysops
4sysops.com › home › blog › articles › uninstall programs (remotely) with powershell
Uninstall programs (remotely) with PowerShell – 4sysops
July 28, 2023 - Either they are limited to certain types of programs or are incapable of removing programs remotely. The latter can be done via WMI, although you can't use the new CIM cmdlets for that. If you only get an incomplete list of installed software this way, then you can use the cmdlets from the PackageManagement package—but only locally. ... Join the 4sysops PowerShell group!
🌐
Reddit
reddit.com › r/powershell › software uninstaller script (silent)
r/PowerShell on Reddit: Software Uninstaller Script (Silent)
January 24, 2018 -

Hey guys

here's the full script for who wants it, it is a simple script to uninstall multiple applications at once if you want. (Select multiple applications in the out-gridview and press "ok")

Be very careful using this script! Use it at your own risk and if you know what you are doing.

Any positive/negative criticism is always welcome in order for me to improve my skills.

Thank you!

    $MsgIntro = @' 

    ***********************                               ***********************
                              Software Uninstaller Tool    Made by PRIDEVisions
    ***********************                               ***********************

    '@

    write-host -ForegroundColor Magenta "$MsgIntro"
    Write-host -ForegroundColor Magenta "Please select the software you wish to uninstall..."

    Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | select Displayname, InstallLocation, UninstallString | sort | Out-GridView -PassThru -OutVariable software

    write-host -ForegroundColor Yellow "The following software will be uninstalled:"

    foreach ($application in $software) {
        write-host "$Application"
        $uninstall = $Application.UnInstallString
        cmd /c $uninstall /quiet /norestart
        }

Original question regarding this script: https://www.reddit.com/r/PowerShell/comments/7sdc0u/readhost_interrupting_script/

Edit: Quickly adjusted the script for both 32-bit & 64-bit software versions (It's not fully changed as i would like to but now it works better).

    $MsgIntro = @' 

    ***********************                               ***********************
                              Software Uninstaller Tool       Made by PRIdEVisions
    ***********************                               ***********************

    '@

    write-host -ForegroundColor Magenta "$MsgIntro"
    Write-host -ForegroundColor Magenta "Please select the software you wish to uninstall..."


    $Software = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" | select DisplayName, UninstallString, InstallLocation, InstallDate | out-gridview -PassThru



    write-host -ForegroundColor Yellow "The following software will be uninstalled:"

    foreach ($application in $Software) {

        if ($application.UninstallString -like "MsiExec*") {
        write-host "$Application"
        $uninstall = $Application.UnInstallString
        cmd /c $uninstall /quiet /norestart
        }
        else {
            $uninstall = $Application.UnInstallString
            & "$uninstall"
    
        }
        }
🌐
Action1
action1.com › home › blog › how to uninstall software using powershell in windows 10
How to Uninstall Software Using PowerShell in Windows 10
September 19, 2025 - Let’s figure out how to remove apps built-in Windows 10. You can use PowerShell to uninstall programs silently.
🌐
PowerShell Forums
forums.powershell.org › powershell help
uninstalling an application via uninstallString - PowerShell Help - PowerShell Forums
July 31, 2019 - Hi guys, I am trying to uninstall an application on a remote server using uninstallstring, a property of Get-ItemProperty cmdlet in PowerShell, but failing to do so. I have also tried suggestions explained in another thread, click here to access the thread, however, my following script still ...
🌐
YouTube
youtube.com › watch
Mastering PowerShell: Uninstalling Software Made Easy - YouTube
In this video, we'll show you how to use PowerShell to quickly and easily uninstall the software from your Windows computer. Specifically, we'll walk you thr...
Published   April 23, 2023
🌐
Reddit
reddit.com › r/powershell › trying to write uninstall script
r/PowerShell on Reddit: Trying To Write Uninstall Script
June 19, 2023 -

Hi all,

I've got a program I need to uninstall across about 50 or so machines in our fleet. I'm trying to write a Powershell script which will be deployed through Intune, but it doesn't appear to work when I test it on my machine. Full disclosure, as I'm very new to Powershell I asked ChatGPT to write it first, both to test ChatGPT, and to get a starting point if it didn't work. From what I can tell it looks like this script should absolutely work, but it just doesn't do anything and doesn't give me any errors.

# Check if the package is installed

$packageName = "Virtual Connect"

$packageInstalled = Get-Package -Name $packageName -ErrorAction SilentlyContinue

if ($packageInstalled) {

Write-Host "Uninstalling package: $packageName"

# Uninstall the package

Uninstall-Package -Name $packageName -Force

if ($?) {

Write-Host "Package '$packageName' was successfully uninstalled."

} else {

Write-Host "Failed to uninstall package '$packageName'."

}

} else {

Write-Host "Package '$packageName' is not installed."

}

Ideally what I'd like to do is have this app, 'Virtual Connect', uninstall silently. It's no longer in use across the organisation so best to just get rid of it entirely. Any advice would be greatly appreciated.