When Windows gets a file association with .exe files, get a hammer. This one.

I spent a maddening couple of days with a Windows computer that somehow had gotten a bogus file association with .exe files, which roughly translates to, “Windows quit running any programs.” Microsoft has a fix for that. Except neither solution worked. Nor did connecting via remote registry, or even renaming their automated fixer-upper to have a .com extension (presumably because it turned around and tried to download and run a .exe). It’s too bad that didn’t work, as I was pretty proud of myself for remembering that little trick.

So where’s my hammer?

Ultimately I turned to rebooting, mashing F8, booting into recovery mode, and picking a restore point from a time when the computer didn’t have a problem. The restore failed after 90 minutes, or so it said. But when I rebooted, it worked. Mostly. The antivirus software was a bit unhappy and I had to fix that–the McAfee Virtual Technician works well, as much as it pains me to say something positive about a McAfee product–and I had to re-download some updates. But that’s easy.

Hammer? You bet. But it’s one of the nicest things about recent versions of Windows. If they break beyond a simple 15-minute fix, just fire up a restore point that predates the problem.

And let’s talk about that .com trick, as it’s obscure, and I honestly don’t remember where I heard about it. DOS veterans know that .com is a type of executable file. But it had limitations, the worst of which was that the programs could only access 64K of memory, at least without resorting to some weird trickery. So aside from very simple programs, .com files are pretty uncommon.

Windows recognizes .com as a valid extension for executables, and it doesn’t care that those fake .com files are actually something else. So if you rename a .exe file with a .com extension, it still runs. There’s no reason to do it unless you’re trying to fix something, but it’s the kind of knowledge that can make you a hero if it helps you fix a problem.