Hey Everyone, Why can't you heat the sub directories "greeneggs" and "ham" directly and use the -srd and -dr FOO switches? I do understand if there are additional sub directories this might be a bit more difficult. However, you could re-arrange your source directories to handle these issues if necessary, no?
Thanks, Brian Rogers "Intelligence removes complexity." - Me http://blogs.msdn.com/icumove <-- NEW On Fri, Jan 8, 2010 at 7:52 PM, Blair <os...@live.com> wrote: > Looking at your situation, this is what looks to me to be your solution: > > 1- I'm assuming that your transformed heat outputs don't have any Directory > elements with an Id of either localized or neutral. Remove them if they > exist in your transform. > 2- Under your Product element (or some other manually authored location > that > is linked into your final MSI): > <Directory Id='INSTALLDIR' ...><!--INSTALLDIR will likely live under > other Directory element(s) as needed to create a correct directory tree--> > <Directory Id='foo' .../> > <Directory Id='bar' .../> > </Directory> > 3- In your transformed localized sources from heat: > <DirectoryRef Id='foo'> > ... > <Directory Id='greeneggs'> > ... > </Directory> > ... > </Directory> > <DirectoryRef Id='bar'> > ... > </Directory> > > 4- In your transformed neutral sources from heat: > <DirectoryRef Id='foo'> > ... > <Directory Id='ham'> > ... > </Directory> > ... > </Directory> > > So your transform will need to look at the directory tree that heat > produces > and transform that to get the above results (by altering at and above the > level of the children of installdir and leaving the others unless you start > creating some of them as well). > > If you have files in installdir as well as the above subdirs you will need > to also declare a DirectoryRef for that directory so that the fragment(s) > from heat can be linked into your wixlibs. The only directories you have to > transform/manually deal with are those that are in common. The above lets > you simply harvest the unique directories as they are laid out without > having to manually deal with them. > > -----Original Message----- > From: Kyle Huey [mailto:ksh...@ufl.edu] > Sent: Friday, January 08, 2010 5:48 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Using Heat multiple times => Duplicate symbols > > Yeah, this is more or less what I'm doing. The issue is that I still need > to define the directory structure somewhere. Zach suggests defining it > manually which is probably the best solution but unfortunately isn't really > an option for what I'm doing. What would be ideal is if light would handle > a duplicate symbol definition if the symbols are identical (same ID and > attributes, etc.) by outputting the symbol once instead of choking. Of > course, there may be good reasons I haven't thought of not to do that - I'm > not sure. I'm hoping that someone has solved the same problem in a manner > that avoids this problem. > > - Kyle > > On Fri, Jan 8, 2010 at 6:47 PM, Blair <os...@live.com> wrote: > > > How about using XSLT to change the <Directory Id="foo" ...> into > > <DirectoryRef Id="foo"> in the localized wixlib's wxs file from heat? > > > > -----Original Message----- > > From: Kyle Huey [mailto:ksh...@ufl.edu] > > Sent: Friday, January 08, 2010 7:09 AM > > To: wix-users@lists.sourceforge.net > > Subject: [WiX-users] Using Heat multiple times => Duplicate symbols > > > > Hello all, > > > > I am using heat to generate the source for two .wixlibs which are lighted > > together with some other pieces to form my final MSI. Heat is used on > two > > different directories at build time. One of these directories holds all > of > > my language specific files "/localized/" and the other holds all of my > > language neutral files "/neutral/". Creating a setup this way allows me > to > > generate the language neutral .wixlib just once for every locale I > support. > > The problem is that the directory structure within those directories has > > some (but not complete) overlap. e.g. > > > > localized > > foo > > greeneggs > > bar > > > > neutral > > foo > > ham > > > > becomes on the user's computer > > installdir > > foo > > greeneggs > > ham > > bar > > > > This gives me a duplicate symbol error at foo when I try to link the two > > wixlibs together. I can't just throw away the directory fragments from > one > > heat run because neither structure is a subset of the other. I also > don't > > want to tell light to suppress the duplicate symbols error (and I don't > > know > > that that will produce a working MSI). Really the only solution I've > come > > up with is to use XSLT to eliminate all of the directory elements from > the > > first two runs and then run heat again against the combined result and > use > > XSLT on that third run to eliminate all of the non-directory elements. > > > > That seems suboptimal at best. Anyone have any better ideas? > > > > Thanks, > > > > - Kyle > > > > > > ---------------------------------------------------------------------------- > > -- > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > ---------------------------------------------------------------------------- > -- > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ---------------------------------------------------------------------------- > -- > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users