RegistryKey.DeleteSubKey Method (String, Boolean)

Deletes the specified subkey. The string subkey is not case-sensitive.

Namespace: Microsoft.Win32
Assembly: mscorlib (in mscorlib.dll)

public void DeleteSubKey (
	string subkey,
	bool throwOnMissingSubKey
public void DeleteSubKey (
	String subkey, 
	boolean throwOnMissingSubKey
public function DeleteSubKey (
	subkey : String, 
	throwOnMissingSubKey : boolean



The name of the subkey to delete.


Indicates whether an exception should be raised if the specified subkey cannot be found. If this argument is true and the specified subkey does not exist, then an exception is raised. If this argument is false and the specified subkey does not exist, then no action is taken

Exception typeCondition


subkey has child subkeys.


subkey does not specify a valid registry key and throwOnMissingSubKey is true.


subkey is a null reference (Nothing in Visual Basic).


The user does not have the permissions required to delete the key.


The RegistryKey being manipulated is closed (closed keys cannot be accessed).


The user does not have the necessary registry rights.

To delete child subkeys, use DeleteSubKeyTree.

Use caution when deleting registry keys.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0

Community Additions