0×80004005 register dll by regsvr32 fail trouble!
Recently I bought a Logitech webcam and I tried to install it on vista 64 bit OS however I couldn’t manage to install it completely with all its software but only the actual device driver…
At first I got a simple internal error I guess it was 2738 anyways then I browsed to Logitech’s support site and found this and it simply says that you should register the vbscript.dll by regsvr32 BUT when I try this I got an error says that
the DLL was loaded but the call to DllregisterServer failed with error code 0×80004005
So I did some more digging and all I’ve found was that you should’ve opened the command promt by “run as Administrator” and it was the most common mistake that causes this error but this was mentioned on logitech’s solution already and I did it that way so it wasn’t the case with me…
After some more digging I found that I can sort of debug the process by the procmon software by sysinternals (recently bought by microsoft) or at least can find some clue about what went wrong… (I also found that there could also be some possibility about registry permissions problem) Anyways I found out that while the process tries to register the dll it gets several ACCESS DENIED messages on certain keys on registry and when I try to go see those very same keys I got the ACCESS DENIED error too (as an admin) so I did fix the permissions on those keys and it worked BUT that permission fixing process was a little bit complicated & confusing for most of the people and I personally never seen it explained anywhere before so I’ll try to explain it in detail. Please read carefully and take care about the details! (sort of the biggest reasons for this post)
- Open your registry editor by Start => Run => type “regedit” , hit enter (you should at least be an administrative privileged user)
- Find the keys that gives ACCESS DENIED errors (assuming that you have already found the keys by procmon, in my case it was all the keys starting with “VBS” under the HKEY_CLASSES_ROOT but in your case it may differ) - if you need assistence about howto use procmon to find the keys please comment here and I’ll do my best but actually you can find out how to use it easily on the web, you should simply filter it to show only “regsvr32.exe” process and “ACCESS DENIED” results.
- Then When you even first clicked the key to select it should give you the error, just click ok and ignore it and right click the key and select the permissions. Click the Advanced.
- in the opened window DON’T touch anywhere else and go directly to OWNER tab on the top and first mark the little box that say “Replace owner on subcontainers and objects” and just select the “Administrators” from the list and click Apply.
- then go back to the PERMISSIONS tab in the same window and look for “…inheritable permissions…” select box just below the ADD and EDIT buttons, if its selected and there is nothing or at least no “Administrators” then click ADD and click advanced then click Find now and select “Administrators” (NOT Administrator) Click OK and you should/may be able to see some other permissions too. If “…inheritable permissions…” was not selected, select it and also select the one below it (one that starts as “Replace all existing…”) and click Apply and/or OK.
- now you think you’r done but you’r sadly mistaken
there should (could) be other(sub) branches to waiting to get fixed. to see if there is just hit the F5 on your keyboard and see if there has a plus sign appears on the left side of the key(s) you were working on… and repeat the same procedure on those sub keys too (steps 4 and 5) - Finally try to register your DLL again but it migth fail again because there still maybe keys left to get fixed check with Procmon again repeat the step as necessary BUt if your using 64 bit OS as I do I think you may ignore the keys under the “Wow6432Node” since its just sort of a mirror…
Please use comments for further assistance, thank you and I hope it helps…

(3 votes, average: 4.67 out of 5)