Re: regsvr32 error code 0x80004002



Do _any_ of directories, registry info (like object description), etc,
contain non-ASCII characters? I'm afraid some of code (regsrv, or any DLL)
doesn't handle case when number of bytes in MBCS != number of UNICODE
USHORTs. There is also possibility of third-party software (certain global
hook DLLs) not supporting non-ASCII paths well.

"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message
news:e76KsQtOIHA.4712@xxxxxxxxxxxxxxxxxxxxxxx
"SvenC" <SvenC@xxxxxxxxxxxxxxxx> wrote in message
news:C8F17C6A-B309-4E2C-852A-AA57DB569148@xxxxxxxxxxxxxxxx
Hi Norman.

Today regsvr32 gives error code 0x80004002, Interface Not Supported.
(Actual wording: $B%$%s%?!<%U%'!<%9$,%5%]!<%H$5$l$F$$$^$;$s(B)

That error code has the description "No such interface supported".

To see where it is generated you can debug you ATL dll by using regsvr32
as the debuggee.
Use menu Project properties->Config Props->Debugging
Enter the complete path to regsvr32 into the Command field.

c:\windows\system32\regsvr32

Enter the complete path to your ATL dll (debug version) into Command
Arguments.

Ugh. I didn't want to regsvr32 the debug version, I only wanted to
regsvr32 the release version. But OK, I'm trying it.

Oh this is really ugly, this is going to depend on debug versions of the
CRT. I really didn't want to regsvr32 a debug version. But OK, I'm
trying it.

"C:\censored+censored too+installer\censored tree\Debug\censored.dll"
(with quotes because of the spaces)

Put a Breakpoint in the DllRegisterServer function of your ATL dll

HRESULT hr = _AtlModule.DllRegisterServer();

and press F5.

I'm not sure if that will work. The project was built even though
registration failed. I don't need to start executing the C# client
executable project, I need to make VS2005 call the DLL's DllRegisterServer
function.

I thought of right-clicking the DLL project and selecting Rebuild. But
wait, this is the reason why you told me how to set the project's
debugging properties. OK, F5.

Well, the whole thing executed without breaking at the breakpoint.

Double-checking the properties of the C# client executable project, in the
Debug properties, the checkbox to enable debugging of managed code is
already checked.
(Actual text: $B%"%s%^%M!<%8(B $B%3!<%I(B $B%G%P%C%0$rM-8z$K$9$k(B(U))

And there's more. The whole thing executed without breaking at the
breakpoint, but just before that, the whole thing rebuilt. There's even
the error PRJ0050 that registration failed. This VS2005 error message
comes about because of the regsvr32 error. The usual response to PRJ0050
is that administrators have to run VS2005 as administrator. I am running
VS2005 SP1 as administrator, and this is on XP SP2 not on Vista. So
regsvr32 bombed out without even calling my DllRegisterServer function,
right?

Single step through the code and watch out which call does return
0x80004002.
You might find the problem yourself with this method otherwise please
post which function fails.

Still hoping to reach that point, if you know how to get there.


.



Relevant Pages

  • Re: Project Options
    ... What you want to do is, you want to register the DLL automatically.. ... what you are doing is trying to debug your DLL with regsvr32.exe which is ... When I execute ... > can I pass the DLL name to regsvr32? ...
    (microsoft.public.vc.ide_general)
  • Re: Service pack 3 problem
    ... Opening the regsvr32 file is as you say, no dll specified, followed by the ... and no dllcache folder exists, ... After show hidden files, folders, and system files, use WINDOWS Explorer ...
    (microsoft.public.windowsxp.general)
  • Re: regsvr32 error code 0x80004002
    ... I also have seen this error when there is a missing dll that your dll depends on. ... this invocation of regsvr32 succeeds. ... On another PC which also has VS2005 SP1 installed, an installer which was created by a VS2005 SP1 setup project did indeed insist on installing an extra copy of the redistributables. ... Sorry Norman, the context that this was happening on your development machine was lost, so I had forgotten that VS was installed. ...
    (microsoft.public.vc.mfc)
  • regsvr32 cant load Addin DLL
    ... regsvr32 is not loading the DLL correctly. ... VS 2003 is reporting ... I do regsvr32 manually, it does not report any error, but it's ... I have an installation package (packaged ...
    (microsoft.public.office.developer.com.add_ins)
  • Re: regsvr32 error code 0x80004002
    ... The call to PrxDllRegisterServer fails ... so regsvr32 displays error code 0x80004002. ... You could find out what module (.dll) that PrxDllRegisterServerresides ... Windows XP uses Unicode and ANSI code page 932. ...
    (microsoft.public.vc.mfc)