DllRegisterServer

N

news.microsoft.com

I have a problem registering a simple in-process COM object. The object
registers OK on Windows XP Professional, but fails when an attempt is made
to register it on Vista (CTP 5308). I ran the debugging tool "ntsd" and it
produced the following output:

Microsoft (R) Windows Debugger Version 6.6.0003.5
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: regsvr32 regtest.dll
Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path. *
* Use .symfix to have the debugger choose a symbol path. *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is:
ModLoad: 01000000 01007000 regsvr32.exe
ModLoad: 77ef0000 77ff2000 ntdll.dll
ModLoad: 77e20000 77ee8000 C:\Windows\system32\kernel32.dll
ModLoad: 77b10000 77bb3000 C:\Windows\system32\msvcrt.dll
ModLoad: 77d60000 77e15000 C:\Windows\system32\ADVAPI32.dll
ModLoad: 77c10000 77cb8000 C:\Windows\system32\RPCRT4.dll
ModLoad: 77cc0000 77d5b000 C:\Windows\system32\USER32.dll
ModLoad: 77bc0000 77c09000 C:\Windows\system32\GDI32.dll
ModLoad: 76d20000 76e55000 C:\Windows\system32\ole32.dll
ModLoad: 718e0000 718fe000 C:\Windows\system32\ShimEng.dll
ModLoad: 756c0000 756e9000 C:\Windows\system32\apphelp.dll
ModLoad: 75c30000 75c4e000 C:\Windows\system32\IMM32.DLL
ModLoad: 71650000 71659000 C:\Windows\system32\LPK.DLL
ModLoad: 72a30000 72aaa000 C:\Windows\system32\USP10.dll
ModLoad: 71950000 7198e000 C:\Windows\system32\uxtheme.dll
ModLoad: 10000000 1003b000 U:\MyProjects\RegTest\Debug\regtest.dll
ModLoad: 76c80000 76d10000 C:\Windows\system32\OLEAUT32.dll
ModLoad: 76b80000 76c04000 C:\Windows\system32\CLBCatQ.DLL
ModLoad: 77b00000 77b09000 C:\Windows\system32\VERSION.dll
ModLoad: 76610000 76624000 C:\Windows\system32\atl.dll
ModLoad: 73d90000 73e4c000 C:\Windows\system32\msctf.dll


At this point I get a popup dialog containing the following:

"DllRegisterServer in regtest.dll failed. Return code was: 0x80020009"

Any clues as to where I go from here.

Thank you,
Rick
 
Z

Zack Whittaker

Type in at Run> regsvr.exe softpub.dll
That might help - may need to restart.

--
Zack Whittaker
» ZackNET Enterprises: www.zacknet.co.uk
» MSBlog on ResDev: www.msblog.org
» Vista Knowledge Base: www.vistabase.co.uk
» This mailing is provided "as is" with no warranties, and confers no
rights. All opinions expressed are those of myself unless stated so, and not
of my employer, best friend, Ghandi, my mother or my cat. Glad we cleared
that up!

--: Original message follows :--
 
N

news.microsoft.com

I was able to register the softpub.dll, but still got the error trying to
register the original dll. This is crazy. One works the other doesn't.
 
Z

Zack Whittaker

Try > regsvr.exe (but then type in the name of the dll - if that doesn't
work, type in the full path of the DLL)

ie: regsvr.exe faultyfile.dll
or: regsvr.exe c:/windows/faultyfile.dll

--
Zack Whittaker
» ZackNET Enterprises: www.zacknet.co.uk
» MSBlog on ResDev: www.msblog.org
» Vista Knowledge Base: www.vistabase.co.uk
» This mailing is provided "as is" with no warranties, and confers no
rights. All opinions expressed are those of myself unless stated so, and not
of my employer, best friend, Ghandi, my mother or my cat. Glad we cleared
that up!

--: Original message follows :--
 
N

news.microsoft.com

Thanks. I understood that. My point was that one dll worked and the other
did not. It is finding my dll. I'm assuming you mean "regsvr32.exe" since
there is no "regsvr.exe". The registration process is failing due to an
"E_ACCESSDENIED" returned when trying to update the registry. Does anyone
know why I get access denied and not offered a chance to elevate the
process? Are there special rules for installations on Vista that I've
missed?

Thanks,
Rick
 
Z

Zack Whittaker

Try, going to the Start orb, All Programs, Accessories, right click on
Command Prompt and click on "Run as administrator". This may help your cause
a bit :blush:)

--
Zack Whittaker
» ZackNET Enterprises: www.zacknet.co.uk
» MSBlog on ResDev: www.msblog.org
» Vista Knowledge Base: www.vistabase.co.uk
» This mailing is provided "as is" with no warranties, and confers no
rights. All opinions expressed are those of myself unless stated so, and not
of my employer, best friend, Ghandi, my mother or my cat. Glad we cleared
that up!

--: Original message follows :--
 
R

Rick Lemons

Yes. That works fine. Thank you. As does turning off UAP. Now, does anyone
know how to turn these things off programatically during the installation of
our products? Is there a document on this some place?

Thanks,
Rick
 
J

Josh

You can manifest a file so that it can run elevated (prompts with the allow)
or you can have an MSI regserv the file during install which you can also
get Windows Vista to elevate.


Josh
 

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