Skip to main content

Vista: Defective By Design

After ten months, I've had a reasonably pleasant experience with Windows Vista. But I recently had a series of problems that really made me consider switching back to Linux on my desktop.

I came home from work Monday to find that my computer had restarted after seventy-two days uptime. I had been in the middle of a project the night before so I already wasn't happy when I sat down. I tried to launch the Event Viewer to see what had caused the reboot, but got this error:

"Windows cannot access the specified device, path, or file. You may not have appropriate permissions to access the item."

Now, I'm running as a least-privileged administrator with UAC enabled. I was never prompted to elevate. In fact, forcing it to elevate did nothing. And because the local administrator account is disabled, by default, I was out of luck.

I downloaded the NT Offline Password Cracker and unlocked the local administrator account. This let me at least login with admin privileges. I tried again to launch the Event Viewer, but this time it silently failed. Strangely, starting the Microsoft Management Console and then adding the Event Viewer snap-in worked.

The log showed that several services were failing to start on boot due to insufficient privileges. I opened "My Computer" to look at the file ACLs and the label for my boot disk said "Access Denied". Clicking on the icon yielded the same error in a message box.

I ran chkdsk and it found file system corruption. Apparently the security descriptors for the boot volume were corrupted. I downloaded subinacl and took ownership of the volume root and then granted myself full access. I could at least see my files now, but some directories were still inaccessible. So I fixed permissions at the root and forced propagation through the entire file system tree.

Upon reboot, most services were able to start again. The System Event Notification Service wouldn't start because it couldn't write to the event logs. So I granted "Local Service" full permissions on the logs. Everything seemed to be fixed.

I let Windows install its 3,278,904,732,984 updates and then finally Service Pack 1. After the SP1 installation, I tried to login but was greeted with this little gem:

"The Software Licensing Service reported that the licence store contains inconsistent data."

and then I was automatically logged out. How special. Fortunately I remembered an old trick from Windows 98 and clicked on the help link in the message box. In the help article was a link to contact technical support. Clicking on that started Internet Explorer. From there, starting Windows Explorer was cake.

I wasn't exactly sure what to do since my copy of Windows was genuine. So, I thought, what if I forced Windows to re-activate? I remembered reading several months prior, that it was possible to "re-arm" Windows and set the evaluation clock back to zero. That fixed the licensing error and I didn't even have to re-activate.

Everything seemed to finally be working again. Except Windows Update wanted to download and install SP1 again. So, I let it do that and it broke the licensing mechanism again! After fixing that again, Windows Update still thought SP1 wasn't installed. I checked the Windows version and sure enough, I was using build 6000! wtf?

In the end, I had to flatten my machine to completely fix everything. I now have Windows installed and up-to-date. I'm annoyed that I had go to such lengths to re-gain access to my computer. But as a developer, I understand that sometimes software fails. File system corruption isn't fun, but it was mostly fixable.

The part that I find really bothersome is that Windows wouldn't let me use my computer with my licensed installation because something was corrupted. I understand the desire for ISVs to protect their products, but licensing mechanisms can introduce defects and cause undesirable side-effects. Like any operating system, Linux has issues. But there's one issue it will never have: failure due to licensing software.

I'm happy to see the "reduced functionality mode" has been eliminated in Vista SP1. But, in following with a good article on the subject, I think Microsoft should spend less time on licence enforcement and more time on software quality.