I'm running Windows Server 2008 Standard running in VMware. It has 2 disks:
- system disk: 16 GB
- data disk: 500 MB
I installed Visual Studio 2008 SP1 + MSDN and some small tools and libraries that don't take much space. Over time the system disk's free space has been going down (I suspect because of regular system updates - NetFx (.NET), service packs, and regular updates).
Questions 1
How do you remove Windows Update uninstall files from Windows Server 2008?
Question 2
I also found lots of files in C:/Windows/Installer
folder.
Is it possible to determine which .msp file goes with which patch?
I would like to delete some of them, because they do take a lot of space.
Associating the files with patches. The "
WINDOWS\Installer\
" folder has severalkey
sub-folders.You can search for the sub-folder name (without the braces
{}
) in the registry.The key can be searched within the "
HKLM\SOFTWARE\
" treeto get the Software association.
The key would be placed in the
Installer
sub-tree on the nameENU_GUID
.Similarly, in the registry path "
HKEY_CLASSES_ROOT\Installer\Products\
",The key will usually match in a subtree against the "
ProductIcon
" name.There will be a "
ProductName
" field next to it that will give you an association.This search should be script-able with a
dir WINDOWS\Installer /d
outputstored to a text file that is processed with a registry search.
The
.MSP
files have a level of indirection in the registry.You should search for the MSP name first in,
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\
That will give you a Patch number (the sub-tree name string) which is to be then searched again in the same path as above. The associated registry sub-tree will give you details for the patch.
Meanwhile, the mouse-over context in my Windows XP explorer also gives basic information on the patch. Have you checked that already?
Older data:
Use msizap to remove orphaned cached Windows Installer Data Files to increase free disk space.
The article discusses up to Windows Server 2003.
Update: This Microsoft KB description also limits at Server 2003.
It should work for Server 2008, or there would be another version for it.
The article describes existence of two versions.
Download references -- in case that link goes dead.
For Q1, you mean just the normal Windows Updates files that get installed through Automatic Updates? You can free up that space by deleting the content INSIDE C:\windows\SoftwareDistribution\Download
The $NtUninstallKB folder in previous OS' doesn't exist in Windows 2008 so you can't just delete the uninstall files anymore.
16 GB is pushing it for a system volume for Win2008 - a fresh install with updates has taken up 15 GB on my 2008 VM. I am not sure about freeing up space within the system volume by deleting "unnecessary" files and folders, but the good news is it is a VM, it is Win2008, and you can actually make the system disk bigger quite easily because of these 2 things.
I am running a Win2008 VM on a standalone ESXi 3.5 box. To increase the size of the system disk:
1) Edit the VM properties and change the hard disk size to something larger (I'd recommend at least 40 GB or more to ensure you don't have to do this again)
2) Reboot the VM (you may not actually have to do this step, but I did on mine - seemed too crazy to be able to resize the system volume without rebooting since it is Windows after all...)
3) Go to Disk Management and you should see the extra space as X amount of unallocated space.
4) Right click your system volume and select "Extend Volume...". Go through the wizard to add the additional space to your system volume and you now have a larger one than you did before.
Goes without saying that you could also do this to your Data disk as well. Even if this wasn't a VM you could still add another physical disk and extend onto that although you may be creating a less fault-tolerant configuration unless you are extending onto a RAID volume. Because this is a VM, all ESX does is make the vmdk file larger.
There are a number of things you can look at:
These are just a few I could think of, there are a number of good articles on the internet describing a variety of techniques for freeing space, some safe, some likely to destroy your windows install if you get it wrong, so beware!
They changed the Servcing stack in Vista and 2008 so you no longer get the $NTUninstall files in your system dir like with previous Windows versions. It wedges everything in to the WinSxS directory to give more robust rollback and use-the-latest-version-of-a-file abilities.
Have a look at the Windows Component Clean Tool (compcln.exe) that comes with SP2 for 2008 or Vista, it'll ditch some files, but only frees up around 900MB for me. Still, better then nothing.
Be very careful about deleting anything from the Windows and installer folder because these MSI files are required to install later updates. You can see what each one is by going into properties and looking at the version information. The biggest one will most probably be Visual Studio.
I am having the same headache on a bunch of Windows 2003 Server installations that were originally given 10 GB drives. It's a real pain that Microsoft have introduced this tactic of keeping every installer without giving us any heads-up on it.
The best thing I have found is to take a backup of the installer folder so that you can delete and replace them later as required by setup. But yeah, then you still have to waste time around working out which is which.
I would make a disk image of the system using Clonezilla and then go ahead and experiment. If things dont work out just restore the image and try again until you get it.
Files in C:\Windows\Installer are not related to patches or updates; they come with programs you install, and are needed for change/repair/uninstall oeprations (and sometimes for installing later updates to these programs, too).
You should definitely not delete them.