Why All The Fuss About Strong Name Keys?
A couple weeks ago, I was very strongly frustrated. Why? Because I fielded about 30 e-mails in the span of a few days that all basically went like this:
"I went to buy ScrollingGrid, but I couldn't, because it asked me for a "Public Key Token" from a "Strong Name Key". I don't know what either of those things are. Can you please help?"
It was ridiculously frustrating, not just that nobody knew what a Strong-Name Key is, but that we were losing sales because of it. So I got this crazy idea. I then asked for some volunteers to help me with a project. So what was it? Pictures speak 1000 words:
|Signing Your Assembly (Click to enlarge)|
And so, ladies and gentlemen, I'd like to introduce you to:
(special thanks go out to Tony Pino for the killer logo)
DeadBolt.NET is an add-in for VS.NET 2003, written by Michael O'Hearn, Jamie Cansdale (of NUnitAddin fame), and myself, that manages your Assembly Signing Key. I think “Assembly Signing Key” is a lot easier to understand (especially for strong-name newbies) than “Strong Name Key”, so that's the terminology I'll be using from here on out, and I hope that other people do too.
So how does it work? It's very simple really. The following screenshot shows the different options that are available:
|DeadBolt.NET - Main Options (Click to enlarge)|
The DeadBolt.NET installer includes a copy of SN.EXE, and basically we're executing shell commands to create and manage your key. You can use existing Assembly Signing Keys with it too, as you can see by the 3rd menu option. Now, if you want to sign an assembly, just right-click on the AssemblyInfo file, and select “Sign My Assembly”, and you're good to go. The whole point of the thing though is to make it easy for you to access your PublicKeyToken from the ASK. The 4th option down brings up this screen:
|Viewing Your PublicKeyToken (Click to enlarge)|
Now, if you want to go buy one of our other products (hint hint), you have easy access to the information necessary to get you the lowest price possible. Hopefully that concept will catch on as well.
Because I think that the simplification of Assembly Signing is desperately needed, and it will help sales of our other products, I'm making this tool free for everyone. The next version of the product will have extra features that you'll have to pay to get, but this basic functionality will always be free.
The only caveat is that you will need to register to download it, but an occasional announcement e-mail from me is a small price to pay for such a nifty utility. NO REGISTRATION REQUIRED. Right now, it only works in Visual Studio .NET 2003, but Jamie and I are working to make it compatible with VS.NET 2002 as well.
You can get more information at http://www.interscapeusa.com/Products/DeadBolt, or download it directly here. Feel free to wander around the site too, I just completed a massive upgrade that took the better part of two days to roll out. We made some pretty significant changes to the site, which I will detail in my Corporate Blog this evening.
Stay tuned... more announcements are on the way. As always, I'd love to hear what you think. Let me know if you have any problems with the site or the app.