Post

Uninstall Software in Windows 2012 R2 Server CORE / Hyper-V Server

Uninstall Software in Windows 2012 R2 Server CORE / Hyper-V Server

Uninstalling Software from Windows Server Core

Windows Server Core and Hyper-V Server don’t include a graphical interface for managing installed software. This guide explains how to uninstall applications using the registry and command line.

Method 1: Using Remote Registry

Step 1: Access the Remote Registry

  1. On a management workstation, open Registry Editor (regedit.exe)
  2. Connect to the remote registry:
    • Click on “File” → “Connect Network Registry…”
    • Enter the server name or IP address
    • Provide administrator credentials when prompted

Step 2: Locate the Uninstall Information

Navigate to the following registry key:

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Step 3: Find the Application to Uninstall

  1. Expand the “Uninstall” key
  2. Browse through the subkeys (typically GUIDs like {ED5776D5-59B4-43c8-8012-1A51F3F15CE9})
  3. Look for the application you want to uninstall by checking the “DisplayName” value
  4. Once found, note the “UninstallString” value

Step 4: Execute the Uninstall Command

  1. Connect to the Server Core machine via PowerShell remoting or RDP
  2. Run the uninstall string you found in the registry

Method 2: Using PowerShell (Remote or Local)

List Installed Software

1
2
3
4
5
# List all installed software
Get-WmiObject -Class Win32_Product | Select-Object Name, Version

# Or for more detailed information
Get-WmiObject -Class Win32_Product | Format-List Name, Version, Vendor, InstallDate

Uninstall Software by Name

1
2
3
4
5
# Uninstall by exact name
Get-WmiObject -Class Win32_Product -Filter "Name='Application Name'" | ForEach-Object { $_.Uninstall() }

# Find and uninstall by partial name
Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "*partial name*" } | ForEach-Object { $_.Uninstall() }

Method 3: Using WMIC Command Line

:: List installed applications
wmic product get name,version

:: Uninstall by name
wmic product where "name='Application Name'" call uninstall

:: Uninstall by ID
wmic product where IdentifyingNumber="{Product-GUID}" call uninstall

Notes and Troubleshooting

  • Some applications may not appear in the Win32_Product WMI class
  • For MSI-based installations, you can use msiexec /x {Product-GUID} /quiet for silent uninstallation
  • If the uninstall string contains MsiExec.exe, you may need to add /quiet or /passive for silent/semi-silent uninstallation
  • Always back up important data before uninstalling applications
  • For applications with custom uninstallers, you may need to follow the exact syntax specified in the UninstallString
This post is licensed under CC BY 4.0 by the author.