[wix-users] harvesting COM registration data

Christopher Painter chrpai at iswix.com
Mon Dec 3 11:40:21 PST 2018


This used to be a lot harder.   These days we have a number of very reliable harvesting tools for whatever setup authoring tool you like to use.  Back in the early 2000s it was far more fragile.  I could kinda understand if someone took the easy way out and used SelfReg back then.  Today there's almost never a reason.



________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Rob Mensching via wix-users <wix-users at lists.wixtoolset.org>
Sent: Monday, December 3, 2018 12:41 PM
To: Farrukh Waheed
Cc: Rob Mensching; WiX Toolset Users Mailing List
Subject: Re: [wix-users] harvesting COM registration data

…and for completeness sake, the Remarks on the MSDN documentation are more reasons (they are specific to DLL but apply to .exe self-reg as well): https://docs.microsoft.com/en-us/windows/desktop/Msi/selfreg-table
[https://docs.microsoft.com/_themes/docs.theme/master/en-us/_themes/images/microsoft-header.png]<https://docs.microsoft.com/en-us/windows/desktop/Msi/selfreg-table>

SelfReg Table | Microsoft Docs<https://docs.microsoft.com/en-us/windows/desktop/Msi/selfreg-table>
docs.microsoft.com
The SelfReg table contains information about modules that need to be self registered. The installer calls the DllRegisterServer function during installation of the module; it calls DllUnregisterServer during uninstallation of the module. The installer does not self register EXE files. The SelfReg ...





_____________________________________________________________
Short replies here. Complete answers over there: http://www.firegiant.com/

From: Farrukh Waheed <farrukh1 at gmail.com>
Sent: Monday, December 3, 2018 9:47 AM
To: Rob Mensching <rob at firegiant.com>
Cc: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] harvesting COM registration data

Ah.... you are right :(

On Mon, 3 Dec 2018 at 22:30, Rob Mensching <rob at firegiant.com<mailto:rob at firegiant.com>> wrote:
Rollback?

_____________________________________________________________
Short replies here. Complete answers over there: http://www.firegiant.com/

From: Farrukh Waheed <farrukh1 at gmail.com<mailto:farrukh1 at gmail.com>>
Sent: Monday, December 3, 2018 9:28 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Rob Mensching <rob at firegiant.com<mailto:rob at firegiant.com>>
Subject: Re: [wix-users] harvesting COM registration data

btw, if you call your exe in a custom action by passing  -regserver switch, wouldn't that do the job?

On Fri, 30 Nov 2018 at 23:00, Rob Mensching via wix-users <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>> wrote:
The DLL or EXE writes those registry keys directly.  The HeatWave Harvesting (and I expect the feature in InstallShield that Christopher is capturing for you) does a bunch of work to hook the registry calls made while the DLL or EXE execute.  Heat.exe has a simpler solution that works for most DLLs but not for EXEs.

_____________________________________________________________
 Short replies here. Complete answers over there: http://www.firegiant.com/

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>> On Behalf Of Reuss, Matthias via wix-users
Sent: Friday, November 30, 2018 6:55 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Reuss, Matthias <matthias.mr.reuss at sivantos.com<mailto:matthias.mr.reuss at sivantos.com>>
Subject: Re: [wix-users] harvesting COM registration data


But where do these deviations come from (Class, AppId, Progid missing)?
@Christopher: I have sent you an e-mail.

Best regards

Matthias Reuss

Von: Christopher Painter <chrpai at iswix.com<mailto:chrpai at iswix.com>>
Gesendet: Donnerstag, 29. November 2018 16:41
An: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Reuss, Matthias <matthias.mr.reuss at sivantos.com<mailto:matthias.mr.reuss at sivantos.com>>
Betreff: Re: harvesting COM registration data


If this is a one time need for you and you just want an easy button, email me the EXE and I'll  author a fragement for you.

________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org><mailto:wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>>> on behalf of Reuss, Matthias via wix-users <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org><mailto:wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>>
Sent: Thursday, November 29, 2018 2:53 AM
To: WiX Toolset Users Mailing List
Cc: Reuss, Matthias
Subject: Re: [wix-users] harvesting COM registration data

Just tried: I can extract a TLB from the EXE. Heat can harvest the interfaces from the TLB, but the Class, AppId, and ProgId are missing.

-----Ursprüngliche Nachricht-----
Von: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org><mailto:wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>>> Im Auftrag von Hoover, Jacob via wix-users
Gesendet: Mittwoch, 28. November 2018 21:08
An: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org><mailto:wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>>
Cc: Hoover, Jacob <Jacob.Hoover at greenheck.com<mailto:Jacob.Hoover at greenheck.com><mailto:Jacob.Hoover at greenheck.com<mailto:Jacob.Hoover at greenheck.com>>>
Betreff: Re: [wix-users] harvesting COM registration data

If it's an EXE you are building, then odds are you have the TLB source, in which case heat can harvest from it, right?


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>] On Behalf Of Christopher Painter via wix-users
Sent: Wednesday, November 28, 2018 1:10 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org><mailto:wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>>
Cc: Christopher Painter <chrpai at iswix.com<mailto:chrpai at iswix.com><mailto:chrpai at iswix.com<mailto:chrpai at iswix.com>>>
Subject: Re: [wix-users] harvesting COM registration data

Really?   For some reason I thought I had used it for this purpose at another company around 8 years ago.


InstallShield can do this.  I  must have created a basic msi project,  added the EXE, built the MSI and then use InstallShield to edit the MSI and export the registry data and from there I probably used heat to harvest the reg file and then massaged it into my project.


InstallShield can be installed as a demo on a VM for what it's worth.



________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org><mailto:wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>>> on behalf of Rob Mensching via wix-users <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org><mailto:wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>>
Sent: Wednesday, November 28, 2018 10:56 AM
To: WiX Toolset Users Mailing List
Cc: Rob Mensching
Subject: Re: [wix-users] harvesting COM registration data

heat.exe does not support extracting COM registration for executables.

There is a commercial solution from FireGiant in the "WiX Expansion Pack" that supports harvesting COM registration from executables (and more): https://www.firegiant.com/products/wix-expansion-pack/#heatwave-harvesting (documentation here: https://www.firegiant.com/wix/wep-documentation/harvesting/)
WiX Expansion Pack from FireGiant<https://www.firegiant.com/products/wix-expansion-pack/#heatwave-harvesting>
www.firegiant.com<http://www.firegiant.com><http://www.firegiant.com>
The WiX Expansion Pack from FireGiant includes functionality to make you more productive that is not available as part of open-source WiX.




_____________________________________________________________
 Short replies here. Complete answers over there: http://www.firegiant.com/


-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org><mailto:wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>>> On Behalf Of Reuss, Matthias via wix-users
Sent: Wednesday, November 28, 2018 8:50 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org><mailto:wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>>
Cc: Reuss, Matthias <matthias.mr.reuss at sivantos.com<mailto:matthias.mr.reuss at sivantos.com><mailto:matthias.mr.reuss at sivantos.com<mailto:matthias.mr.reuss at sivantos.com>>>
Subject: [wix-users] harvesting COM registration data

Hello,

does heat extract COM registration data from "Local Servers" (i.e. .exe COM servers)?

I could successfully retrieve this information from some COM dlls, and also from some COM Interop assemblies, but when harvesting an .exe which is supposed to self-register using the -regserver switch, heat does not output COM registration data.

Am I missing something, or is this a missing feature (I am using wix 3.11.1)?

Is there a recommended workaround?

Best regards

Matthias Reuss

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
NOTE: This email was received from an external source. Please use caution when opening links or attachments in the message.

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-users mailing list