SLKs and the DLK

The Visual Studio SDK uses shell load keys (SLKs) to authenticate valid isolated shell applications that users can install. When you install the Visual Studio SDK, you install a developer license key (DLK) which grants you permission to develop VSPackages and shell applications. After you create an isolated shell application, you must obtain an SLK before other users can install and use your shell application.

The DLK is a generic key that lets you develop and test the functionality of VSPackages and shell applications before deploying them.

An SLK is a public-key encoded string that is generated for a specific isolated shell application. Visual Studio uses a security model that requires authentication of an SLK to prevent unauthenticated isolated shell applications from launching.

Visual Studio validates keys for isolated shell applications at load time by synchronizing the application's SLK with a private key. A successful match authenticates registration and enables the shell application to launch. Authentication of the SLK occurs every time that an isolated shell application attempts to launch.

注意

Each isolated shell application requires its own unique SLK.

The SLK string is derived from the data that you provide to Microsoft at the time that you request the SLK. If the SLK is not valid, the isolated shell application can not launch, and the user receives an error message to that effect. For more information, see How to: Obtain an SLK for a Shell Application.

注意

The fields in an SLK are not localized.

Developer License Key

The DLK is a generic key that lets you develop and test the functionality of your VSPackage or isolated shell application before deploying the package or application.

Any computer on which the Visual Studio SDK is installed is presumed to be a developer workstation. The Visual Studio SDK setup installs the DLK and therefore enables any isolated shell application to launch, regardless of the presence or validity of an SLK.

See Also

Concepts

Visual Studio 2008 Shell Isolated Mode

DLK and PLK Explained