Jump to content
xisto Community
Sign in to follow this  
iGuest

Remove Windows Update Uninstall Information Sick of seeing NtUninstall in Windows Folder, I am

Recommended Posts

Below is a script I created to remove those space taking $NtUninstall Folders from the Windows Directory as well as the entries in the Registry for them. It's not much space saving but at least it gets rid of the unnecessary scrolling that comes with it when looking in the Windows Folder.

 

Tested on Windows XP, Requires WScript and VBScript (which would be with most Windows OS)

 

$NtUninstall Folders contain the uninstall information required if you chose to remove a Windows Updated Component, I don't know anyone who needs to do this, and usually if you do, you would be required to remove it the second it's been installed because it should give you problems instantly. This script will only remove those that are present now, so if you do another Windows Update, you'll end up with newer folders so if you have problems with the new updates, least you have the option of going into Add/Remove to remove the new update. If you have no problems, you can re-use this script to remove them.

 

Save the script as RemoveWindowsUninstall.vbs in Notepad or any Text Editor of your choice (Not Word Processor Documents)

 

Option ExplicitDim o, oShell, nConfirmSet o = WScript.Applicationo.Interactive = TrueSet oShell = CreateObject("WScript.Shell")nConfirm = oShell.Popup("Do you want to remove Windows Update Uninstall Files?", 0, "Remove Windows Update Uninstall Files", 4 + 32)If nConfirm = 7 Then	o.Quit 0End IfDim oFSO, sWinDir, oFolder, oDictionary, oSubFolder, sFolderName, sFolderPath, sUpdateName, sDeletedSet oFSO = CreateObject("Scripting.FileSystemObject")sWinDir = oFSO.GetSpecialFolder(0)sDeleted = vbNullStringSet oFolder = oFSO.GetFolder(sWinDir)Set oDictionary = CreateObject("Scripting.Dictionary")For Each oSubFolder In oFolder.SubFolders	sFolderName = LCase(oSubFolder.Name)	sFolderPath = LCase(oSubFolder.Path)	If Left(sFolderName, 12) = "$ntuninstall" And Mid(sFolderName, 13, 2) = "kb" Or Mid(sFolderName, 13, 2) = "q" Then		sUpdateName = Mid(sFolderName, 13, Len(sFolderName) - 13)		oDictionary.Add sUpdateName, sFolderPath	End IfNextFor Each sUpdateName in oDictionary.Keys	sDeleted = sDeleted & vbCrLF & sUpdateName	sFolderPath = oDictionary.Item(sUpdateName)On Error Resume Next	oShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & sUpdateName & "\"On Error Goto 0	oShell.Run "%ComSpec% /C RD /S /Q " & Chr(34) & sFolderPath & Chr(34), 0, TrueNextIf Len(sDeleted) > 0 Then	MsgBox "The uninstall data for the following updates are now removed:" & vbCrLf & UCase(sDeleted), vbOKOnly + vbInformation, "Files Removed"	sDeleted = vbNullStringElse	MsgBox "No Windows Update Folders found for removal", vbOKOnly + vbInformation, "Nothing To Do"End Ifo.Quit 0

Just run the program, and those pesky $NtUninstalls should be gone, I know there are other folders that could be removed too, but I'll look at doing that another time, the majority is made up of these $NtUninstalls.

 

I will be working on other scripts to remove Temporary Files, Cookies, Prefetch, Recent and any other nonsense I come across as I need to create a very basic clean up script that does all the tasks people usually need to do if they want to get some space back. So stay tune for that.

 

Cheers,

 

 

MC

Share this post


Link to post
Share on other sites

This seems cool. Maybe you could make some more scripts so when it comes to backing up the os or creating images, the images will be a lot smaller. Save space and make management easier. I always try to get rid of the pagefile.sys and the hibernation file. They take up a more space now days since computer/laptops use more memory.Good job. :mellow:

Share this post


Link to post
Share on other sites

Nice script, but I think there are thousands of other programs that do the same (and I personaly prefer to remove these folders manualy, IF I remove them :mellow: ).

Share this post


Link to post
Share on other sites
enhancementRemove Windows Update Uninstall Information

It would be great to display the output in a scrolling window with an acumulative total of amount of free space recovered. :)

Perhaps even an option of copying a .Reg file and the $NTUninstall folders to a network share for the ability to roll back a particular update if need be.

-reply by T_u_c_k_e_r_s

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.