Category: Musing

I recently had to modify a Basic MSI installer created with InstallShield so it behaved differently if a certain value was passed in via the command line. That part was easy. What I needed to do next was figure out how to alter the UI if that value was present, specifically to hide certain controls on a custom dialog.

You would think such a thing would be common and therefore it would be easy to deduce how to do it in InstallShield. Well, yes and no. After some web searching that didn’t get me very far, I was browsing around the Dialogs view in InstallShield 2010 and noticed that in the Behavior section for my custom dialog were three tabs at the bottom of the screen. They were labeled Events, Subscriptions, and Conditions, and though they didn’t *look* like tabs that is what they were. It turns out the Conditions tab was what I was after. From there I could specify the Hide action on my controls when a certain MSI property had a specific value. Not terribly intuitive, but I did find it eventually.

The trick will be remembering how I did it a year from now if I’m asked to modify the installer like that again.


Jeff Atwood had a post on his blog the other day about the overall awesomeness of netbooks, and how they signal a new era of open computing. I’m not sure I agree.

I like the idea of an ultra-small laptop that is used primarily for running applications over the Internet. When I was shopping for a laptop last summer, I checked out the current crop of netbooks and seriously considered going in that direction. The problem is devices that size have limitations, which eventually made me go with a traditional, albeit small, laptop.

The biggest issues for me with netbooks are the too-small screen and the fact that they are still somewhat underpowered. I know the early EE, Dell, and Acer machines had screens around 10 inches. I guess Acer is now making one that’s slightly above 11, but that’s still tiny. I was afraid I’d be squinting to see details.

The Intel Atom seemed very cool, but I wanted the ability to run some heavyweight local applications if desired (think Visual Studio), and I worried the system would end up having sub-optimal performance. I hadn’t heard about Intel’s newest netbook CPUs, but dual-core certainly is an improvement. Still, for only a slightly larger form factor, I got a 2.6 GHz Core 2 Duo in my Dell Latitude.

As small as they are, they still aren’t as easy to take with you as a smartphone. Jeff considered having an inexpensive netbook and access to the Internet, without being chained to a wireless provider, to be a boon to computer users everywhere. But since wireless hotspots don’t exist everywhere yet, I don’t see how you can truly have the freedom to access the Internet wherever you want without going through one of the big wireless providers. I’ve been in lots of places without a hotspot but that did have T-Mobile coverage, and I’ve often wished I had a broadband modem to connect.

Even though they are neat computers, truly, they aren’t going to be for everyone.


So I bought a Dell Latitude E4300 laptop in June of 2009, the first laptop I’ve ever owned. It’s a beautiful machine, but a few months after I got it the keyboard started acting weird. Certain keys wouldn’t work right away after the system booted. They would start to work after a few minutes of endless tapping, as if there was some kind of short in the keyboard assembly. It slowly got worse and worse, to the point where I couldn’t log in any more.

It was still under warranty so I called Dell and figured I’d have to take it some place local or they would send a technician. Much to my surprise, they said I would be sent a new keyboard assembly and I could replace it myself. I have no problem with swapping out hardware components, I was just surprised that doing so has gotten so easy. Back in the day it could be a serious pain in the neck to replace certain parts on a laptop.

They had an online manual for removing the keyboard assembly and installing a new one. It took all of 2 minutes, and the new keyboard works great.

So thank you Dell, for making module parts that are easy to replace.


I’ve been using the SharePoint extensions for Visual Studio 2005/2008 for several months now, and after recently having a chance to see how some of the other tools work (WSPBuilder, STSDev, etc) I can safely say I like the extensions best. The other tools do some great things, but they both assume you’re using C#, and all my SharePoint stuff is done in VB.NET.

Version 1.2 for Visual Studio 2005 was OK, but wasn’t as easy to work with as the superior version 1.3 for Visual Studio 2008. I haven’t seen any of the betas for Visual Studio 2010, but I’m hoping the built-in SharePoint tools they’ve created will be even easier to use.


We have several new training servers where I work running Windows 2008 and SQL Server 2008. They are the only production machines we have running SQL 2008, and though they work fine, my experience with the latest version of SQL Server has made me wonder why anyone would be eager to upgrade from 2005.

I don’t know what major new features went into SQL 2008, but I do know one big thing that changed in Management Studio and it’s not good. I present exhibit A: the activity monitor. Previous versions of SQL Server had a place where you could see all the processes running on the server. It was handy because you could quickly tell who had locks on what database, find out if there were any processes that were blocking or being blocked, and you could end a process that couldn’t be ended through natural means. Yet somehow Microsoft decided that was all too simple.

First they moved it out of the object explorer and into the context menu of the database server itself, where nobody would think to look. I had to turn to Google to determine how you open it. Then once you start it you’re greeted with one of the worst user interfaces I’ve ever seen. You have to click on the Processes pane to show processes. All the columns of information are in one fixed-width grid with no horizontal scroll bar, so if you want to widen one it will come at the expense of narrowing another. And there are 16 columns! They have filter options in the column headers that dynamically allow you to filter by values in the column, which is all well and good, but the headers are more clunky than anything else. And finally, the grid defaults to only using about a third the vertical space of the window, and that’s all you get.

In short, it’s horrible and evil. I’m amazed that they would take something that was so easy to use and make it so unpleasant. Maybe I haven’t spent enough time with it,and maybe it’s due to the fact that we have the Express version, but if it’s really no more than what I’ve seen, I pray there will be some other tools out there that can show you the same information in a much better package.


I’ve never been a fan of Internet Explorer. I used Netscape starting with version 2.0 and only switched when Firefox came around. So I’ve never bothered to upgrade my XP development machine to IE 7. Then I read this post from Scott Hanselman about how a sizable chunk of his visitors are still running IE 6. He linked to a web site that’s actually devoted to getting people to upgrade. I’ve heard all the stories about IE 6’s particular horribleness, such as poor CSS support and a generous helping of security holes. But I didn’t care.

Except Scott somehow made me care. So I upgraded my machine and I must say, IE 7 loads pretty fast, way faster than Firefox 3. I suppose it’s good to stay current, but when Microsoft feels it has to change pratically everything with each new release of software, it makes it hard to really want to upgrade. I dread the day I’ll have to move to an OS beyond XP. Maybe Windows 7 won’t be as bad as Vista, but I’m not going to hold my breath.