Today one very annoying thing you’ve to do when you want to deploy your Visual Studio Package extension is to get a PLK or “Package Load Key” from Microsoft.
This is a painful process which can be divided into two equally painful parts:
Pain #1: Get yourself a PLK
For this you have to use a MS Website which used to be really bad at doing its job. For example, data you entered for your key was not available for reviewing later on and sometimes you never received the email with the requested key… we’re talking very basic stuff, which was just not working properly.
The good news is they replaced the old website (delete C:\QuickAndDirtyWebAppCodedInFiveMinutes\*.*) with this single page which besides being much more friendlier than the original website it also… works!!
Pain #2: Debug your PLK
So after struggling (if you had to use the old website) to get yourself a PLK you still were left with the job of debugging it. Which wouldn’t be that bad if it wasn’t because the really poor support offered by Visual Studio logging then attempting to load your packages which basically was reduced to:
“Hey, I cannot load your package, sorry!”.
A package load failure could be caused for a variety of reasons which Visual Studio can currently detect but just logs them in an unfortunately generic way. This requires of some obscure PLK troubleshooting time (some of it very hard to guess as “Is the crypto service running?”) that translates to wasted hours.
And to add more to an already unfriendly process Visual Studio 2008 has three different kinds of Load Keys:
1) Package Load Key (PLK) to deploy your VS packages to end users
2) Developer Load Key (DLK) installed by the VS SDK so you can develop and run packages without a proper PLK in place
3) Shell Load Key (SLK) to deploy your VS-Shell based applications
My whishes for dev10 (or “Visual Studio 2010″ if you like longer names) are the following:
1) Please don’t invent a 4th ?LK to add to the previous three, there are more than enough already!
2) Please just kill the existing three key types and remove extensibility developers the need to go through this pain at all.