RegistryKey.DeleteValue Method (String, Boolean)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Deletes the specified value from this key, and specifies whether an exception is raised if the value is not found.

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

public void DeleteValue(
	string name,
	bool throwOnMissingValue


Type: System.String

The name of the value to delete.

Type: System.Boolean

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, an exception is raised. If this argument is false and the specified value does not exist, no action is taken.

Exception Condition

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


name is null.


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.


for the ability to delete the specified registry key. Associated enumerations: RegistryPermissionAccess.Write

.NET Framework
Available since 1.1
Return to top