Riko
Posts: 8
Joined: Thu Sep 16, 2004 10:09 am
Location: Cape Town, South Africa

Extract self-registration registry entries from COM servers

Hi

One of the most important features for me in selecting an installation tool is the ability to extract self-registration entries from DLL, OCX and EXE files at build time. Then, instead of having to self-register files the entries can be properly entered in the relevant Class, TypeLib, Interface, ProgId and Registry tables.

Will this kind of thing be supported in the near future? (It's not too difficult too accomplish when using something like Windows' RegOverridePredefKey function).
Cata
Posts: 638
Joined: Thu Apr 10, 2003 7:37 am
Contact: Website

Yes, this feature is currently scheduled for our 2.1 release.
Catalin Rotaru - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
TH

Hi,
I'm trying out version 2.5.1. Is the feature described here available in this version?

Thanks.
Cata
Posts: 638
Joined: Thu Apr 10, 2003 7:37 am
Contact: Website

No, I am afraid this convenience feature was delayed in favor of more urgent functionality.

We will reschedule it for a future version.

Regards,
Cata
Catalin Rotaru - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Quadiago
Posts: 71
Joined: Thu May 31, 2007 9:07 am

Is this functionality still unavailable?
gigi
Posts: 2103
Joined: Tue Apr 11, 2006 9:55 am
Contact: Website

Hi,

For self-registration a DLL, OCX, etc select the file in "Files and Folders" page and choose "Properties" from the context menu:
http://www.advancedinstaller.com/user-g ... ialog.html

For COMs, COM+, Type Libraries, DCOMs registration see the "COM" page:
http://www.advancedinstaller.com/user-guide/com.html

Best Regards,
Gigi
______________
Gheorghe Rada
Advanced Installer Team
http://www.advancedinstaller.com
Quadiago
Posts: 71
Joined: Thu May 31, 2007 9:07 am

Thank you.

I noted that the registry information isn't reflected in the Class, ProgID, TypeLib tables in the MSI. What does Windows Installer do with the entries in these tables? Do they only result in registry entries being created?

What happens when you use the "Self-Register" option? Do the registry entries that are created by these installs get uninstalled? The main drawback to this method being that mid-install rollbacks might leave orphaned registry entries?

Does that option you mention apply to EXEs as well? If so, does it expect a certain argument such as "/RegisterServer"?

Thanks again.
gigi
Posts: 2103
Joined: Tue Apr 11, 2006 9:55 am
Contact: Website

Hi,

You can read more about Class, Complus, TypeLib tables here:
http://msdn2.microsoft.com/en-us/library/aa367861.aspx
http://msdn2.microsoft.com/en-us/library/aa368002.aspx
http://msdn2.microsoft.com/en-us/library/aa372092.aspx
What happens when you use the "Self-Register" option? Do the registry entries that are created by these installs get uninstalled?
Yes they are uninstalled, however this method is not very recommended. See following link for more details:
http://msdn2.microsoft.com/en-us/library/aa371608.aspx
Does that option you mention apply to EXEs as well? If so, does it expect a certain argument such as "/RegisterServer"?
No, this method does not work for EXEs. For this you need two custom actions (of type "Installed Custom Action") one on install (with command line "/RegServer") for registration and other on uninstall for unregistration.

Regards,
Gigi
______________
Gheorghe Rada
Advanced Installer Team
http://www.advancedinstaller.com
Quadiago
Posts: 71
Joined: Thu May 31, 2007 9:07 am

Hi people

I've made a small list of COM related issues that I'd really appreciate you looking at:
  • * COM Extracted registry keys should replace references to the DLL/OCX with [#FileID] or [!FileID]. (I think this was mentioned before)

    * The registry keys that are extracted should also be moved into the appropriate tables (such as ProgID) - please refer ICE33

    * Could you add an option to allow extraction at build time?

    * Sometimes the registry keys would generate their own components, but this appears to have been fixed recently?
Thanks!
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,
COM Extracted registry keys should replace references to the DLL/OCX with [#FileID] or [!FileID]. (I think this was mentioned before)
This is already a feature of the latest version of Advanced Installer.
The registry keys that are extracted should also be moved into the appropriate tables (such as ProgID) - please refer ICE33
This feature is on our TODO list and it will be included in a future version of Advanced Installer.
Could you add an option to allow extraction at build time?
I have added this feature on our TODO list and it will be available in a future version of Advanced Installer.
Sometimes the registry keys would generate their own components, but this appears to have been fixed recently?
This currently works only if you set the "Extract Registration Info From Native Library" option for multiple COMs in the same time. This issue will be fixed in a future version of Advanced Installer.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Quadiago
Posts: 71
Joined: Thu May 31, 2007 9:07 am

Thanks!
FGump
Posts: 65
Joined: Thu Jan 05, 2006 7:23 pm

COM EXE Registration

Do we still need to use the Custom Actions on install & uninstall to register COM EXEs? I'm currently doing this in my AI setup and wanted to know if there is a newer way available.

If not, would this feature of registering COM EXE's be available in a future release?

Thank you,

Frank
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Hi,

I'm afraid that currently a COM EXE can be registered only by using custom actions. However, I have added this feature on our TODO list and it will be available in a future version of Advanced Installer.

Thank you for your suggestion.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Jim Beveridge
Posts: 32
Joined: Wed May 10, 2006 10:54 pm

Re:

Has the feature been added yet to register COM EXEs? I looked in 6.7.1 but did not see the option.

If the feature hasn't been added, how do we set up the custom action so that the call to the EXE on Vista is made with Administrator privileges?

Thank you,
Jim
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Re: Extract self-registration registry entries from COM servers

Hi Jim,

The Auto-register feature supports some EXE files, so you can try using it for your project. If it doesn't work, a solution is to use custom actions. For example, you can use Installed custom actions which launch the EXEs with the "/regserver" and "/unregserver" parameters.

In order to run on Vista, these custom actions should be Deferred with no impersonation.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Feature Requests”