I've had to listen to one of my colleagues, who's grumpy on ordinary days, curse and complain as he converted his development system to Windows 64. Now that he's done, he's "all about the AMD64" and never passes up an opportunity to brag to people that he's running Windows in 64-bit mode on his dual Opteron 250s and how blazingly fast it is, and how much he loves it, and how everybody should move to Windows x64 Edition.
I figured there are probably people out there in the community who'd like to learn what he learned (or, more specifically, what I had to listen to him learn), so I took the time to write up some of his experiences.
Rule #1: Plan Carefully
Very carefully enumerate the "stuff" on your existing machine that you can't live without. That includes hardware such as disk controllers, video cards, network cards, and even sound cards (if you like to crank the tunes while your coding).
Despite the fact the OEMs and IHVs have had more than two years to prepare, you should assume that it will be hard to find 64-bit drivers for many devices. When my colleauge upgraded his workstation about 6 months ago, he specifically planned ahead for the 64-bit upgrade and got devices that he knew had "in box" drivers. So, he used an LSI Logic PCI-X Ultra320 SCSI adapter (very stable, and highly recommended), a Broadcom NetXtreme NIC(also highly recommended), and an on-board AMD-8111 audio device (that "just works fine").
It seems he wasn't nearly so clever when it came to video cards, however. His system uses a pair of Matrox Millenium P650s. Matrox in its infinite wisdom first announced that it wasn't doing 64-bit drivers for these boards, causing my colleague a minor stroke. Then they announced -- in April -- that the 64-bit drivers were done. And everybody here at OSR used to love Matrox. Past tense there, notice.
Also remember that even when you find 64-bit drivers for your hardware, you should assume that the drivers may not support all the features that the 32-bit drivers support. Or that the drivers might not work quite as well as the 32-bit version.
Rule #2: Plan Yet More Carefully (or, think of the little stuff)
It's easy to forget things that you take for granted. For example, did you want to be able to actually use your DVD+/-RW drive to burn DVDs after you upgrade to 64-bit Windows?? If so, you'll need compatible CD/DVD burner software. Older versions of, well, any of the CD burner software isn't 64-bit compatible.
Nero V6 to the rescue!! If you 're not using Nero, you're using the wrong software anyways. However, when you make the move to 64-bit, you'll have the privilege of upgrading to Nero V6, which seems to work great.
Probably the funniest part of the update was watching my colleague spend two solid days trying to figure out how to print from his 64-bit system. Yes indeed, you need 64-bit printer drivers, and you can't expect to automagically get them downloaded to you from that old Windows 2000 print server running on the corporate LAN. It doesn't know that there even is such as thing as x64.
Again, you'll have to search and scratch for the right drivers. And, even then, you might have to settle for drivers that are merely "compatible." Here at OSR we have an HP 4250 printer. The closest x64 drivers were apparently for the HP4100. Figure out how to install these drivers was a treat. I got sucked into helping, and eventually someone clued me in to KB 282842 ("How to install a local printer driver for a remote printer"). All very intuitive. Not!
Consider things like smart card readers (you wanted to be able to use your eToken?), VPN access software (Checkpoint's SecuRemote for example, installs filter drivers), or anything else that needs to load something into kernel mode. If there's not a 64-bit version, you're not using it on your Windows-64 system. Oh, no problem, I'm sure Checkpoint will have x64 compatible software in, ah, 18 months or so. That's a long time to wait if you regularly need to access a VPN from your machine.
Rule #3: Remember That Dual Core Opterons Are Pin Compatible
Don't buy a motherboard/bios combination that does not support dual-core Opterons. The dual core chips are pin-for-pin compatible with the single core Opterons. So, if you want a quad-processor system, you can put two dual-core chips into your system. Yes, you can still run Windows XP Professional x64 Edition on it (even though it's technically a quad processor, Microsoft only counts the number of chips not the number of CPU cores for licensing purposes).
Rule #4: Chill. Resign Yourself To The Fact That Some Things Will Not Work
No matter how carefully you consider your upgrade, you should assume that some things will just not work. For example, we rely upon a network monitoring package for the OSR LAN that runs on my colleague's workstation. When he upgraded his system from 32-bit to 64-bit, he apparently assumed that all he would have to do is re-install the application. Well, the network monitoring software worked fine, but he had to crack the cab files and install it manually because the installer didn't run properly.
Later, he learned that the installer worked when it was run from any directory other than his desktop. Or so he says. Go figure.
Rule #5: No 16 Bit Apps! Who Cares? Well, You Do.
Windows 64 does not support running 16 bit applications. In general, this is a very good thing. However, it seems that many software package installers are actually 16 bit applications!
Windows 64 has special provisions for handling these applications, believe it or not. And these provisions almost always work. Almost.
In Summary
To sum it all up: Being on the cutting edge will result in some pain. Perhaps this hint will save you some of that pain, perhaps not. In the end, I bet that you'll wind up like my colleague: Always bragging about his 64-bit system.
Did You Do The Upgrade? How Did It Go? Got Your Own Upgrade Tips??
Leave us your comments by clicking on the comment link below. Let us know your upgade tips, too! Remember "sharing is caring"!
"hungry for 64-bit support"
It's funny you should mention Checkpoint's VPN client software, because right now this is my biggest problem. Ever since my upgrade to Win64 I have not had access to my company's network. I tried to contact Checkpoint's tech support but they entangled me in the "proper support program" and I never got a reply about a 64-bit compatible client. Please tell me you were joking about the 18-months release schedule!
As far as drivers go, I am not unhappy. Almost everything is supported, even my "PS2 to USB gamepad adapter". Of course it took Microsoft several months to release a 64-bit IntelliPoint... On a more important note, Hewlett Packard has announced support for Scanjet 8200 (a professional scanner) but they do not mention a release date. I wonder what is the secret of Epson's people who have already released 64-bit drivers for almost all their products, while HP has left us out to dry. A big hooray to nVIDIA's people who release drivers for almose every OS, even when some OSs are still in a beta stage!
The (X86) suffix to the Program Files directory is something that haunts me. Some installers have a problem with the parentheses characters, and some applications install to the "Program Files (X86)" directory, even when you set the conventional "Program Files" as the destination. Why did Microsoft do that? I know what my processor's architecture is, thank you... What's next, adding (GeForce) suffixes to DirectX's DLLs?
Software compatibility has not been an issue so far. I was not happy to say goodbye to Mcafee VirusScan, but I now use ESET's NOD32 which is fast, reliable and quiet. Don't let the name fool you - there's a 64-bit version, all right. Applications work, multimedia codecs work, and games work, with very few exceptions.
Oh, and I'm having a great time with the large HDD capacity support. I no longer have to worry about splitting a 300 GB hard disk. Microsoft decided in the early DOS versions that the main way to organize data would be the directory tree, not partitioning. I happen to agree with this - all the way :)
I think many major companies are much less enthusiastic about supporting Win64 than they should be. Win64 is more than a secondary project and it needs to be supported. Some companies will not care until most users move to 64-bit, and most users will not move to 64-bit until they have a proper support base.