Error accessing the OLE registry (Build 5744 and msrdp.ocx)
- Getting an error trying to register the msrdp.ocx control on Vista RC2. Using regsvr32 it apparently "succeeds" however programs that use the control report it as not registered correctly. Using innosetup to do the installation gives the error:
Error accessing the OLE Registry. Error 0x8002801C.
That indicates a permissions error typically.
Any idea why this Microsoft control will not register? Using the version from Windows Server 2003 SP1. Is there a new version of the control that works correctly on Vista?
All Replies
I guess you are running with UAC enabled so all registry access to HKEY_LOCAL_MACHINE is redirected without the caller noting it. So I guess the registration was never written to the correct place and hence the COM clients cannot find the component.
Try running regsvr32 from a cmd.exe which you started as admin: create a shortcut to cmd.exe and right click the shortcut. You should find an entry Run as Admin in the context menu. call RegSvr32 with the full path to the ocx and see if that works.
If that does not work you might try ntregmon from www.sysinternals.com to monitor which registry keys could not be accessed.
--
SvenC- Problem is, turning off UAC doesn't seem to make any difference. The installer is Vista aware in the first place, giving the popups. Even running the installer as Administrator by right clicking doesn't seem to work.
While regsvr32.exe gives a sucessful message, something still fails.
Running regmon gives a ton of access denieds to such keys as HKCR\MsRDP.MsRDP.2
Seems TrustedInstaller has full control of all those keys, but my Administrator account doesn't. Anyone with a quick fix? - As many things as I try, it does seem that the OCX registration works when using regsv32.exe on the system, but the applications still cannot access the OCX.
Maybe running the installer in XPSP2 compatability mode may work. - try creating a short cut of CMD and run as administrator, and then register (Regsvr32), it will work.
- yessss it works.
- Thanks so much, ive been having problems with this all day!!
My program works now. thanks - Thank you vey much. My program finally works.
To make it clear, after creating the shortcut, open theshortcut properties and then choose advance button on Shortcut tabs.
Thx a lot guys, really wondering how you guys found out the solution =)
How does it work from an INSTALLER? I do not register ocxs manually but from my installer. And it is NOT a msi-style installer but an old exe-style one. It has worked perfectly under Win98 and WinXP and I am not going to drop it. Writing the script I am unable to right-click at the shortcut and choose Administrative rights. Thank you.
- dronov10
I am also trying to register the OCX through EXE style installer. Did you find the solution for msrdp.ocx error. Can you post it here
Thanks in Advance.
~SNK - can you please tellme step by step how to make work.
On a Vista machine:
* Copy whatever module file you are trying to set up to the C:\Windows\System32 directory
* Left click on "Start"
* In the bottom left-hand box type "cmd" or "cmd.exe" (without quotation marks)
* The top of the "Start" box should switch to "programs" and list "cmd"
* Right click on the "cmd" file and select "Run as Administrator"
* Click all the "Continue" and "Allow" buttons and a black Dos-like box will appear with
"C:\windows\system32>" (or whatever drive you have Vista loaded on) will appear
* Type in "regsvr32 C:\Windows\System32\YOURFILEMODULE.XXX (the name of the module
you're trying to install). For example to install the Comdlg32.ocx runtime library in the register,
type: "regsvr32 C:\Windows\System32\Comdlg.ocx" (No Quote marks) and hit Enter.
If all's gone well you should see "DllRegisterServer in C:\WINDOWS\System32\comdlg32.ocx
succeeded."
Good luck
Thanks so much! i've spent hours on this issue and your message helped resolve it!
pj
- I had similar problem with this when installing Service Pack 3 for Windows XP. I searched the registry and found there is no owner for the key so System can't write there. All you have to do it to 1) take ownership of the key and 2) make sure the admin and system have the necessary rights, mostly full rights. Hope this helps anybody.
Thanks
This realy work.
- Brilliant! The step by step thing really helps if you're not a computer brainiac. Merci!
Very clear, easy to follow post, that worked first time I followed your instructions. Many thanks for solving an itch that has bugged me for days. Thank you again.
- hi,
Reading this discussion helped me a lot thx,
but after registering the xxx.dll in my code i am using URLDownloadtofile API and trying to download that file on a specific drive such as C:\\ABCD\\ after the TBButton click event
But the specified file is not downloaded
Plz help me
- How do you register (Regsvr32)? When I put in Regsvr32/i DIIname it tells me to make sure the DIIname is valid. It says the DIIname was loaded but the entry-point DIIInstall was not found. Any help?
- Thanx dear,
it worked,
i was wondering for a long time what is holding it ,,
Thanx again ,,
:) - Thank you so much Mutley. Those detailed instructions really worked.
Rodney

