Bug in FeatureRef?

6 Messages Forum Options Options
Embed this topic
Permalink
Brian Gillespie
Bug in FeatureRef?
Reply Threaded MoreMore options
Print post
Permalink
WiX release 3.0.4513.0

When I use a ComponentRef inside a FeatureRef inside a Fragment file,
the File in my single Component doesn't end up in my MSI. However, if I
move the FeatureRef into the main Product file, it works as I expect.

Confused? Me too. Here's a tiny WiX project that gives the warning:
http://download.mcneel.com/individual/c391d788-6d4c-4c77-9162-749cf19289e1/LayoutTest.zip

If I move the FeatureRef block from WixFile1.wxs (the fragment) to
LayoutTest.wxs (the Product) it works as I hoped it would work originally.

Ultimately I hoped to use this type of arrangement to partition an
installer with hundreds of files and scores of features such that all
the XML for each feature is in one fragment.

Thanks for your help,
  - Brian

Brian Gillespie
Rhinoceros Development
Robert McNeel & Associates


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users
Rob Mensching-2
Re: Bug in FeatureRef?
Reply Threaded MoreMore options
Print post
Permalink
References start at the Product and work down.  If a Fragment does not get a reference into it, it will never be included in the build.  Would that explain the behavior you are seeing?

-----Original Message-----
From: Brian Gillespie [mailto:brian@...]
Sent: Tuesday, October 07, 2008 15:13
To: wix-users@...
Subject: [WiX-users] Bug in FeatureRef?

WiX release 3.0.4513.0

When I use a ComponentRef inside a FeatureRef inside a Fragment file,
the File in my single Component doesn't end up in my MSI. However, if I
move the FeatureRef into the main Product file, it works as I expect.

Confused? Me too. Here's a tiny WiX project that gives the warning:
http://download.mcneel.com/individual/c391d788-6d4c-4c77-9162-749cf19289e1/LayoutTest.zip

If I move the FeatureRef block from WixFile1.wxs (the fragment) to
LayoutTest.wxs (the Product) it works as I hoped it would work originally.

Ultimately I hoped to use this type of arrangement to partition an
installer with hundreds of files and scores of features such that all
the XML for each feature is in one fragment.

Thanks for your help,
  - Brian

Brian Gillespie
Rhinoceros Development
Robert McNeel & Associates


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users
Brian Gillespie
Re: Bug in FeatureRef?
Reply Threaded MoreMore options
Print post
Permalink
Hi Rob,

 > References start at the Product and work down.  If a Fragment does
 > not get a reference into it, it will never be included in the build.
 > Would that explain the behavior you are seeing?

Probably. Maybe I'm trying to organize my XML files in a way that WiX
isn't designed to handle.

My hope was to have a top level wxs file to define the skeleton of my
installer: common things including the directory structure and the
feature tree structure, but no components.

Then each feature would be defined in a separate fragment with
corresponding DirectoryRef and FragmentRef references to hook back to
the main wxs file:
  <Fragment>
    <DirectoryRef Id="INSTALLLOCATION">
      <Component Id="C1" Guid="...">
        <File Id="Fi1" Source="files\f1.txt"/>
      </Component>
    </DirectoryRef>

    <FeatureRef Id="F.1">
      <ComponentRef Id="C1"/>
    </FeatureRef>
  </Fragment>

But it appears that doing this orphans the component. Is this by design?

I was trying to avoid having a big pile of Components, ComponentRefs,
ComponentGroups, or ComponentGroupRefs back in the main skeleton wxs
file, thinking (perhaps incorrectly) that it would be easiest to
maintain if everything related to the feature was in one file.
 
  - Brian

Brian Gillespie
Rhinoceros Development
Robert McNeel & Associates

Rob Mensching wrote:

> References start at the Product and work down.  If a Fragment does not get a reference into it, it will never be included in the build.  Would that explain the behavior you are seeing?
>
> -----Original Message-----
> From: Brian Gillespie [mailto:brian@...]
> Sent: Tuesday, October 07, 2008 15:13
> To: wix-users@...
> Subject: [WiX-users] Bug in FeatureRef?
>
> WiX release 3.0.4513.0
>
> When I use a ComponentRef inside a FeatureRef inside a Fragment file,
> the File in my single Component doesn't end up in my MSI. However, if I
> move the FeatureRef into the main Product file, it works as I expect.
>
> Confused? Me too. Here's a tiny WiX project that gives the warning:
> http://download.mcneel.com/individual/c391d788-6d4c-4c77-9162-749cf19289e1/LayoutTest.zip
>
> If I move the FeatureRef block from WixFile1.wxs (the fragment) to
> LayoutTest.wxs (the Product) it works as I hoped it would work originally.
>
> Ultimately I hoped to use this type of arrangement to partition an
> installer with hundreds of files and scores of features such that all
> the XML for each feature is in one fragment.
>
> Thanks for your help,
>   - Brian
>
> Brian Gillespie
> Rhinoceros Development
> Robert McNeel & Associates
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@...
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@...
> https://lists.sourceforge.net/lists/listinfo/wix-users
>  

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users
Francis Kam
Re: Bug in FeatureRef?
Reply Threaded MoreMore options
Print post
Permalink
Sounds about right. I've been down this road too. You don't need to end up
with any Component* elements in your main feature tree. What I ended up
doing was something more like this in your main:

<Feature ... >
  <FeatureRef ... />
  <FeatureRef ... />
</Feature>

And then in your fragments have something like:

<Feature ...>
  <Component* />
</Feature>

-Francis


On Tue, Oct 7, 2008 at 4:52 PM, Brian Gillespie <brian@...> wrote:

> Hi Rob,
>
>  > References start at the Product and work down.  If a Fragment does
>  > not get a reference into it, it will never be included in the build.
>  > Would that explain the behavior you are seeing?
>
> Probably. Maybe I'm trying to organize my XML files in a way that WiX
> isn't designed to handle.
>
> My hope was to have a top level wxs file to define the skeleton of my
> installer: common things including the directory structure and the
> feature tree structure, but no components.
>
> Then each feature would be defined in a separate fragment with
> corresponding DirectoryRef and FragmentRef references to hook back to
> the main wxs file:
>  <Fragment>
>    <DirectoryRef Id="INSTALLLOCATION">
>      <Component Id="C1" Guid="...">
>        <File Id="Fi1" Source="files\f1.txt"/>
>      </Component>
>    </DirectoryRef>
>
>    <FeatureRef Id="F.1">
>      <ComponentRef Id="C1"/>
>    </FeatureRef>
>  </Fragment>
>
> But it appears that doing this orphans the component. Is this by design?
>
> I was trying to avoid having a big pile of Components, ComponentRefs,
> ComponentGroups, or ComponentGroupRefs back in the main skeleton wxs
> file, thinking (perhaps incorrectly) that it would be easiest to
> maintain if everything related to the feature was in one file.
>
>  - Brian
>
> Brian Gillespie
> Rhinoceros Development
> Robert McNeel & Associates
>
> Rob Mensching wrote:
> > References start at the Product and work down.  If a Fragment does not
> get a reference into it, it will never be included in the build.  Would that
> explain the behavior you are seeing?
> >
> > -----Original Message-----
> > From: Brian Gillespie [mailto:brian@...]
> > Sent: Tuesday, October 07, 2008 15:13
> > To: wix-users@...
> > Subject: [WiX-users] Bug in FeatureRef?
> >
> > WiX release 3.0.4513.0
> >
> > When I use a ComponentRef inside a FeatureRef inside a Fragment file,
> > the File in my single Component doesn't end up in my MSI. However, if I
> > move the FeatureRef into the main Product file, it works as I expect.
> >
> > Confused? Me too. Here's a tiny WiX project that gives the warning:
> >
> http://download.mcneel.com/individual/c391d788-6d4c-4c77-9162-749cf19289e1/LayoutTest.zip
> >
> > If I move the FeatureRef block from WixFile1.wxs (the fragment) to
> > LayoutTest.wxs (the Product) it works as I hoped it would work
> originally.
> >
> > Ultimately I hoped to use this type of arrangement to partition an
> > installer with hundreds of files and scores of features such that all
> > the XML for each feature is in one fragment.
> >
> > Thanks for your help,
> >   - Brian
> >
> > Brian Gillespie
> > Rhinoceros Development
> > Robert McNeel & Associates
> >
> >
> > -------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> > Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> > Grand prize is a trip for two to an Open Source event anywhere in the
> world
> > http://moblin-contest.org/redirect.php?banner_id=100&url=/
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@...
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> > -------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> > Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> > Grand prize is a trip for two to an Open Source event anywhere in the
> world
> > http://moblin-contest.org/redirect.php?banner_id=100&url=/
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@...
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@...
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users
Rob Mensching-2
Re: Bug in FeatureRef?
Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Brian Gillespie
Well, you can break your Features out into separate Fragments and have those Features contain the ComponentRefs.  Then you just need FeatureRefs in the Product.  There are lots of permutations but they start at the "entry section" (Product / Module / Patch) and work down as deep as necessary.



-----Original Message-----
From: Brian Gillespie [mailto:brian@...]
Sent: Tuesday, October 07, 2008 16:53
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Bug in FeatureRef?

Hi Rob,

 > References start at the Product and work down.  If a Fragment does
 > not get a reference into it, it will never be included in the build.
 > Would that explain the behavior you are seeing?

Probably. Maybe I'm trying to organize my XML files in a way that WiX
isn't designed to handle.

My hope was to have a top level wxs file to define the skeleton of my
installer: common things including the directory structure and the
feature tree structure, but no components.

Then each feature would be defined in a separate fragment with
corresponding DirectoryRef and FragmentRef references to hook back to
the main wxs file:
  <Fragment>
    <DirectoryRef Id="INSTALLLOCATION">
      <Component Id="C1" Guid="...">
        <File Id="Fi1" Source="files\f1.txt"/>
      </Component>
    </DirectoryRef>

    <FeatureRef Id="F.1">
      <ComponentRef Id="C1"/>
    </FeatureRef>
  </Fragment>

But it appears that doing this orphans the component. Is this by design?

I was trying to avoid having a big pile of Components, ComponentRefs,
ComponentGroups, or ComponentGroupRefs back in the main skeleton wxs
file, thinking (perhaps incorrectly) that it would be easiest to
maintain if everything related to the feature was in one file.

  - Brian

Brian Gillespie
Rhinoceros Development
Robert McNeel & Associates

Rob Mensching wrote:

> References start at the Product and work down.  If a Fragment does not get a reference into it, it will never be included in the build.  Would that explain the behavior you are seeing?
>
> -----Original Message-----
> From: Brian Gillespie [mailto:brian@...]
> Sent: Tuesday, October 07, 2008 15:13
> To: wix-users@...
> Subject: [WiX-users] Bug in FeatureRef?
>
> WiX release 3.0.4513.0
>
> When I use a ComponentRef inside a FeatureRef inside a Fragment file,
> the File in my single Component doesn't end up in my MSI. However, if I
> move the FeatureRef into the main Product file, it works as I expect.
>
> Confused? Me too. Here's a tiny WiX project that gives the warning:
> http://download.mcneel.com/individual/c391d788-6d4c-4c77-9162-749cf19289e1/LayoutTest.zip
>
> If I move the FeatureRef block from WixFile1.wxs (the fragment) to
> LayoutTest.wxs (the Product) it works as I hoped it would work originally.
>
> Ultimately I hoped to use this type of arrangement to partition an
> installer with hundreds of files and scores of features such that all
> the XML for each feature is in one fragment.
>
> Thanks for your help,
>   - Brian
>
> Brian Gillespie
> Rhinoceros Development
> Robert McNeel & Associates
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@...
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@...
> https://lists.sourceforge.net/lists/listinfo/wix-users
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users
Brian Gillespie
Re: Bug in FeatureRef?
Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Francis Kam
Hi Francis,

Ah, yes - of course. That makes perfect sense. Putting the FeatureRefs
in the main tree does exactly what I want it to do.

Thanks for your help./
 
  - Brian

Brian Gillespie
Rhinoceros Development
Robert McNeel & Associates///

Francis Kam wrote:

> Sounds about right. I've been down this road too. You don't need to end up
> with any Component* elements in your main feature tree. What I ended up
> doing was something more like this in your main:
>
> <Feature ... >
>   <FeatureRef ... />
>   <FeatureRef ... />
> </Feature>
>
> And then in your fragments have something like:
>
> <Feature ...>
>   <Component* />
> </Feature>
>
> -Francis
>
>
> On Tue, Oct 7, 2008 at 4:52 PM, Brian Gillespie <brian@...> wrote:
>
>  
>> Hi Rob,
>>
>>  > References start at the Product and work down.  If a Fragment does
>>  > not get a reference into it, it will never be included in the build.
>>  > Would that explain the behavior you are seeing?
>>
>> Probably. Maybe I'm trying to organize my XML files in a way that WiX
>> isn't designed to handle.
>>
>> My hope was to have a top level wxs file to define the skeleton of my
>> installer: common things including the directory structure and the
>> feature tree structure, but no components.
>>
>> Then each feature would be defined in a separate fragment with
>> corresponding DirectoryRef and FragmentRef references to hook back to
>> the main wxs file:
>>  <Fragment>
>>    <DirectoryRef Id="INSTALLLOCATION">
>>      <Component Id="C1" Guid="...">
>>        <File Id="Fi1" Source="files\f1.txt"/>
>>      </Component>
>>    </DirectoryRef>
>>
>>    <FeatureRef Id="F.1">
>>      <ComponentRef Id="C1"/>
>>    </FeatureRef>
>>  </Fragment>
>>
>> But it appears that doing this orphans the component. Is this by design?
>>
>> I was trying to avoid having a big pile of Components, ComponentRefs,
>> ComponentGroups, or ComponentGroupRefs back in the main skeleton wxs
>> file, thinking (perhaps incorrectly) that it would be easiest to
>> maintain if everything related to the feature was in one file.
>>
>>  - Brian
>>
>> Brian Gillespie
>> Rhinoceros Development
>> Robert McNeel & Associates
>>
>> Rob Mensching wrote:
>>    
>>> References start at the Product and work down.  If a Fragment does not
>>>      
>> get a reference into it, it will never be included in the build.  Would that
>> explain the behavior you are seeing?
>>    
>>> -----Original Message-----
>>> From: Brian Gillespie [mailto:brian@...]
>>> Sent: Tuesday, October 07, 2008 15:13
>>> To: wix-users@...
>>> Subject: [WiX-users] Bug in FeatureRef?
>>>
>>> WiX release 3.0.4513.0
>>>
>>> When I use a ComponentRef inside a FeatureRef inside a Fragment file,
>>> the File in my single Component doesn't end up in my MSI. However, if I
>>> move the FeatureRef into the main Product file, it works as I expect.
>>>
>>> Confused? Me too. Here's a tiny WiX project that gives the warning:
>>>
>>>      
>> http://download.mcneel.com/individual/c391d788-6d4c-4c77-9162-749cf19289e1/LayoutTest.zip
>>    
>>> If I move the FeatureRef block from WixFile1.wxs (the fragment) to
>>> LayoutTest.wxs (the Product) it works as I hoped it would work
>>>      
>> originally.
>>    
>>> Ultimately I hoped to use this type of arrangement to partition an
>>> installer with hundreds of files and scores of features such that all
>>> the XML for each feature is in one fragment.
>>>
>>> Thanks for your help,
>>>   - Brian
>>>
>>> Brian Gillespie
>>> Rhinoceros Development
>>> Robert McNeel & Associates
>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>      
>> challenge
>>    
>>> Build the coolest Linux based applications with Moblin SDK & win great
>>>      
>> prizes
>>    
>>> Grand prize is a trip for two to an Open Source event anywhere in the
>>>      
>> world
>>    
>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>> _______________________________________________
>>> WiX-users mailing list
>>> WiX-users@...
>>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>      
>> challenge
>>    
>>> Build the coolest Linux based applications with Moblin SDK & win great
>>>      
>> prizes
>>    
>>> Grand prize is a trip for two to an Open Source event anywhere in the
>>>      
>> world
>>    
>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>> _______________________________________________
>>> WiX-users mailing list
>>> WiX-users@...
>>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>>
>>>      
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> WiX-users mailing list
>> WiX-users@...
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>>    
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@...
> https://lists.sourceforge.net/lists/listinfo/wix-users
>  

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@...
https://lists.sourceforge.net/lists/listinfo/wix-users