Why not "remember" when an Id has be explicitly stated for a row and throw
errors in that situation. Anonymous Id rows would merge and explicit Id
rows would throw (like today). That seems much more direct than using the
differ. Am I missing something?
On Wed, Jan 16, 2013 at 10:56 PM, Heath Stewart <hea...@outlook.com> wrote:
> Add distinct components under the folders below, then reference both
> components in a feature. On that case you have to link in a.wixlib and
> b.wixlib which links in both fragments and you do have a dup symbol ref.
> Your last statement is correct since you can’t (easily) link to both
> directories directly, but to components as children you can. This isn’t a
> problem in swix only because directories are fragmented automatically by
> themselves.
>
> So I think allow sections to be merged and throw any dup symbol errors as
> needed (like if the same property was defined) but otherwise merge. It’s
> not a breaking change, though I agree it’s different. But there is
> precedent in other toolsets. Another option is to run the differ on the
> section only when there’s a dup directory symbol. For large products it
> will have an impact to build time, though.
>
> - Heath from Windows Surface RT
>
> *From:* Rob Mensching
> *Sent:* January 16, 2013 7:31 PM
> *To:* Heath Stewart
> *CC:* Windows Installer XML toolset developer mailing list
>
> *Subject:* Re: [WiX-devs] Merging directories at link time
>
> Inline.
>
>
> On Wed, Jan 16, 2013 at 3:59 PM, Heath Stewart <hea...@outlook.com> wrote:
>
>> Re: If I read your last sentence correctly, I'm actually suggesting the
>> exact opposite. I'm suggesting that these not create problems because no
>> folders here have been defined with an explicit id. ****
>>
>> ** **
>>
>> But the ID generation is durable, such that “Foo” in both cases is
>> something like Foo_InstallFolder_hash, so when you link a.wixlib and
>> b.wixlib together you get a duplicate symbol error. That’s why I’m
>> recommending the merge strategy that is akin to C# partial classes.
>>
>> But it seems from your last inline statement you’re in agreement,
>> correct?
>>
>
> For anonymous id's, I agree.
>
>
>
>> So the only open issue I see is what you brought up before, that if in
>> twix two fragments that define the same directory but have different other
>> content (like below), we should, what, fail or take them? I’m recommending
>> linking them in. The C/C++ linker does this though it’s not touted as a
>> feature.****
>>
>> ** **
>>
>> <Fragment>****
>>
>> <Property Id=”A” …/>****
>>
>> <Directory Name=”Foo” …/>****
>>
>> ** **
>>
>> <Fragment>****
>>
>> <Property Id=”B” …/>****
>>
>> <Directory Name=”Foo” …/>****
>>
>> ** **
>>
>> As it stands today, linking those would throw the duplicate symbol error.
>> So no one could be accidentally doing that today. With the change I’m
>> recommending, new authoring would make it possible but 1) this isn’t
>> possible in swix, and 2) it’s doubtful anyone would do this in twix and, if
>> merging directories is documented (as I plan), then they got what they
>> asked for.****
>>
>> **
>>
> In that case, you can't get into the problem I am concerned about. You
> can't create a DirectoryRef to the Directories (because they are anonymous)
> so the only way to get both Fragments is to have two PropertyRef elements
> (one for "A" and one for "B").
>
> These scenarios are all good and do not touch on what I believe should be
> error cases.
>
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs