May 2003 - Posts
If you can see
These shows kind of amaze me. I mean, I appreciate Microsoft's general strategy of carpet-bombing developer's with technical information on a new platform like .NET. And the human face that these videos present are a good thing. But does anyone actually have time to watch an hour and a half video on IIS 6? That violates the most important principle of technical communication - scanability. There's way too much information out there to process for this kind of thing.
The quicky 10-minute seminar MSDN videos are of a more reasonable length. Anything longer than that and forget it. Fortunately Microsoft eventually gets around to posting the transcripts for those long MSDN videos. Unfortunately, by the time they're posted I've long since forgotten about it.
The recently used applications list in WinXP is a great idea (although not a new one...wasn't that feature in the early betas of Win95 but removed because it wasn't "data centric"?). The problem is that the list is in exactly the wrong place. Putting it at the top level of the Start Menu completely breaks keyboard navigation of the Start Menu. It makes the keyboard accelerators non-deterministic - I can't hit Ctrl-Esc, C to launch the Control Panel because I might have recently run CardScan.
I guess most people don't use the keyboard to navigate the Start Menu, but doing so has kept me free from RSI so far, and damn it, I'm sticking with it (it's faster than using the mouse anyway). Microsoft, why do you punish us keyboarders?
Why this list isn't under a My Recent Applications submenu, similar to My Recent Documents, is a mystery to me. Anyone know of any hacks to relocate the list to a submenu off of the Start Menu?
I've only recently become aware of the registration-free COM activation feature of Windows XP (aka side-by-side deployment). Very interesting. The idea is that you have an application manifest which describes all of the COM types that an application uses. Sort of an application-scoped XML file version of HKCR. Of course, Microsoft has all kinds of caveats about how the COM objects should work to support this mode of deployment, so I'm not sure if it our existing COM API would just work in a production environment. But it could be super-cool for testing different versions of our API on a single machine.
Generating the manifest file is painful for a project with a lot of types, however. Next on the list - write a little tool to generate it automatically by inspecting a type library.
OK, I did a little regmon-ing, and I'm finally starting to understand the workings of Open With a little better (this stuff has gotten a lot more complicated since I last looked at it). Keep in mind that I'm working in XP here - don't know if the same applies for W2K, I haven't installed VS2003 there yet.
Under HKCR, there are keys for each registered file extension. Each key contains a subkey called OpenWithProgids, and the contents of this key seems to determine what shows up in the Open With list. Each value in in the OpenWithProgids points to another key in HKCU which tells the system how to actually open the file. For example, on my system the OpenWithProgids has a single value in it, called VisualStudio.csfile.7.1. There's a key called HKCR\VisualStudio.csfile.7.1 which points to the VS.Net 2003 executable.
So here's the crux of the problem. It seems that on my machine, the .cs and .csproj keys had only the VS2003 keys (VisualStudio.csfile.7.1 and VisualStudio.csprojfile.7.1) listed in the OpenWithProgids list. It didn't have the old VS2002 keys (csfile and csprojfile). Once I added those to the list, presto, Open With worked as expected. Interestingly, the .aspx, .vb, .sln, etc extensions seemed to be OK - it was only .cs and .csproj (which of course are the ones I use the most) were messed up. At least so far - I probably haven't looked at every extension the VS has registered yet.
I'm not sure if there was some sort of configuration glitch on my machine that caused this, or if it's actually a bug with the install that other people are seeing. If the latter, it's easy to work around. Just save the following into a file with the .reg extension and then run it:
Windows Registry Editor Version 5.00
More Posts « Previous page