Monday, November 21, 2005

For Crying Out Loud

I recently decided to install the newest version of Apple's Quicktime. Now, first of all, I can't really say I've always had a love-hate relationship with Quicktime. Frankly, it's mostly just hate. I hated the way it used to assign itself as the default application for a bunch of file types without asking permission (and then continually check to make sure you hadn't changed any of them back). I hated the fact that, previously, you could end up with multiple mutually incompatible versions of it on your system, none of them working properly as a result, simply by having several different games installed simultaneously. I hate the way it just never quite fits neatly into a Windows system.

So, I downloaded the latest version. I logged in to my administrator account, installed Quicktime, and played a quick video to verify that it was working. When I logged out and logged back in to my regular limited-user account, Quicktime no longer functioned in this user account. At all. Gives an error message saying "Error 46: Could not find or load activex control". Funny, the previous version worked just fine.

Further investigation revealed it was a problem with some DLL's not being automatically registered for this user. Now, as you may know, you can register DLLs manually using a console command, regsvr32 . Tried that, didn't work. Error message provides no useful information, it just says registration failed. I next tried uninstalling, setting my user account temporarily as an admin account, and installing under that account. Quicktime now functions under this account, but not in the normal administrator account. In other words, Apple's installation package installs Quicktime in such a way that it only functions at all under the actual account you were logged into when you installed it. That's a problem because, following recommended best practices, I do most of my work logged in to my limited-user account, but some games only function when run as administrator, and since games often use Quicktime video, I need to make it work under both accounts.

Here is what I ended up having to do to fix it:

1) Log in as administrator, and temporarily set the limited user account to another admin account.
2) Switch to User account, install Quicktime.
3) Switch to true Admin account, start running a registry monitor program, and attempt to manually register the first DLL.
4) When that fails, examine the registry monitor trace to find where regsvr32 tried to change a registry setting with an "Access Denied" result, to determine what registry key needs to be changed.
5) Switch back to temporarily-admin User account, open the registry editor, find the registry key from step 4. Edit the registry key's permission settings, adding the Administrators group with full read/write permissions.
6) Switch back to the true Admin account. Repeat steps 3-6 until the DLL registers successfully (there may be several registry keys that need to have their permissions changed before it will work).
7) Repeat steps 3-7 for each of the 4 DLL's that need to be registered.
8) Reset the User account back to a limited-user account type.

Here's the problem: Apple seems to have set up their Quicktime installer under the assumption that you, the end user, use a single account for everything you do on your Windows PC. But Windows XP, especially the recent service packs, encourages you to set up a limited-user account for everyday use, and stay out of the administrator account unless truly necessary. This has always been the way serious geeks behaved, and XP now encourages regular folk to adopt the same habits. In this environment, in this day and age, why would Apple apparently not even bother to test Quicktime installation in such a system configuration? It's just baffling.

Now, it's also possible that there was something peculiar to my system that caused the problem. But since the root of the problem was a permissions issue with some registry keys specific to Quicktime, which means the registry keys themselves must have been created by the Quicktime installer, I can't imagine what there could be about my system that would be so different than what they developed/tested the installer on. The registry settings may have been created by the installer for a previous version, but surely they would have tested installing the new version over an existing install, right?

27 comments:

Anonymous said...

I have the same problem, how do I manually register the first DLL?



E-Mail ME!

alam1324[at]sbcglobal[dot]net

Salvius said...

In case anyone else needs this:

Open up a DOS console window (Start -> Accessories -> Command Prompt), and type:

regsvr32 whatever.dll

(obviously, replace "whatever.dll" with the actual name of the dll you're trying to register).

Peter said...

I had this problem with Quacktime 7 but embedded clips played fine in Firefox whatever desktop I logged on to. I gave up and went back to Quacktime 6 until they fix it.

Anonymous said...

Thanks for the clues!

I had the same:
"Error 46 Could not load or find the QuickTime ActiveX control."

I found it allot easier to just log into the account that initially installed Quicktime and re-install from there.

Works like a champ!

Agian Thanks!

Anonymous said...

Whoops, I was wrong

Here are the keys I had to add Administrators Group permissions to:

HKCR\QuickTime.QuickTime
HKCR\QTOLibrary.QTUtils
HKCR\QTOLibrary.QTUtils.1
HKCR\QTOLibrary.QTControl
HKCR\QTOLibrary.QTControl.1

Hope this helps

Anonymous said...

Hi, I solve the problem with regedt32.exe setting the permissions to all key thats start with HKCR\QuickTime and HKCR\QTO.
Nothing else was necesary
Thank for the comments.

Anonymous said...

I have the same problem. Can you e-mail me step by step process in resolving this problem?

Anonymous said...

I have the same problem. Can you e-mail me step by step process on resolving this problem?
weidman1990@comcast.net

Anonymous said...

I have the same problem. Can you e-mail me step by step process on resolving this problem?
avik@gvat.org.il

Anonymous said...

I had the same problem on a laptop where apparently the user that installed QuickTime has been deleted. All those keys didn't have any owner so it was impossible to alter the permissions. I should manually assign the owner and only then change the permissions for each key and its subkeys. After that re-installing QuickTime has solved the problem.

Anonymous said...

If it helps, the unregistered DLL filenames can be found in the Event Viewer - Applications. Good luck.

Anonymous said...

This worked for me:

run regedit
go to HKCR\QTOLibrary.QTControl
right-click, Permissions
add permissions for group "users"
set to "Full Control"
repeat for HKCR\QTOLibrary.QTControl.1

So far, it's working. As another poster above pointed out, there may be other reg keys that need the same treatment.

Anonymous said...

Previous steps work perfectly just make sure u are on the admin account that installed Quicktime FIRST!

run regedit
go to HKCR\QTOLibrary.QTControl
right-click, Permissions
add permissions for group "users"
set to "Full Control"
repeat for HKCR\QTOLibrary.QTControl.1

THANKS HEAPS

sammy

Mark said...

Thanks, this worked for me too. But for me they were QTOControl.QTControl and QTOControl.QTControl.1, not QTOLibrary.

I didn't know how to add permissions for group users so I followed Step 4 here: http://wiki.castlecops.com/How_To_Fix_Windows_Update


Make sure u are on the admin account that installed Quicktime FIRST!

run regedit
go to HKCR\QTOLibrary.QTControl
right-click, Permissions
add permissions for group "users"
set to "Full Control"
repeat for HKCR\QTOLibrary.QTControl.1

Mark said...

http://wiki.castlecops.com/
How_To_Fix_Windows_Update

Sorry, I can't get the link to paste properly, just copy it in 2 pieces.

Anonymous said...

Hi - Peter here - we had the Active X problem and have been able to fix it through the great advice in your post and the comments.
However, now our iTunes won't work properly ... we can't import media (video files) which we used to do easily - we encounter "itunes unknown error 50 cannot import" ... extremely frustrating!!
any clues??
pbrowne@singnet.com.sg

Anonymous said...

Peter here again ... please ignore previous comment - problem solved (not sure how - uninstalled iTunes & Quicktime, rebooted, then used Add to Library" and was able to bring video files in ... then tried Import - and this time it worked!! don't ask me why ...
Thanks again ...
cheers

Anonymous said...

I cannot set the permission to full control. I set it to that but then I click okay and its denied.

Bazm said...

There is an old NT utility called SubInAcl.exe that can be used to reset permissions in Windows XP.

Step1: Download subinacl.msi from the link
http://go.microsoft.com/fwlink/?LinkId=23418 and install it.


Step2: Now open notepad and paste the following exactly as it is into the notepad:

subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f

subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f


Step 3: Now go to File->Save As and save the file in 'C:\Program Files\Windows
Resource Kits\Tools' as reset.cmd


Step 4: Open Command Prompt and type the following without quotes (Hit Enter after
each line):

'cd \'

'cd program files\windows resource kits\tools'


Step5: Now type 'reset.cmd' and hit Enter (Without Quotes)

You will see the Command Line Tool running for about 10 mins or so. After the
process restart the computer and try installing the blocked software again. The issue should have
been fixed.

Anonymous said...

For Vista there is a solution here.

Max Low said...

That worked for me using Vista Ultimate... QuickTime is working again ... you are the Master Wizard!! ... Thanks...

Kennish said...

Ken here, The fix posted above for Vista did not work for me. The script ran but I saw several mentions along the way that access was denied. I cannot understand it, I am the administrator! How can I not have access! Treachery I say! Treachery from Vista!

Also had trouble in the regedit tool. All of those keys said something about not being able to view current permissions but that I could change permissions, and then would not let me do it.

I'm ready to A-Bomb this piece of Vista! Or maybe get all users proclaim that Vista replace a certain profane S-word.

Any Ideas?
WTTW Ken

Kennish said...

I had to deal with this junk. And still could not get it to run. "Error Opening Key:
QTOControl.QTCantrol.1 cannot be opened. An error is preventing this key from being opened.

Details: Access is denied."

?? Hey I'm the Admin right? How can my access be denied? What gives? I poked at the

entries with a few well timed right clicks and got a command menu which then let me try to

select 'Permissions' and next got this strange message.

"Windows Security:
You do not have permission to view the current permission settings for

QTOControl.QTCantrol.1, but you can make permission changes."

?? Really, well lets just see about that. I click OK and add my own profile to the Group

or user names field. Initially the 'Special Permissions' box has a grayed out check. I

then try to check off the Allow for both Full Control and Read. I explore the other tabs

and under the owner tab and the Current Owner field displays, "Unable to display current

owner."

I had to add myself to the security groups, check off the allow and got through advanced and manually had to change myself to be the owner. Wash rinse repeat for like 100 keys. Still no worky.

Anonymous said...

The Vista solution posted above worked great for me, after weeks of going in (like some of the rest of you) and trying to manually reset permissions in registry keys. Here's the link:

http://research.gerger.com/?view=lab&aID=1006

The only reason I could see for getting an "access denied" prompt when you are running his program is that you didn't run it in your Administrator account.

Mike said...

I don't know how many people are still trying to figure this out. For Vista, I had to turn OFF user account control so that I had permissions to change the registry. This allowed the Vista fix above to work its magic.

Anonymous said...

When i try to get to the gerger page for the solution for vista i get these lines:

Notice: Use of undefined constant work - assumed 'work' in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 30

Notice: Use of undefined constant ip - assumed 'ip' in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 32

Notice: Use of undefined constant ip2 - assumed 'ip2' in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 33

Notice: Use of undefined constant date - assumed 'date' in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 35

Notice: Undefined offset: -1 in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 43

Warning: require(/srv/www/vhosts/gerger.com/httpdocs/../o/conf/common.inc.php) [function.require]: failed to open stream: No such file or directory in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 48

Fatal error: require() [function.require]: Failed opening required '/srv/www/vhosts/gerger.com/httpdocs/../o/conf/common.inc.php' (include_path='.:.:.:/usr/share/php5:/usr/share/php5/PEAR') in /srv/www/vhosts/gerger.com/httpdocs/index.php on line 48


and cant view the page... anybody have any idea?

Anonymous said...

email me at fatherjuste@yahoo.com i tried the http://research.gerger.com/?view=lab:en&aID=1006 and i dont what im doing wrong it dont work it says "reset.cmd is not recognized as a internal external command, operable program or batch file"