Re: regsvr32 error code 0x80004002



"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message
news:uq2ViXsOIHA.4740@xxxxxxxxxxxxxxxxxxxxxxx
Yes I looked before posting. The dependencies are the same as they were
two months ago:
KERNEL32.DLL
USER32.DLL
OLE32.DLL
OLEAUT32.DLL
ATL80.DLL
MSVCR80.DLL
RPCRT4.DLL

I also have seen this error when there is a missing dll that your dll
depends on.

You're posting that in reply to my list of the DLLs that my DLL depends
on. Those DLLs are all present.

Could you write a short test app that does a LoadLibrary of your dll and
see if it succeeds?

I can do more than that. When my main routine in C# tries to create the
C++ DLL's COM object, if creation fails, then my main routine shells out
to invoke regsvr32 on the DLL. Then it tries again to create the COM
object, and gives up if the second time fails. Well, this invocation of
regsvr32 succeeds. Registration fails if I type the regsvr32 command in a
command prompt (but until a few days ago it worked), or if Visual Studio
2005 compiles the DLL (but until a few days ago it worked).

Is this on a PC with Visual Studio installed?

Mr. Ching. OK, you'd been working too hard that day. Let's continue
today.

Your DLL depends on the VC2005 C RTL (msvcr80.dll).

Yes, that is in my list which you quoted.

These need to be installed using the vc_redist.exe

You're kidding. Or maybe not. 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.
But I didn't do it on the machine where I'm trying to do this development.
And as mentioned above, registrations of COM DLLs used to work on this
machine where I'm trying to do this development.

and not simply copying the dll manually,

Actually not, though it depends. I already managed to produce some
manifests so that the application could be installed on a target system
with private assemblies (i.e. XCOPY deployment). I still have backup
copies of that version in case my new setup project with merge modules
fails to produce the necessary results.

Also, if you have updated Visual Studio with a service pack, then you
need the vc_redist.exe that corresponds with the service pack, and not
the original one that came with VC2005.

In my new setup project with merge modules, the resulting installer
includes the vc_redist.exe from VS2005 SP1. In my previous version where
I constructed manifests, I copied the VC runtime and MFC DLLs from the SP1
versions. At present both of those versions work when installed onto a
target XP system. But that's kind of irrelevant to the problem I'm
discussing here. regsvr32 fails on the XP system where VS2005 SP1 is
installed, after it used to work until a few days ago.

Sorry Norman, the context that this was happening on your development
machine was lost, so I had forgotten that VS was installed. But this does
not negate my points that even though the DLL's found by Dependency Walker
were "present" it does not mean they were present in the correct folders (as
I said, SxS installation is tricky) nor that those DLL's did not in turn
depend on other DLL's which may not have been installed correctly. I also
did not see whether your dev machine was running Vista. If so, you need to
install the Vista Update for VS2005 SP1.

I don't know why it worked until a few days ago but not anymore. All I can
tell you is my experience with the regsvr32 error message. I'm sorry if my
advice isn't working for you, but it was given in a spirit of cooperation,
and I'm not sure I'm getting that from you. I'm glad you have the private
assembly approach to fall back on. Be well.

-- David


.



Relevant Pages

  • 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)
  • RE: VS2005 setup project: execute tasks without installing files?
    ... Windows Installer SDK must be installed. ... Add it into Custom Action, in the Custom Action Editor, open its ... C++ custom action and we use it to get the dll path, ... Microsoft Online Community Support ...
    (microsoft.public.vsnet.setup)
  • Re: msvcp71.dll and Python 2.4 C++ extensions
    ... >> this dll somewhere in the Python directory. ... I'm creating the installer via the distutils by calling "setup.py ... directory where other C++ extension packages might also be able to use ...
    (comp.lang.python)
  • Re: REPOST : problem with security ? on IIS5-Soap-ISAPI-Win2Kpr
    ... I added extensive logging of errors to the DLL and found out ... "Visual Studio Installer 1.1" package which ... any trouble in those cases. ...
    (microsoft.public.win2000.security)
  • Re: Deploying Redemption.ll in a Windows Installer correct way
    ... Hey Dmitry, do you know if that reg-free com works on a per app domain basis ... > dll in HKCU if HKLM can only be accessed with the read-only priviledges. ... no installer can handle this statically. ... > being installed in the registry!!! ...
    (microsoft.public.outlook.program_vba)

Loading