Windows XP (32 bit) to Windows 7 (64 bit) transition diary - very long post

Oct 13, 2009 02:19

Way back in August, I decided that I would start running Windows 7, and I thought it might be fun to share the details of this migration process. Originally, I'd planned to just experiment with it and see how things run, but practically as soon as I'd begun, I scrapped that plan and have stayed with 7 full time ever since. As some mac people will surely gloat, the process of going from 32 bit windows XP to 64 bit windows 7 is not exactly seamless. You can't just install the new one over the old one and go on your merry way. The upgrade process could probably be pretty easy if I'd stuck with 32 bit, and had installed Vista first before windows 7, but I didn't want to do either of those things. As you can see below, I've probably done some of these migration processes the hard way, but I figure I can't be the only one who does things this way, so maybe it will be useful for someone for me to go into detail about the migration.
You guys are probably going to think I'm crazy. On the plus side, though, I did not have to do all of these things in a day, and as far as I can tell, I haven't had to sacrifice anything significant to use Win 7's new features.

This is kind of a log, kind of a how-to, part cautionary tale, and kind of a review, but mostly a lot of rambling. I think I changed my mind several times about what I wanted this post to be, and it shows. I also couldn't decide if I was writing for computer nerds or regular folks. Anyway . . .



First, Here's what I'm using. I installed the "release candidate." I probably could have gotten the RTM, but I don't think it makes a big difference. I'm not going to talk about any CD/DVD burning or downloads or keys, because it's already October, the official release is in 10 days, and all that stuff is irrelevant now.

There is no "upgrade" for XP 32 to Win 7 64, so I did a "Custom Install," and step one of that is to format the drive. I used an extra drive I had, and kept my then-current XP drive unplugged during the format, for peace of mind. I also have a backup drive (3 drives total) so I could copy files and still have one safely offline, in case something really bizarre and unpredictable happened. Nothing did. I could have gotten by with just the two, but I had three so I used them. Something about using a release candidate OS made me want to back up my backups.
From the technical perspective, the "custom install" makes it more like a move from an old computer to a new computer than an upgrade. The only thing "upgrade" about going from XP to 7 is the purchase price.

The OS install itself is very simple, and there's not really anything to talk about. It asks some easily answered questions, you click "next" a few times (not very many); It finds some drivers, and in maybe a half hour or so, you are ready to play minesweeper, change your desktop background, and reinstall firefox, etc. etc. It's a blank slate, and getting back to where I had been on XP will be the focus of this post.

The automated part
To migrate the lion's share of my personal files & settings, I used "Easy Transfer," which was installed with the rest of windows 7. It doesn't migrate your programs from the old windows installation to the new windows installation though, so I had to re-install a bunch of programs. I'll get into that a lot more, below.

I wouldn't have expected easy transfer to take care of all my problems, and it did not. The only problem it *caused* on its own is that it crashed when I mindlessly clicked on some IE Cache directory (or was it cookies, or Temp? now I forget), in the "Advanced" view -- I had to start over picking which stuff to copy. Hopefully that is fixed for the real release anyway, but it was annoying. I didn't even need to click that directory, there's no possible way there would have been something I wanted to transfer in there.

You have to run easy transfer from inside XP (or vista but I'm not going to mention vista anymore), and I would say that that part is "first" but you have to get a copy of the program to the "old computer" before that. This means running it inside windows 7 first. Easy Transfer was at the top of the start menu, and it guides you through making a copy to use with XP. Next, reboot to XP.
Maybe you can get it straight off the install dvd, without booting windows 7 first, but I didn't find an easy transfer setup program when I looked.

Once you're running ET from inside XP, it searches your drive, and in less than a minute, it decides for every file on the computer which of them it wants to move, and which it should leave behind (your old windows directory, and programs). That's just the first round, and its decisions are based on very simple criteria and it makes broad strokes. All of those decisions are reversible, in groups or per-file and/or per-account. The presentation is described thoroughly on this guy's blog.

What's it going to do?
After you pick and choose what you want to move, it creates a password protected archive file (dunno whether its encrypted or not), and when you boot into windows 7 and run Easy Transfer there, it copies the files back out of that archive to the appropriate locations.
The downside is that it is going to basically copy all these gigabytes and gigabytes of files twice (old location -> easy transfer archive -> new location) instead of once (old location -> new location). If you knew all the files you wanted, and where to put them, and just copied them manually, you can.

One nice and unexpected feature is that it keeps a log, not only of what it copied, but all the programs that it knew to be installed on XP. After the transfer is complete to win 7, you can review the log to see if there's something you still want to reinstall.

Why Easy Transfer? Which files, and why not just install win 7 on a new drive and copy the files over?

The places where program settings are stored has changed from XP to 7, and when easy transfer is completed on the new computer, it knows how to rearrange the files, mostly. If it pulled anything important out of the registry, I couldn't tell. I didn't know how to rearrange the files myself yet, so that's why I used easy transfer. Since I know, now, I'll tell you -
In XP, we have
C:\Documents and Settings\(Username) for each user of the computer, or %HOMEPATH% for short.
Inside there, we have Desktop, My Documents, and a bunch of stuff you don't look at all that much.
In Windows 7, the %HOMEPATH% is moved to
C:\Users\(Username),
and the system has shortcuts to it instead of just "My Documents." I like that.

In XP, the idea is that everything unique and interesting that you create or collect would go in "My Documents" or subdirectories of that, e.g. My Music. In windows 7, Music is alongside documents in %HOMEPATH%, not inside it, and its the same with Videos, Pictures, Downloads, and some other things.
In XP, a user's program settings went in "%HOMEPATH%\Application Data" and "%HOMEPATH%\Local Settings\Application Data", if they followed the standard. For 7, they flipped the heirarchy and renamed things, so inside your user directory, there is "AppData" and inside "AppData" they have three categories, Local, Roaming, and LocalLow.
In XP, it was less clear what the difference was between the locations, but basically AppData\Roaming\* is roughly equivalient to Application Data\*, and AppData\Local is roughly equivalent to Local Settings\Application Data\*.
The idea is that there shouldn't be much point in moving things from the old "Local Settings/Application Data" to "AppData\Local", and you would definitely want the things from "Application Data\*" to "AppData\Roaming\". I much prefer windows 7's names, and wish they'd been there for XP so the migration might have gone more smoothly. I have high hopes for the process of skipping 8 and going straight to 9, because I'll know exactly what to move. :-|
Some things that were local on the old drive may still be local on the new one, anyway. For me, I wanted to move my Google Desktop Search index, because most of my files are still in the same or similar places. I still like it for the history, even if the files have moved.

For the most obviously necessary files, the ones in "My Documents" and "Desktop" were already checked. It did the right thing there, and that covers 80% of most people's needs and 100% of some peoples' needs.

For the rest of the stuff in %HOMEPATH%, ET only has a short list of directories it wants to copy, such as your IE bookmarks. It does not automatically recognize and include Firefox or Thunderbird profiles - you have to pick those directories out of the "advanced" view, so for most people I know, that makes the "Advanced" mode mandatory.

For me, I definitely had to go to "Advanced" mode, for firefox's, thunderbird's, and numerous other programs' Application Data directories.

Using the easy transfer interface, I browsed my whole PC, looking for any directory associated with a program that I used to do anything I didn't want to do over or be forced to recall mentally alone, excluding such programs where I knew exactly what happened to that work.

Just about everything I wanted to transfer was in %HOMEPATH%, %HOMEPATH%\Application Data and %HOMEPATH%\Local Settings\Application Data, and C:\;

I go over the details of that among the bullet points below, on an application by application basis.

Program Files (x86)
Another new thing for 64 bit is the "Program Files (x86)" directory. 32 bit apps go there, for some reason. 64 bit apps get installed into "Program Files". I don't yet know why Microsoft bothered making the distinction.

Assorted Specific Applications
For most apps, I did a normal reinstall from a setup program. For others, large games mostly, I copied the "Program Files/(some app)" subdirectory straight from the old hard drive to the new one. For others, it got weird. Here's everything I thought was worth mentioning.

  • Windows Media Player - from XP's WMP 11 to 7's WMP 12.
    This was the biggest most annoying fiasco. Tragically, a program you'd think Microsoft was most well equipped to manage a migration for is the one that appears to be the most doomed to failure. It never worked. I didn't lose any music, of course, but there is a database full of interesting data about play counts, when you got the file, when's the last time you listened to it. I have some "auto playlists" that (used to) use that data to keep song from getting played too frequently, based on the rating and when it played it last. The auto playlist was transferred, but those dates weren't there, so the rug was pulled out from underneath it. As far as I can tell, it's basically impossible to migrate the metadata from WMP 11 on XP to WMP 12 on win 7. The file is right there, but the format (and the name, but that's no big deal) changed in ways that I may never understand. The best I could do, using a 3rd party tool, was to make a backup in win XP and restore the play counts in win 7, plus some other metadata that I don't care about and/or had already come in through the tags in the music files themselves.
    Thank you Dale Preston for tilting at windmills for people like me: Windows Media Player Metadata Backup. I thought about trying to follow his example to take it to the next level, but the windows media SDK that it's built from doesn't even offer API calls that can update the "Date Added" or "Last Played."

  • This "Kill caps lock" registry hack still works the same as it did in XP: (recommended!! unless your name is Dayv)
    http://johnhaller.com/jh/useful_stuff/disable_caps_lock/

  • Google Desktop - This is the fastest way to search my IMAP mail, by far, so I didn't want to restart the index from scratch. I used Easy transfer but it was just a waste of time (should have copied it myself, because it's very big files). It just copied it to the wrong place. The Google Desktop database was in %HOMEPATH%\Local Settings\Application Data\Google\Google Desktop Search on my XP computer. To get it working, I did a fresh install of Google Desktop and let it start creating a new index. I saw that it created a new directory in AppData/Local/Google/Google Desktop/ with a subdir that had a funny random looking name, so I quit GDS, deleted everything in the random named dir (stuff like "dbdam dbeam dbeao", and moved the contents of the old "Google Desktop Search" directory (same names) into it. After restarting GDS, it worked like a charm.
    By the way, I was a bit worried that it would be wasteful or slow to have GDS running simultaneously with the search that is built-in to windows, and that I might have trouble deciding which one to leave on. Now that I've just let them both run, it doesn't seem like a problem to me, though. The windows search ends up being more like "Launchy" than GDS, and I use them both. Also, they are co-existing in Start Menu's search bar.

  • Steam plus all games purchased through steam:
    They explained how to move a steam installation from one computer to another on their website. The process is simple: install steam, log in for the first time, quit steam, and then copy the SteamApps subdirectory from the old computer / drive to the new one. Wait for the files to copy, start steam, and ta-da, it works.
    I did have a problem with one game that can't yet cope with having so much ram available; It thinks its a negative number and quits. Well, Win 7 isn't even released yet, so I expect that will get fixed soon enough.

  • Putty
    Putty's entire configuration is in the registry, so if you have enough Putty sessions to care about them, you better export "HKEY_CURRENT_USER\Software\SimonTatham" to a .reg file before you stop using XP for the last time. I meant to do this, but forgot. I had a ridiculous number of Putty sessions configured. Easy Transfer can not help, nor would manually copying files. As far as I can tell, you can't open up the XP registry file from within 7, even if you have a backup of the .DAT file.
    I still have the XP disk sitting there, I just haven't bothered to go back and recover this last piece of the puzzle.

  • WinSCP
    Same as putty, but with "HKEY_CURRENT_USER\Software\Martin Prikryl"

  • Firefox / Thunderbird:
    Easy Transfer worked great, once I picked out these two directories for copying:
    %HOMEPATH%\Application Data\Mozilla
    %HOMEPATH%\Application Data\Thunderbird
    They get moved to AppData\Roaming

  • World of Warcraft:
    I tried this two ways. Both started the same, with simply copying the old Program Files\World of Warcraft directory from my backups, because there's no benefit to a reinstall. Re-installing and then re-patching would be ridiculous. The difference was where to put it.
    The one I stuck with was I created a new dir at the root of my drive, "Program Files (unsecured)" and put the Wow dir in there. This way I don't have to run WoW or the launcher or the patcher or the wowhead client as administrator.
    I don't really like circumventing UAC like that, and there may be a way to juggle things around and get the best of all worlds, but I gave up. An user could hypothetically tamper with the executable without going through a UAC prompt, this way. Oh well.

  • Squirrel SQL Client:
    This is a java app. It likes to change files in its install directory, so I put it in my newly coined "Program Files (unsecured)". The other weird thing about this is because it runs through the java interpreter, and has a long command line produced by a batch file (as opposed to something that would just go in a shortcut) it doesn't pin to the start menu normally. I like the new "pin" thing, but apparently it kind of breaks down here with java and batch files. I could pin java and pick out the .jar file, but then it wouldn't load some modules, set by arguments from the batch file. The task bar didnt seem to like pinning a batch file.
    To get the batch file onto the task bar, I found out that I can create a quick launch toolbar like I had in XP, out of any folder. Right click task bar -> toolbars -> "New Toolbar...", and I used AppData\Roaming\Microsoft\Internet Explorer\Quick Launch.
    If that's how XP already worked anyway, I didn't know and wasn't interested.

  • cygwin:
    I did not easytransfer this, firstly for speed reasons and secondly because I don't think it would have helped. I just copied the cygwin dir to the new drive, and copied and re-ran the cygwin setup.exe, correcting the download path (I just didnt like where my old download directory was). There's a package that re-installs start menu shortcuts, and I told it to reinstall that. When I started a cygwin shell, it gave two very simple commands to run that would re-create the passwd file appropriately for the new system. As far as I know there's no 64 bit cygwin and I'm not going to check. Cygwin is not very important to me.

  • Google Earth:
    I think I'd manually asked Easy Transfer to take the %AppData%\Google\GoogleEarth directory, and I see it got copied to AppData\Roaming but it looks like the newly installed GoogleEarth was only looking in LocalLow. myplaces.kml was the only file I believe to be relevant, so I put a copy in AppData\LocalLow and it worked. If I hadn't already run Google Earth anyway, I would have just moved the GoogleEarth directory from AppData/Roaming/Google to AppData/LocalLow/Google.

  • Trillian:
    I decided not to reinstall Trillian (a chat client), but if you do use it, and if you have chat logs that you want to keep, they're in Program Files\Trillian\users or something like that. It's a dumb place for them. I copied them out manually and was surprised that Pidgin was able to import Trillian's logs and make better use of them than trillian ever did.

  • VIM:
    I did a reinstall of this. I just had to move over my _vimrc from the old %HOMEPATH% to the new AppData\Roaming. The "Edit with Vim" shell extension didn't install correctly, but I got the same thing by these instructions:
    http://davidvielmetter.com/?p=1094

  • Misc:
    A lot of games have saves in Program Files\whatever\, for whatever reason. 99% of the time at least, they have sensible names and weren't hard to find.


Hardware: One bad/mediocre driver
Everything on my computer was discovered correctly and just worked perfectly, with one exception.

This is probably Creative's fault and not Microsoft's, but that doesn't make it any more fun. First off, the driver was not installed automatically, but who cares. I got the driver from creative's website. Once it was installed, though, during certain heavy load situations (I tend to run a bunch of programs at once, even when I'm gaming), and during UAC events (not *every* time), the sound cuts out. Actually two different things can happen; The sound can get spotty, and the sound can get broke to the point where I need to start messing around with the control panel and restarting programs. That's just what I get for buying a sound card.
It seems to happen less often since I turned off the "Allow applications to take exclusive control of this device" in the "speakers properties", which is reachable from the volume mixer.

What do I think? Was it worth it?
Ehhhhhhhh yes and no. I know I can't stick with windows XP forever, it's just going to get more security problems. Windows 7 is nice. I like the new task bar, the winkey-tab thingie, and the ReadyBoost thing (which will become moot when SSDs become remotely affordable). Moving up to 4 gigs of RAM has been nice in a few situations. I like the visual style of windows 7. I've gotten over the fact that my windows media player history is wrecked (I miss my old auto-playlist though.) I have not yet found anything that runs on 7 that did not run on XP. I've certainly enjoyed the end result more than I would have enjoyed moving to Mac or Linux, and I don't hate either of those things.
If I had no data, and no history, nothing to move, I'd be very pleased.

Over all, I'd say yeah, it's kinda worth it, to me. I would have enjoyed it just as much though if it wasn't such a pain in the ass. If you decide to go down this road, I hope this post makes it less of a pain in the ass for you than it was for me.

I really wish MS would have written an installer to do an upgrade from XP to win7 and 32 bit to 64 bit. Some might say you'll just get problems from trying that kind of task, but I don't think it's doomed from the start.
Previous post Next post
Up