My Weekend From Hell

Posted Thu, May 28 2009 12:35 PM by amarsan

What follows is my sad and painful story of a holiday weekend gone bad as I attempted to (i) install an OS that is not quite ready for primetime (Windows 7) and (ii) simultaneously "upgrade" to a 64-bit OS. I'm writing this story because I made a lot of stupid mistakes, and I'm extremely grateful to those who have made stupid mistakes before me and either submitted their questions on forums or blogged about them, thus making it possible for me to find their stories through Google and get my own mistakes corrected. Here's my story, with links included, on the off chance that others stumble upon this story as they go through their own struggles to upgrade.

Why it was time to repave

Over the course of the last several weeks, the laptop that I use for work started to really drag and complain about anything I asked it to do. I don't know if I should blame VMWare Player, but ever since I had installed it to run a VM I needed for a project, blue screens became common. After the project was over I uninstalled it, and while the blue screens went away, I now had a very sluggish machine. Not seeing any other way to fix the problem, I sensed a repave would be necessary.

Not so awful, I thought to myself, given that just about everyone else in my office has installed this brilliant new Windows 7, so I can take this opportunity to try it out for myself. And what's more, those same smart colleagues of mine have been been slowly migrating to the 64-bit OS, so I figured I ought to join the future and go that route as well.

A happy beginning

Over the weekend I began the repave process. On Friday night I did a little spring cleaning on my hard drive, and then backed up all of my files (I found quite a few gigabytes of unneeded junk in the My Documents basement). Given that I don't care for clutter, that process made me feel all warm and happy inside. Then I launched the Windows 7 RC installer and went to bed. When I woke up in the morning, there were blue skies and cute little bird on my desktop. All was good.

Problem 1 - Touchpad driver for 64-bit Windows OS

The first piece of software that I reinstalled was Visual Studio 2008. I had forgotten how much time that requires. But once it was onboard, I opened it up and started to type. And then the cursor started jumping all over the place, spontaneously highlighting text that I would overwrite before I realized what was going on. This bad behavior had me a bit worried. I quickly figured out that the problem was the driver for the laptop touchpad. It took me a lot longer to realize that the problem had to do with the 64-bit OS, and not Windows 7 per se. After many Google search permutations, I found the following forum discussion. The last entry in the discussion put me on the right track. For the record, I have a Dell Latitude D830 with a Synaptics touchpad.

http://www.vistax64.com/vista-hardware-devices/117419-alps-touchpad-drivers-vista-64-bit.html

Problem 2 - SQL Server installation

A rather important project I'm currently working on requires that I have SQL Server Express 2008 and SQL Server Management Studio Express 2008 installed on my machine. This was incredibly time-consuming.

First, it's worth noting that Visual Studio 2008 Professional comes with SQL Server 2005, so it was already installed on my laptop. But I have read that one can have both the 2005 and 2008 flavors of SQL Server running on the same machine, so I thought it wouldn't be a problem to just add 2008. Perhaps there is some magic that can be performed to make this work, but I couldn't figure it out, so after installing 2008, I uninstalled it, uninstalled 2005, and then went back to 2008.

I started by grabbing the 64-bit installers from the Microsoft website. When these are launched, they immediately detect that I need installers for the service pack 1 version. Now why is that when I Google SQL Server 2008, I'm not led to the most recent installer for the product? Well, never mind, at least the old installer knows about the new installer, so another download ensues, and then the install gets underway.

And for whatever reason, the SQL installer has this complex menu of options with tests, and then more tests, and then you install setup files for the actual install.

To save steps, I tried to get the SQL Server 2008 Express with tools, which in theory should have Management Studio included in it, but it doesn't, so you have to find that separately.

Then the installer for Management Studio is confusing, because while I thought I was just adding a feature to an existing SQL Server instance, you have to go through the menus as though you're adding a completely new instance of the server. After what seemed like hours on Saturday evening, I finally got what I needed.

Then I copied over the database for my project, and SQL Server didn't recognize it. Was this a 32-bit to 64-bit conversion problem? I tried all sorts of things, Googled the problem in various ways, but came up with nothing.

I shut down and went to bed in frustration.

In the morning, I started up my laptop, and magically SQL Server worked and the database was right where it was supposed to be and all was good. The lesson here...sometimes you just have to give up and go to bed.

Problem 3 - Tortoise SVN and Tortoise Bazaar

Different projects call for different version control, so I have them both on my machine. Tortoise SVN comes with a clearly marked 64-bit installer, so I installed that. It was a little less clear with Bazaar, but I think I got the right thing. At first I had two copies of the right-click menu items for Bazaar. How bizarre. Tortoise SVN looked just fine, and for both, the little icons appeared to be correct in Windows Explorer. After a reboot, I still had two copies of the Tortoise Bazaar menu items in the right-click menu. After another reboot, there is just one copy of the Tortoise Bazaar items, and none of the Tortoise SVN icons appear in Windows Explorer. I don't know. The issue remains unresolved.

Problem 4 - Printing

My husband thought it would be a quick, fun, and endearing project to get printing to our home printer working. He plugged the printer directly into my laptop to upload the drivers for both printing directly through the USB port, and printing over the network when the printer is plugged into our router, as it usually is. This had worked just fine for him on the 32-bit version of Windows 7 RC. This did not work so well for the 64-bit version. The laptop recognized and installed the drivers, but try as we might, we cannot get it to print over the network. I guess it's not all that important at the moment; and I still love my husband for trying.

Problem 5 - Configuring IIS

I serve up a website I'm working on locally, so I had to get IIS configured and working. This was a royal pain in the neck!

After I added my site as an application in IIS, I tried browsing to it and got the following error:

Login failed for user 'IIS APPPOOL\Classic .NET AppPool'.

I had to Google this one, and found this helpful forum, even if it's in a language I don't know.

http://www.codetoday.net/default.aspx?g=posts&t=1595

As it turns out, in IIS 7.5, which is what Windows 7 ships with, there are two configured AppPools, one in the IIS 7 default managed pipeline mode, and the other in the classic managed pipeline mode. Both default to a virtual identity that is named after the name of the application pool, rather than LocalService, as was done in earlier versions of IIS. So if you're running a website out of these application pools and the site connects to a database, you either have to set up a special user account for them, or change the identity on the application pools to LocalService. The latter seemed the easier option in my case.

The website is built on 32-bit AspDotNet Storefront. In order for it to work on a 64-bit OS, one has to set up ASP.NET to work in 32-bit mode. This requires following the directions on this page:

https://support.aspdotnetstorefront.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=140

It doesn't mention it in the article, but you need to run the DOS command window in administrative mode for the instructions to work. Perhaps this is obvious to everyone else in the world, but it wasn't obvious to me. My coworkers pointed out that running as administrator is not the same thing as running in administrative mode.

Finally, the website appeared in browser - only the style sheets weren't applied. Argh! This one was a bit strange. To turn on IIS, I go to the Control Panel, select Programs, then select Turn Windows features on or off. Apparently when I enabled IIS, under World Wide Web Services / Common HTTP Features, I neglected to select Static Content. I don't recall going into the Common HTTP Features hierarchy, which would imply that Static Content is not selected by default. Sure enough, when I Googled "IIS 7 css not loading", I found this forum, which set me straight:

http://stackoverflow.com/questions/800500/iis-7-0-with-pipeline-mode-integrated-doesn180t-load-any-image-css-in-asp-n

Problem 6 - Windows Live Writer and Community Server

I wanted to write up this blog post using Windows Live Writer, as I always have before this upgrade adventure began. However, I have been unable to get WLW to connect to my blog, which is hosted by a Community Server site. I haven't been able to resolve this issue yet. Instead, I switched over to my home Mac and I'm using MarsEdit.

Conclusions

It's definitely too soon to say that things are back to normal for me. After all, I've been running Windows 7 in 64-bit mode for less than a week. And I have yet to do any actual work with it. I'm exhausted just from the initial install and setup.

In hindsight, I think it was too ambitious to make the jump to both Windows 7 and 64-bit. Either one of them by itself has issues, so upgrading both at once confounds those issues and make sorting them out take quite a bit longer.

But then again, that which doesn't kill us makes us stronger, right? I feel like I'm going to be the world's most case-hardened software developer after this is over.