471,570 Members | 892 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,570 software developers and data experts.

Registering COM DLLs in Set projects

Can anyone explain to me (in simple terms, please :) ) what is the
difference between setting the Register property for a DLL in a Setup
project to COM versus COMRelativePath versus COMSelfReg?

I know next to nothing about COM, and I find the MSDN help page:

http://msdn.microsoft.com/library/de...erproperty.asp

completely unilluminating.

I assume that there is some way that I can look at / test a DLL to see
which one of these three I should use for it... how do I figure it out?

Feb 14 '06 #1
1 2438
"Bruce Wood" <br*******@canada.com> wrote in message
news:11**********************@o13g2000cwo.googlegr oups.com...
Can anyone explain to me (in simple terms, please :) ) what is the
difference between setting the Register property for a DLL in a Setup
project to COM versus COMRelativePath versus COMSelfReg?

I know next to nothing about COM, and I find the MSDN help page:

http://msdn.microsoft.com/library/de...erproperty.asp

completely unilluminating.

I assume that there is some way that I can look at / test a DLL to see
which one of these three I should use for it... how do I figure it out?


Com dlls need to add entries to the registry to allow programs to find and
use them. The dll will add these entries when a function it exports called
DllRegisterServer is called, you can see this function if you view the dll
in dependancy viewer. You can call the function manually by typing "regsvr32
mydll.dll". In the past most installers have called DllRegisterServer when
installing com files but that has become a problem on machines with
restricted access to HLEY_LOCAL_MACHINE. The "solution" to this was to
obtain a list of all the keys the dll creates and have the installer add
these keys to HKEY_CURRENT_USER instead. The problem with this is that it is
only helpful to the currently logged in user and I don't see how it would
get a complete list of the registry keys as the dll is free to add any keys
it likes.

The short answer is run regsvr32 on each dll and if it reports success just
set them to self register and warn if the user has inadequate permissions.

Michael
Feb 14 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by mtpollack | last post: by
2 posts views Thread by Shiraz | last post: by
2 posts views Thread by | last post: by
4 posts views Thread by Oenone | last post: by
1 post views Thread by Chris Petchey | last post: by
reply views Thread by XIAOLAOHU | last post: by
reply views Thread by leo001 | last post: by
reply views Thread by Vinnie | last post: by
reply views Thread by lumer26 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.