Option Explicit Sub DeleteRegKeyAndSubKeys(strRegTree, strKeyPath) 'strRegTree = "HKEY_CLASSES_ROOT" ' "HKEY_CURRENT_USER" ' "HKEY_LOCAL_MACHINE" ' "HKEY_USERS" ' "HKEY_CURRENT_CONFIG" 'strKeyPath is the registry key to delete. Example : ' "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySoftware" Const HKEY_CLASSES_ROOT = &H80000000 Const HKEY_CURRENT_USER = &H80000001 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_USERS = &H80000003 Const HKEY_CURRENT_CONFIG = &H80000005 Dim hTree, strComputer, oReg, arrSubKeys, strSubKey Select Case strRegTree Case "HKEY_CLASSES_ROOT" hTree = HKEY_CLASSES_ROOT Case "HKEY_CURRENT_USER" hTree = HKEY_CURRENT_USER Case "HKEY_LOCAL_MACHINE" hTree = HKEY_LOCAL_MACHINE Case "HKEY_USERS" hTree = HKEY_USERS Case "HKEY_CURRENT_CONFIG" hTree = HKEY_CURRENT_CONFIG End Select strComputer = "." Set oReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") oReg.EnumKey hTree, strKeyPath, arrSubKeys If IsArray(arrSubKeys) Then For Each strSubKey In arrSubKeys DeleteRegKeyAndSubKeys strRegTree, strKeyPath & "\" & strSubKey Next End If oReg.DeleteKey hTree, strKeyPath End Sub 'DeleteRegKeyAndSubKeys "HKEY_LOCAL_MACHINE", "SOFTWARE\Classes\Installer\Products\B1E406903FD90804C9B350FA2EF723D4\"