# DeleteKeysEx

### Description

Deletes license keys, proxy settings, and floating license settings stored on the end-user system with the StoreKeys API. To store keys, use the StoreKeys API. To read the stored keys, use the ReadKeys API.

```csharp
void DeleteKeys (bool deleteActivationKey, bool deleteComputerKey, 
                 bool deleteProxySettings, bool deleteFloatingSettings, 
                 out string errorMessage)
```

### Arguments

| Name                   | Data Type | Description                                      |
| ---------------------- | :-------: | ------------------------------------------------ |
| deleteActivationKey    |    bool   | If true, deletes the Activation Key              |
| deleteComputerKey      |    bool   | If true, deletes the Computer Key                |
| deleteProxySettings    |    bool   | If true, deletes the Proxy Settings              |
| deleteFloatingSettings |    bool   | If true, deletes the Floating Settings           |
| errorMessage           |   string  | errorMessage returned if some operations failed. |

### Remarks

DeleteKeysEx works in tandem with the [StoreKeysOptions ](/docs/faq/storekeys-options.md)property. If StoreKeysOptions is set to EStoreKeysPerMachine or EStoreKeysPerUserAndMachine, DeleteKeysEx will attempt to delete keys stored at the machine level. Deleting keys at the machine level is only possible if the process executing the delete is running with elevated privileges.

For example, if you use the QLM License Wizard standalone executable to activate the license and you launch the QLM License Wizard with the elevated privilege option, the Activation Key and ComputerKey will be stored at the machine level. If you then call DeleteKeysEx from within your application which is not running with elevated privileges, you will not be able to delete the keys stored at the machine level.

There are 3 options to resolve this:

* Set [StoreKeysOptions ](/docs/faq/storekeys-options.md)to EStoreKeysPerUser
* Use the QLM License Wizard executable to deactivate the keys
* Run your application with elevated privileges.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.soraco.co/docs/api-reference/.net-api/qlmlicense/client-side-methods/deletekeysex.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
