[wix-users] 64 bits Dll registering

Rob Mensching rob at firegiant.com
Wed Sep 16 09:10:32 PDT 2020


Harvesting self reg is very challenging. For example, our most recent challenge was doing special case handling to support DLLS that link with Qt.

The amount of effort required to support the complexity of self reg was a key reason the advanced harvesting feature from FireGiant wasn't donated to open source.

---
Short replies here. Complete answers here: https://www.firegiant.com/services/

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Edwin Castro via wix-users
Sent: Wednesday, September 16, 2020 8:56 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Edwin Castro <egcastr at gmail.com>
Subject: Re: [wix-users] 64 bits Dll registering

I think this is the perfect example of why SelfReg is an anti-pattern.
SelfReg can do anything!

That RegistryValue does not look like the type of changes I might expect in typical SelfReg situations. It might be worth circling back with the component developer to better understand this particular RegistryValue to ensure it really is intended. I wouldn't be surprised if the component is currently using some framework that writes that RegistryValue during SelfReg and the component developer is not even aware of this.

In fact, that is very good advice in general. When you automatically harvest anything, you should always review what was harvested to ensure everything harvested is really intended.

--
Edwin G. Castro


On Wed, Sep 16, 2020 at 3:29 AM Pascal Cloup via wix-users < wix-users at lists.wixtoolset.org> wrote:

> Hello,
>
> thank for your reply, Nir Bar, and for your link and your nice job.
> So i downloaded your WixHeatATLHarvesterExtension-master project, and 
> i build ATLHarvester extension for heat using vs2019ce; just few 
> warnings but apparently nothing important (?).
> After installing the ATLHarvester extension, i used heat with command 
> lines
> like:
>
> heat.exe atlcom mycomponent.dll -o mycomponent.wxs
>
> then i used the component element in the generated wxs files in my wxs 
> files. Apparently this works fine and my app find all the components.☺
>
> Just a remark concerning the ways to register dlls. With the 
> self-regsiter method (the one not recommended from Microsoft) that's 
> easy. But for the recommended method, i don't see how i could have 
> found what is needed to add in the wxs files. To illustrate this, see 
> the following line extracted from a wxs file:
> <RegistryValue Root="HKCR"
> Key="DirectShow\MediaObjects\19ac76c9-d5b5-468a-9071-b2f3c2c3a740"
> Name="InputTypes"
>
> Value="7669647300001000800000AA00389B714D4F4E4F00001000800000AA00389B717669647300001000800000AA00389B714241593000001000800000AA00389B717669647300001000800000AA00389B714241593100001000800000AA00389B717669647300001000800000AA00389B714241593200001000800000AA00389B717669647300001000800000AA00389B714241593300001000800000AA00389B71"
> Type="binary" Action="write" />😀 Even if i understand what this do, 
> it's difficult for me to imagine the 'Value' for instance...
> Fortunately, there are people like you to help.
>
> thanks to all
> best regards, Pascal
>
>
> Le mer. 16 sept. 2020 à 07:28, Nir Bar via wix-users < 
> wix-users at lists.wixtoolset.org> a écrit :
>
> > Try https://github.com/nirbar/WixHeatATLHarvesterExtension
> >
> > You'll have to build it from source, then add the extension to heat 
> > command line
> >
> >
> >
> >
> > --
> >
> > Nir Bar
> >
> > WiX Expert
> >
> >
> >
> >
> > ---- On Tue, 15 Sep 2020 21:22:22 +0300 Pascal Cloup via wix-users < 
> > wix-users at lists.wixtoolset.org> wrote ----
> >
> >
> > Hi,
> > the FireGiant tools are certaintly good tools, but as i don't plan 
> > to buy it, trying this solution does not seem to me a good option.
> >
> > regards
> >
> >
> > Le mar. 15 sept. 2020 à 19:29, Rob Mensching via wix-users < 
> > mailto:wix-users at lists.wixtoolset.org> a écrit :
> >
> > > The FireGiant advanced harvesting is documented here:
> > > https://www.firegiant.com/wix/wep-documentation/harvesting/
> > >
> > > There is a trial available via links here:
> > > https://www.firegiant.com/products/wix-expansion-pack/
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: wix-users <mailto:wix-users-bounces at lists.wixtoolset.org> On
> > Behalf Of
> > > Hoover, Jacob via wix-users
> > > Sent: Tuesday, September 15, 2020 9:44 AM
> > > To: WiX Toolset Users Mailing List <mailto:
> > wix-users at lists.wixtoolset.org>
> > > Cc: Hoover, Jacob <mailto:Jacob.Hoover at greenheck.com>
> > > Subject: Re: [wix-users] 64 bits Dll registering
> > >
> > > Currently heat doesn't support harvesting 64 bit registration.
> Firegiant
> > > has a component that can do it (commercial), as well I think Chris 
> > > has
> > one
> > > (IsWix, open source?).
> > >
> > > From: wix-users <mailto:wix-users-bounces at lists.wixtoolset.org> On
> > Behalf Of
> > > Pascal Cloup via wix-users
> > > Sent: Tuesday, September 15, 2020 11:34 AM
> > > To: WiX Toolset Users Mailing List <mailto:
> > wix-users at lists.wixtoolset.org>
> > > Cc: Pascal Cloup <mailto:ptpas059 at gmail.com>
> > > Subject: [wix-users] 64 bits Dll registering
> > >
> > > Hello,
> > >
> > > I am progressing well on the development of my installer. This
> installer
> > > has to install and register some 64 bits Dlls. Currently, i just 
> > > added
> > the
> > > attribute "SelfRegCost='1'" (telling the component to 
> > > self-register) in
> > the
> > > File element of these components, and without surprise this seems 
> > > to
> work
> > > as i do like this from many years(using self register). 
> > > Nevertheless, i read in various places, that this is not a 
> > > recommended way even if for
> me
> > > the evoqued reasons don't concern (totally) my components. After 
> > > some readings, i tried another method using "heat.exe", but 
> > > unfortunately
> heat
> > > gives me a warning "HEAT5150: Could not harvest data from a file 
> > > that
> was
> > > expected to be a SelfReg DLL", and of course using the option 
> > > -sreg is
> > not
> > > a solution.
> > >
> > > Someone can share opinion or give advices on this topic?
> > >
> > > thanks in advance
> > > Regards, Pascal
> > >
> > > __________________________________________________________________
> > > __ WiX Toolset Users Mailing List provided by FireGiant 
> > > http://www.firegiant.com/<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/

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


More information about the wix-users mailing list