A script to delete a registry key and its subkeys via a Custom Action. Useful for when we want to delete junk registry which has been left behind post uninstall.
Source:
Script:
Option Explicit
Dim intHive
Dim strComputer
Dim strKeyPath
Dim strSubkey 
Dim arrSubkeys
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
Const HKEY_CURRENT_CONFIG = &H80000005
On Error Resume Next 
strComputer = "."
strKeyPath = "Software\Test" 
Dim objRegistry : Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 
DeleteSubkeys HKEY_LOCAL_MACHINE, strKeypath 
Set objRegistry  = Nothing
Sub DeleteSubkeys(HKEY_HIVE, strKeyPath) 
    objRegistry.EnumKey HKEY_HIVE, strKeyPath, arrSubkeys 
    If IsArray(arrSubkeys) Then 
        For Each strSubkey In arrSubkeys 
            DeleteSubkeys HKEY_HIVE, strKeyPath & "\" & strSubkey 
        Next 
    End If 
    objRegistry.DeleteKey HKEY_HIVE, strKeyPath 
End Sub





