Re: regsvr32 error code 0x80004002
- From: "David Ching" <dc@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 10 Dec 2007 01:32:33 GMT
"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
.
- Follow-Ups:
- Re: regsvr32 error code 0x80004002
- From: Norman Diamond
- Re: regsvr32 error code 0x80004002
- References:
- regsvr32 error code 0x80004002
- From: Norman Diamond
- Re: regsvr32 error code 0x80004002
- From: billyard
- Re: regsvr32 error code 0x80004002
- From: Norman Diamond
- Re: regsvr32 error code 0x80004002
- From: Norman Diamond
- Re: regsvr32 error code 0x80004002
- From: Jason Newell
- Re: regsvr32 error code 0x80004002
- From: Norman Diamond
- Re: regsvr32 error code 0x80004002
- From: David Ching
- Re: regsvr32 error code 0x80004002
- From: Norman Diamond
- regsvr32 error code 0x80004002
- Prev by Date: Re: regsvr32 error code 0x80004002
- Next by Date: Re: How to make a CString to 2 lines?
- Previous by thread: Re: regsvr32 error code 0x80004002
- Next by thread: Re: regsvr32 error code 0x80004002
- Index(es):
Relevant Pages
|
Loading