What does "failed with 0x80004005" error mean in running regsvr32?

P

Peter

I'm trying to register a dll using regsvr32 on a Windows XP SP2 machine and
is getting the error 0x80004005. Does it mean access problem or dll
dependency problem? Is it possible that regsvr32 will fail to register some
dlls due to access permission but at the same time it can register other dlls?
 
P

Peter

They are my own dlls which is written in VB. Forget to mention that the
problem only occurs in one Windows XP SP2 machine.

I can think of 2 possible reasons for the error:

1. Dependency issue
If this is the reason, how can I troubleshoot it?

2. Access Permission
I already tried as local administrator and domain adminstrator. I have
also checked the permission for the main levels of registry.
 
M

MowGreen [MVP]

You'll need to check the Perms of the reg key that the .dlls are
attempting to access. Here's an example:

Error Message: 0x80004005: General Error Unable to Open Registry Key
http://support.microsoft.com/kb/295297
SYMPTOMS
When you access a page that connects to an Access database, you may receive the following
error message in the browser:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access
Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for
process 0x614 Thread 0x6c0 DBC 0x21dd07c Jet'.
(FileName), (LineNumber)

CAUSE
The account that is being used to access the page does not have access to the
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC registry key.

Unless Perms are inherited from the Parent hive [ "main levels" ], then
you'll need to set the Perms on subkeys.


MowGreen [MVP 2003-2008]
===============
*-343-* FDNY
Never Forgotten
===============
 
P

Peter

Hi MowGreen,

Thanks for the reply. Is that a way to check what reg key a dll is trying
to access without going thru the dll coding? Does tool like dependencywalker
or any tool from sysinternals show such info?

MowGreen said:
You'll need to check the Perms of the reg key that the .dlls are
attempting to access. Here's an example:

Error Message: 0x80004005: General Error Unable to Open Registry Key
http://support.microsoft.com/kb/295297
SYMPTOMS
When you access a page that connects to an Access database, you may receive the following
error message in the browser:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access
Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for
process 0x614 Thread 0x6c0 DBC 0x21dd07c Jet'.
(FileName), (LineNumber)

CAUSE
The account that is being used to access the page does not have access to the
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC registry key.

Unless Perms are inherited from the Parent hive [ "main levels" ], then
you'll need to set the Perms on subkeys.


MowGreen [MVP 2003-2008]
===============
*-343-* FDNY
Never Forgotten
===============


They are my own dlls which is written in VB. Forget to mention that the
problem only occurs in one Windows XP SP2 machine.

I can think of 2 possible reasons for the error:

1. Dependency issue
If this is the reason, how can I troubleshoot it?

2. Access Permission
I already tried as local administrator and domain adminstrator. I have
also checked the permission for the main levels of registry.



:
 
M

MowGreen [MVP]

You're mowst welcome. Sysinternals is where you would probably find a
tool to monitor .dlls
Process Monitor or Process Explorer might be useful but, I'm no coder<w>

MowGreen [MVP 2003-2008]
===============
*-343-* FDNY
Never Forgotten
===============


Hi MowGreen,

Thanks for the reply. Is that a way to check what reg key a dll is trying
to access without going thru the dll coding? Does tool like dependencywalker
or any tool from sysinternals show such info?

:

You'll need to check the Perms of the reg key that the .dlls are
attempting to access. Here's an example:

Error Message: 0x80004005: General Error Unable to Open Registry Key
http://support.microsoft.com/kb/295297

SYMPTOMS
When you access a page that connects to an Access database, you may receive the following
error message in the browser:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access
Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for
process 0x614 Thread 0x6c0 DBC 0x21dd07c Jet'.
(FileName), (LineNumber)

CAUSE
The account that is being used to access the page does not have access to the
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC registry key.

Unless Perms are inherited from the Parent hive [ "main levels" ], then
you'll need to set the Perms on subkeys.


MowGreen [MVP 2003-2008]
===============
*-343-* FDNY
Never Forgotten
===============



Peter wrote:

They are my own dlls which is written in VB. Forget to mention that the
problem only occurs in one Windows XP SP2 machine.

I can think of 2 possible reasons for the error:

1. Dependency issue
If this is the reason, how can I troubleshoot it?

2. Access Permission
I already tried as local administrator and domain adminstrator. I have
also checked the permission for the main levels of registry.



:



0x80004005 --> Access Denied

Which Dll are you Tring to regsiter

:



I'm trying to register a dll using regsvr32 on a Windows XP SP2 machine and
is getting the error 0x80004005. Does it mean access problem or dll
dependency problem? Is it possible that regsvr32 will fail to register some
dlls due to access permission but at the same time it can register other dlls?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top