(Re)installing the iTunes COM API in Windows

I ran into a problem recently where a third-party application could not launch iTunes and the Apple iTunes COM SDK also could not launch iTunes.  I have the 64-bit version of Windows XP Professional (x64 Edition) installed on my Athlon 64 computer and initially thought that perhaps MarkAble (an excellent tool for converting audio files into iTunes/iPod Audiobooks) was not working correctly on my 64-bit OS.  However, its problem was with launching iTunes, not calling any of iTunes’ functionality.

Technical Explanation

It was not a 64-bit issue at all.  For some reason, my iTunes COM type library (TLB) was never registered on the system.  So, values like “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\iTunes.Application” and “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\iTunes.Application.1” were not registered on my system.  Neither the ITunes.Application GUID (DC0C2640-1415-4644-875C-6F4D769839BA) nor the iTunes TypeLib for all of the COM interfaces (9E93C96F-CF0D-43f6-8BA8-B807A3370712) showed up anywhere in my registry.

Possible Causes

What caused this?  This may happen when iTunes does not complete its installation process or when the type libraries do not get registered correctly. Either situation could occur on a 32-bit or a 64-bit version of Windows.

Solution

How did I fix it?  I just dropped to a command-prompt, changed to the “C:\Program Files (x86)\iTunes” directory, and issued the following command:

itunes /regserver

That did the trick!  Now MarkAble works like a charm.  The iTunes COM SDK should also work fine now.