|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
PLKs and the DLK
The Visual Studio SDK uses package load keys (PLKs) to authenticate valid VSPackages 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. After you create a VSPackage, you must obtain a PLK before other users can install and use your VSPackage.
A PLK is a public-key encoded string that is generated for a specific VSPackage. Visual Studio uses a security model that requires authentication of a PLK to prevent unauthenticated VSPackages from loading in the Visual Studio integrated development environment (IDE).
Visual Studio validates keys for VSPackages at load time by synchronizing the PLK with a private key. A successful match authenticates registration and enables the VSPackage to load. Authentication of the PLK occurs every time that a VSPackage tries to load. This applies both to auto-loaded and delay-loaded VSPackages.
Each VSPackage requires its own unique PLK even if it is a component of a single product that contains more than one VSPackage.
The PLK string is derived from the data that you provide to Microsoft at the time that you request the PLK. For more information, seeand .
If the PLK is not valid, Visual Studio does not load the VSPackage and the user receives an error message to that effect. To learn how to troubleshoot a PLK load failure, see.
You can optionally load a PLK from a satellite DLL. As a matter of course, the IDE tries to load a PLK from the satellite DLL in addition to the VSPackage DLL, and it runs authentication on either or both strings it acquires.
The fields in a PLK are not localized.
Developer License Key
The DLK is a generic key that lets you develop and test the functionality of your VSPackage before obtaining a PLK.
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 Visual Studio to load any VSPackage, regardless of the presence or validity of a PLK.
When you use a DLK, both the splash screen and the Help About dialog box indicate that Visual Studio was loaded under the DLK.
The Visual Studio SDK contract prevents shipping the developer license key with your product. Instead, use a PLK to allow your VSPackage to load in the IDE.