The iPhone and XP x64

Making the iPhone work in XP x64 - A guide for lovers

With the release of iTunes 7.6comes official support for the 64-bit versions of Vista, a feature which has been long overdue given the rising number of 64-bit supporters out there. Unfortunately in their infinite wisdom (and, really, a move that was sort of expected given the idiotic way they've handled Windows support in the past) Apple's 64-bit iTunes installer doesn't support XP x64 or Server 2003 x64. Or so it claims, anyway. Turns out, the 64-bit version of iTunes contains no drivers that are not XP/2k3 x64 compatible, save for the CD-burning drivers. With some free utilities and a little bit of effort, it's possible to get iTunes - and more importantly iPhone support - working under XP/2k3 x64.

BEFORE I START, A NOTE ABOUT THE SCREEN SHOTS: I am using a custom Windows theme to simulate the look and feel of OS X. It may look like these screens were taken on a Mac in a few of the shots but I assure you, I use XP x64. (How many OS X programs do you know of called "Windows Task Manager"?) Also, these screen shots were taken while using the 7.6 release of iTunes; some minor details (file names, installer contents) have since changed. The text portion of the directions have been updated to account for the differences in the most current version. Anyway...

ANOTHER NOTE ABOUT THE SCREEN SHOTS: Because this page is regularly swamped these days the bandwidth limit for Google Pages' images gets reached pretty quickly. Unfortunately I don't have an alternative host for the images, so there's not much I can do about it.

Getting iTunes fully up and running on XP/2k3 x64 isn't a precisely straightforward process. First of all, it requires the use of a couple additional utilities (all free fortunately) in addition to having the iTunes 64-bit installer saved on your computer. For this process you will need to download the following things:

You should also consider downloading these files, which are generally a good idea for running iTunes in a 64-bit Windows environment:

GEAR Software 64-bit CD burning drivers: Apple uses the 32-bit versions of these drivers to enable CD burning/ripping in iTunes. Installing these after installing iTunes should allow you to use iTunes' built-in CD burning option in XP x64.

Xiph.Org: QuickTime Components: This package allows you to load up any of the Xiph-supported formats (Ogg Vorbis, FLAC, etc.) in QuickTime, and thus in iTunes as well. You'll still have to use iTunes' "Convert to AAC" option on these files before you can sync them with your iPhone or iPod, but at least they'll show up in your music library.

Once you download all the files, do the following:

Install both 7-zip and Orca. 7-zip won't overwrite any of your file preferences if you prefer something like WinRAR; however, I highly recommend you set it to handle all compressed file types (save for .CAB and .ZIP, as they have integrated Windows support) since it's free and 64-bit native. If you downloaded the CAB file for Orca, extract the file that starts with "ORCA_MSI" and rename it "ORCA.msi", then run it.

Now you need to use 7-zip to open the iTunes installer file. If you enabled 7-zip's shell integration, just right click as shown in the image above. Otherwise, run 7-zip, navigate to the folder where the iTunes file is, then select it and go to "Open archive".

Unless your iTunes installer is corrupted you should get a window like the one above. Select all the files and extract them to a separate folder somewhere. (I made a sub-folder simply called "iTunes")

UPDATE for iTunes 9.x: From the files you've just extracted,
right-click "AppleMobleDeviceSupport64.msi" and select "Edit with ORCA". When ORCA opens, you'll see some entries in the left pane. Scroll down until you find the entry "LaunchCondition". Select it. The right pane will show some entries, one of which will start with "(VersionNT=501...". This is what stops the installer from running on x64 correctly. Click that text, which should change to highlight. At the very end of the line, replace "VersionNT>=600" with "VersionNT>=501". Then hit the save icon and close ORCA.

(NOTE: Yes, that was a lot of instructions with only one picture. When I have more time I'll fully update this guide and break out the instructions a bit better. In the meantime, if you're confused as to what to do here, skip ahead a few steps to the part where you modify iTunes64.msi, which is written a bit more clearly. You're basically doing the same thing here as you are there, just to a different file.)

With the file modified, select and run "AppleMobileDeviceSupport64.msi". Click through all the usual screens, agree to the license agreement, and after waiting a while dismiss the Windows warning screen that tells you the driver being installed is unsigned and thus may cause your computer to explode or make your face melt off like that Nazi from Raiders of the Lost Ark. Congrats, you've just installed the 64-bit iPhone driver in XP x64. (Though you still need to force the iPhone to use the new driver, described a ways down) "Vista only" my ass. Remind me why Apple won't let you install this on XP x64 again?

With that amazingly complex step out of the way, now you need to install QuickTime. For some reason the Quicktime.msi file won't work right under x64 unless it's part of a compiled installation package, so find the separate QuickTime installer you downloaded earlier and run it. (And agree to the license agreement, blah blah blah)

Now that QuickTime is installed there's nothing preventing iTunes64.msi from installing successfully, except for the completely unnecessary Operating System restriction Apple decided to include in the installer. Fortunately this can be fixed quite easily. Right-click the file and go to "Edit with Orca".

Once Orca opens the file scroll down the left pane until you get to "LaunchCondition", then select it. From here you have two options:

The right pane will show a few entries, the second of which should be "VersionNT64>=600". Click it a few times and the entry should change to let you edit it; when it does, change "600" to "501". Click anywhere else on the window to confirm your changes, then select "Save" from the file menu and close Orca.

Delete the "LaunchCondition" tab completely by right-clicking it and selecting "Drop Table". Next select "InstallUISequence" in the left pane, then find "LaunchConditions" in the right pane. (Click the "Action" tab at the top of the right pane to alphebetize the list) Delete it by right-clicking and selecting "Drop Row". Select "InstallExecuteSequence" from the left pane, then find and locate "LaunchConditions" in the right pane and delete that as well. Save the file and close it.

Option (a) is the most simple, but some systems encounter an error (2229) which prevents the 8.0+ installer from running after it is modified. In those instances option (b) should do the trick, though the modified installer might fail to notice certain other things the LaunchCondition table is set up to check. (e.g. driver install failure, iTunes still running, etc.)

Run the now much more cooperative iTunes64.msi and agree to all the licensing jazz, then sit back and let it do its thing. You may notice an error or two as it progresses; those are due to the aforementioned CD burning driver issue. If you want iTunes to support CD burning/ripping later, or just don't want to see the annoying "iTunes wasn't installed properly" screen every time you run the program, you should also install the optional GEAR drivers I linked to at the beginning.

Regardless of what you plan to do about CD burning, when iTunes finishes do not run it immediately. There's still one more step you need to do to get the iPhone working before you run iTunes.

With all those (relatively) simple tasks you knew there had to be a catch somewhere. Well here it is, though most of us who have dealt with XP x64 driver issues are probably familiar with it by now For those who aren't, I'll present it in list form to make it easily readable. Plug in your iPhone, then do the following:

Open System Properties (in the Control Panel, or right-click "My Computer" and select "Properties"), then go to the Hardware tab and click the "Device Manager" button.

Scroll down the list until you reach "Universal Serial Bus controllers". Double-click it to expand it, then look for "Apple iPhone" in the list. If it's there you can skip the rest of this. If not, go to the next step in this list.

Next find the section "Imaging Devices". Double-click it to expand it, then right-click the "Apple iPhone" entry and go to "Properties".

Go to the Driver tab and click the "Update Driver" button

When the Hardware Update Wizard opens up, it may ask if you want to connect to Windows Update. select "No, not this time" and hit Next.

On the next screen, select "Install for a list or specific location" and click Next.

On the next screen, select "Don't search..." (blah blah blah) and hit Next.

The next screen should show you two entries, "Digital Still Camera" and "Apple Mobile Device USB Driver". (or similar) Select "Apple Mobile Device USB Driver" and click Next.

After a while you will be presented with that same "this driver might make your face melt off" warning screen from earlier. Click "Continue Anyway". (Though if you do I can't guarantee that your face won't melt off)

When the install process finally completes hit Finish, then close out all the windows you've opened.

If everything went smoothly you can now run iTunes. If not... well I don't know what to do, actually. Try again?

At last, it's time to run iTunes! Find it in your start menu and run it; you should get the standard License Agreement screen after a while. If it takes too long to start, however, you may need to check the Task Manager to see what the hell is going on. Before that, though, try using Alt+Tab to scroll through your running programs and see if the iTunes window has been hidden behind something else. (For some reason iTunes 7.6 doesn't always grab focus when it runs) If the window isn't there or won't come up, load up Task Manager by hitting CTRL+SHIFT+ESC. (Or right-click the taskbar and run it from there) Go to the Processes tab and scroll down until you find "iTunes.exe * 32". If it's just sitting there using no CPU resources select it and hit "End Process". Otherwise you should wait until it isn't using any resources, since it may still come up.

If you do wind up using "End Process" to stop iTunes from running, simply run it again. It should come up this time.

Once it's running you can proceed as normal. The only weird issue is that iTunes will tell you that CD burning support isn't enabled every time you run it, which while annoying isn't a real problem. If you do want to get rid of that annoying little screen though, here's a quick, image-less walk-through of how to do it:

If you haven't already installed the 64-bit GEAR CD Drivers I linked to at the beginning, do so now.

Go to your Windows directory (should be C:\Windows, unless you're dual-booting or something) and create a folder called "Sysnative", then another one inside that folder called "drivers".

Go to system32\drivers and find the file "GEARAspiWDM.sys". Copy (do not move) the file to the "drivers" folder you created above. (Should be C:\Windows\Sysnative\drivers)

That's it. That's all it takes to get rid of the odd error message, which (I think) is caused by the iTunes setup looking in the default Vista path for drivers and nowhere else.

Anyway...

Transferring files (music at least) to the iPhone does work, as shown in this screenshot. (Yeah, only 14 files, I know. It was my first test) I can't speak as to other features like syncing with the Windows or Outlook Address Book yet, but the music part of Syncing is really the important part, and it works.

Enjoy your iPhone the way it was meant to be used. (No thanks to the idiots who restricted the iTunes 7.6 installer)