RegistryKey.DeleteValue Method (String, Boolean)

Deletes the specified value from this key.

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

public void DeleteValue (
	string name,
	bool throwOnMissingValue
public void DeleteValue (
	String name, 
	boolean throwOnMissingValue
public function DeleteValue (
	name : String, 
	throwOnMissingValue : boolean



The name of the value to delete.


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

Exception typeCondition


name is not a valid reference to a value and throwOnMissingValue is true.


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


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


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


The RegistryKey being manipulated is read-only.

If throwOnMissingValue is false, there is no way to tell if the deletion was successful, without subsequently trying to access the value just deleted. Therefore, use caution when deleting values from the registry in this manner.

On Windows 95, Windows 98, Windows 98 Second Edition, and Windows Millennium Edition, specifying an empty string for the name parameter does not delete the default value.

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