Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / New Users / October 2007

Tip: Looking for answers? Try searching our database.

Registering a COM Dll with an MSI

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Edgar Harris - 02 Oct 2007 18:12 GMT
I'm creating an installer for a project that I've created.  My project is a
Managed C++ 2005 project, and it compiles out to a COM Dll.  I need to
register this COM Dll in order for the final product to function properly.  
Initially I tried registering the Project Output, but I understand that there
are issues with doing that, so I have excluded the Primary Output for my
project, and I have added the dll from my Release folder directly.  In the
properties for my Dll I have set the Register property to
vsdraCOMReleativePath, but I have also tried vsdraCOM, in both cases the dll
does not register on the target machine.  If I run regsvr32 on the target
machine my dll will register and the application will work.  Does anyone have
any suggestions on how to get this work correctly.  I appreciate any help.

I should also probably point out that I did not remove the Primary Output,
because I like how the MSI project will automatically determine the
dependencies if the Primary Output is with the MSI.  I only excluded the
Primary Output.
Phil Wilson - 03 Oct 2007 18:29 GMT
You don't want COM relative path because that's for a little-used
side-by-side implementation, so use vsdraCOM.

What happens with these settings is that Visual Studio captures the
registration information at build time and puts them in the MSI file so that
the Dll doesn't need to be called at install time. The question then is how
much (if any) registration data is being captured at build time. Internally
I believe the build calls RegCap.exe to create a .reg file, and then this
.reg file gets imported into the setup project with a few changes. If you
feel like installing Orca (an MSI file editor/viewer from the Windows SDK)
you could look at the MSI file to see what's in the Registry, Class and
Typelib tables - that's where the registration would be.

Something to keep in mind is that MSI installs use the per-machine/per-user
settings, so if you so a Just me install the registration will be in HKCU,
not HKLM.
Signature

Phil Wilson
[MVP Windows Installer]

> I'm creating an installer for a project that I've created.  My project is
> a
[quoted text clipped - 16 lines]
> dependencies if the Primary Output is with the MSI.  I only excluded the
> Primary Output.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.