COM dll installation

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hey folks,

We're working on an installer for a thumbnail extractor shell extension COM
server dll. I've been able to build a completely self-registering dll using
ATL (including the ShellEx entries for the file extension and custom Windows
Event Log settings for the server in HKLM). The dll installs OK from the
msi using the isolated approach, but we still have to run regsvr32 to peform
the actual registration. Is there a way from either the Visual Studio
deployment project side or by editing the .msi with Orca to get regsvr32 to
run during the actual installation? (Note: per the very few examples of how
to do these extensions, we're not generating or installing a type library
for this server, so those actions are out as a possible solution.)

Also, we're getting different vibes whether it's best to have the dll
completely self-installing, or if all of the registry entries should be
"externalized" in the msi. Is there a favored "best-practice" here? (One
wrinkle here is that the Event Log registration needs a couple of values
from the .h file produced by the message compiler when building the event
string templates. I've got an AddCommonRGSReplacements() override that adds
substitution strings to the .rgs so these values can be set based on the
generated .h symbols at runtime. If we "externalize" these symbols, I
presume they'd have to have hardwired settings, which presents its own
maintenance pitfall if the .mc message source file is changed.)

Thanks



.



Relevant Pages

  • 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: CHttpConnection and dll
    ... HTTP is perfectly capable of transporing binary files. ... My wild guess would be that your server is misconfigured. ... configured to treat a file with .dll extension as an ISAPI extension ... DLL, and an HTTP request to such a file is assumed to be an attempt to ...
    (microsoft.public.vc.atl)
  • Building an C# web project using C++ DLLs: COM versionning issues.
    ... I tried to build an MSI for web C# project. ... However a 4th server did not detect this error condition, ... work perhaps using a wrong version of the DLL. ... installed in the GAC by an independent installer file. ...
    (microsoft.public.vsnet.general)
  • Re: msvcp71.dll and Python 2.4 C++ extensions
    ... > I'm creating the installer via the distutils by calling "setup.py ... shared dll reference count, etc) of a DLL. ... recommends that each package should install its own copy. ... > extension modules for every kinds of purposes. ...
    (comp.lang.python)
  • RE: What is obex custom service extension?
    ... extension service (in form of a dll) and registering it under the UUID of our ... > one is by extending the OBEX server, this sounds like what you're doing. ...
    (microsoft.public.pocketpc.developer)