iTunes 8 never installs or upgrades, requests to reboot over and over in Vista
This issue is back (without the rebooting part) in iTunes 10 and Windows 7. Please see my most current post describing how to resolve this issue. Note, the information contained in the article below is here for historical value only. Please see my latest post describing how to fix the most current issue with iTunes 10 and Windows 7. -Brian
As an update to this Randosity article, I have upgraded my system to Windows 7 and then installed iTunes 9. Since making this change, I am no longer having the registry issue documented in this Randosity article. So, it may be worthwhile to upgrade your system to Windows 7 to alleviate this issue. Of course, it could be a fluke, but iTunes installed and started up without any issues on Windows 7. Before you upgrade, though, you’ll want to remove iTunes from your system, then run the upgrade to Windows 7, then reinstall iTunes 9. If you still experience registry issues with Windows 7 and iTunes 9, refer to this article for tips on what to do.
Note: I’ve just found that the permissions issues resurface after the upgrade to the 184.108.40.206 version of iTunes. If it happens to you, you will want to follow the instructions below to fix the permissions problems such as to enable the use of the itms protocol (the protocol that lets you get to iTunes URLs from your browser through the iTunes app). Note that you may be able to uninstall iTunes and reinstall it with success. However, I wasn’t able to do this on my system. So, I had to utilize the instructions below. Note also that when you use the Software Update tool under Windows that it will change the permissions back to being non-functional. So, you will, again, need to follow the instructions below.
Note that I have simplified these instructions.
What is this all about?
I ran into this iTunes problem on my Windows Vista 64 Home Premium installation. If you have an iPod or an iPhone, this can be extremely frustrating. I am also using the iTunes 64 bit version. I spent probably 2-3 days poking around on the Internet for answers to this problem. The answer is not as easy as one might have hoped. This fix should work with all versions of Vista, but specifically works for Vista 64. However, there is a solution.
So, let’s describe the problems you might encounter because of this issue:
- iTunes upgrades and asks you to reboot. You reboot. You try to start iTunes and a Windows Installer says ‘configuring’ again. It asks you to reboot again. You do this 2 -3 times and realize this is a dead end. iTunes won’t start from the icon.
- You launch an itms, itmss or itpc protocol in your browser and the browser tells you there is no application associated with this protocol.
- Quicktime gives you an ActiveX error and won’t run.
There have been several proposed solutions to this issue. The easiest being, go to your Program Files folder and create a shortcut from the iTunes.exe file to your desktop (or wherever). While this first resolution does work and will let you play your music, it will only work to a degree. It doesn’t fix Quicktime. It also doesn’t fix the underlying issue and it doesn’t fix the browser launching problem described above. For that, read on.
The Reason Behind this Issue
Feel free to skip to the The Solution below if you want to get started right away.
Windows Vista adds in much stronger security protections within Windows including Windows registry entries. So, things tend to run as the psuedo user SYSTEM (sometimes called Local System) and also apparently some registry entries get installed as the SYSTEM user. Note, the SYSTEM user is not an actual user. So, you cannot log in as this user, nor can you easily use RunAs on this user. Fret not, there is a way to get an interactive session with the SYSTEM user in Vista. We’ll come to that under the solutions section.
With the release of Windows Vista, Microsoft has completely thwarted the idea of a superuser. No longer is there a superuser on Windows Vista. Because of this change, there are now permissions that can be set onto objects, things and registry entries that can even prevent Administrator (the once previous superuser) from getting access to that object within Vista. That doesn’t mean that Administrator can’t ulimately get access to the object, it means that the initial permissions prevent it. The superuser Administrator can still change the permissions and ownerships always, but the initial permissions prevent access. In a truly superuser system, this should never happen. There should always be a full superuser that always has access 100% of the time regardless of set permissions. That’s the idea behind a superuser. Thus, Microsoft has officially broken the Windows’ superuser.
The Broken Apple Problem
Because the superuser is now broken in Vista, there are registry entries that get placed (or replaced) as a result of Apple’s inept handling of the installation of iTunes (and probably Quicktime also). So, entries get built with only SYSTEM user permissions. No permissions are given to Administrator, Users or any other group or user on the system. Because SYSTEM has such limited privileges (created specifically by MS to thwart privilege escalation exploits), the installer for iTunes (actually the Windows installer) cannot reset the broken permissions that the initial installer created in the first place!
In other words, let’s say you’re logged in as your account named ‘beaners’. The account ‘beaners’ is not allow access to read objects that are created by the SYSTEM user (where this object has no other permissions set). Since your ‘beaners’ account doesn’t have permissions to SYSTEM created objects, your account gets ‘Access Denied’. That would be fine if the object were intentionally supposed to be set this way. However, because of Apple’s ineptness, the iTunes registry entries get set up this way. So, your ‘beaners’ account again gets ‘Access Denied’ to these registry entries. This breaks iTunes and is probably not what Apple intended. In fact, the permissions for these registry entries should have been set so that all users have full control over these registry entries. Yes, there is a Users group that includes all users of Windows.
This is a fairly serious and stupid mistake by Apple.
As of 4/08/09, I have found that the reason the script didn’t work for me initially wasn’t related the administrator account. Instead, it was the script itself being incomplete. I have, therefore, included a lot more registry fixes for mostly iTunes, but it also includes many Quicktime registry entries. Because of the fixed script, I am able to present a far easier methodology to get iTunes working. As a result of fixing this script to work better, I was able to reduce this article down to only a few steps.
Actually, the solution relies on a script that ultimately resets the permissions on the iTunes and Quicktime registry entries to give Administrator and Users (the group described above) access to all of these entries. The script must run as Administrator to be successful. Therefore, you will need to use the ‘Run as administrator’ feature on the script. This fix will not succeed if the script isn’t running as Administrator.
To proceed with this fix, you will need the following things:
- Subinacl: Download ‘subinacl.exe’ from Microsoft here.
- Reset.cmd: You can download the script from here.
Find your script where you downloaded it. Make sure that subinacl.exe is in your path or place this subinacl.exe in the same directory with the script. Next, right-click the reset.cmd file and choose ‘Run as administrator’ (see image below):
Once you run it as Administrator, it will open a command shell. You may see the security warning below:
If you see the security warning, it is just asking you to confirm that this is what you really want to do. Click the ‘Run’ button to run reset.cmd script. Once it runs, it will open a command shell:
Press any key to begin the repair or close the window to abort. If you want to see what the Reset.cmd command does before you run it, open it in Notepad. You will see that it simply modifies the permissions on the registry keys associated with Quicktime and iTunes to allow Everyone to access these registry keys. Once this task is completed, your iTunes will be repaired and functional.
Good luck and let me know if you have questions or if you have a success story.
Disclaimer: You are responsible for your use of this information. This information is provided as-is with no warranty expressed or implied. Use the above information at your own risk. You should always make system restore points or backups before making registry changes so you can restore your system in the event of unexpected problems.