Archive for December, 2010

Uninstalling a stubborn QuickTime/iTunes combination

December 24, 2010 3:42 pm

This is what I wanted to see:

image

Instead I got error messages, followed by a rollback of the uninstall I was in the middle of.

Why did I need to uninstall QuickTime and iTunes? Because after finally upgrading my last Windows XP machine to Windows 7, iTunes wouldn’t start properly.

I searched the web for a while to see if I could find good information about the problem, but all I found was useless, generic “use control panel to uninstall” stuff and google-spam-gamed links advertising some complete uninstaller tools.

So I decided to take matters in my own hands. I fired up an elevated command prompt and regedit and dug through the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Uninstall) to find the uninstall string for removing iTunes. I ran that, and – to my surprise – it worked! All I had to do now was uninstall QuickTime, so I found the uninstall string for that, and kicked it off. I got a warning about uninstalling my Pro Key and confirmed that I wanted to do that. Things seemed to progress nicely, but then the rollback happened. Ugh. So I fired off the uninstall once more, this time adding logging:

MsiExec.exe /I{E7004147-2CCA-431C-AA05-2AB166B9785D} /l*v log.txt

It failed again. Good, now I had a log of the failure. Digging though the log, I found this error:

DEBUG: Error 2769:  Custom Action RemoveQT7ProKey did not close 1 MSIHANDLEs.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: RemoveQT7ProKey, 1,
Action ended 13:58:03: RemoveQT7ProKey. Return value 1.

“Okay, so if that action causes issues,” I thought, “let me see if I can remove it”. To do that, I looked back in the log for the cached MSI file that the uninstall uses:

MSI (c) (F0:B4) [13:57:50:043]: Package we’re running from ==> C:\Windows\Installer\100f740b.msi

I then changed the security descriptors on that MSI so I could modify it and used Orca to drop the row that invokes the custom action that attempts to remove the Pro Key:

MSI (s) (84:6C) [13:58:00:119]: Doing action: RemoveQT7ProKey

I saved the modified MSI, ran it again, and lo and behold – QuickTime uninstalled properly!