Add or Remove programs in Server Core – The things that are better left unspoken

After playing about with Server Core for a while I ‘m beginning to wonder how to perform certain administrative tasks. today I found myself wondering about software management after reading a post on the Microsoft TechNet forums and decided to put my thoughts on newspaper .

Executables and MSI packages

basically there are two dominant ways to install software to a Windows installation. The first way is through running an feasible with an casual command trace switch over. The moment way is using MSI packages in combination with msiexec. MSI packages volunteer advantages, but the drawback is not all software is available as a MSI box .
To me the real dispute between exe and msi files in regards to Server Core is how the information to uninstall the software is stored afterwards.

Add or remove programs

again there are two ways to get information on the software that is installed onto your Server Core installation in absence of the “ Add or Remove programs ” Control Panel applet. ( besides known as appwiz.cpl )


The first way is by checking the register keys underneath the following cardinal :


fortunately Server Core offers regedit.exe and regedt32.exe to digg deep into the register of our Server Core box. actually the “ Add or Remove programs ” Control Panel applet checks these registry keys at good. Since we all know how long it takes to get a complete list of all the software on your windows box it ‘s obvious this method acting takes a bunch of clock .
As this TechNet page points out the software packages that are listed underneath the Uninstall register identify all have a register rate associated with the UninstallString. You can use this prize as a command to uninstall the software .


An easier way to check which software packages were installed is using the Windows Management Instrumentation Console :

wmic product

This returns the data on the packages installed using the MSI installer. This however might not be all the software installed on your box. It ‘s a fast means, but obviously not very exhaustive. The output signal represents the MSI packages. Using the MSI packages and the uninstall command note switch you can uninstall packages .


When your specifically searching for drivers that are installed for your systems hardware you can use the keep up command cable :

Sc query type= driver

Uninstalling a driver is not a very probably scenario, but you can uninstall drivers using :

pnputil -d -f package.inf

According to this TechNet page this will remove the package from the driver memory. restarting the server will result in the same scenario before you actually added the driver to the system. ( I can think of scenarios where this might be a good thing )

Windows Updates

Checking for Windows Updates on Server Core is a whole other ball game, for which I recommend using the surveil command line :

wmic qfe

Removing a Windows Update is easy equally well, since the above instruction line outputs values that you can use in the postdate command line :

Wusa.exe patchname .msu


There are two independent ways of installing software on your Server Core box. There are besides two ways of checking for installed software and removing them .
Digging through the register might not be the most efficient way to check for install software and find the removal strings.

I suspect the Server Core team might find it useful to supply us with some software removal option inside SCregEdit.wsf. Using a third base party ( freeware ) cock like Revo Uninstaller or MyInstaller and their possible approach surfaces from my point of opinion should not be a part of the Server Core scheme .

Further reading

Windows Installer : Benefits and Implementation for System Administrators
WMIC – Take Command-line Control over WMI
Command-Line Switches for the Microsoft Windows Installer Tool
Windows Server 2008 – Uninstall or Reinstall a Device
Uninstall Registry Key ( Windows )
MyUninstaller – option to Add or Remove Programs
Why did the Add or Remove Programs master panel try to guess all that information ?
remotely Deleting a Program Listed in Add/Remove Programs
( Add or ) Remove Programs
Remove broadcast from Add/Remove program lists
Remove Programs in Bulk with Absolute Uninstaller
The Brutal Inefficiency of MSIEXEC
MSI Gurus – Command-Lines
Executing MSI From Command Prompt

Disclaimer Beta Software

The information on this web page applies to software from Microsoft that was in testing phase but utilizable by experience users by the time the web page was written. This software has not been released for sale, distribution or custom for the general public. The information on this web page and the beta software are provided “ as is “ without guarantee of any kind, either expressed or implied, including, but not limited to, the imply warranties of merchantability and seaworthiness for a finical aim .

source :
Category : Tech FAQ

Related Posts

Leave a Reply

Your email address will not be published.