Hey Brian, This sounds like a great idea. I think combined with something like dir /ad /s to iterate over the directories it can do what I want. Thanks!
- Kyle On Sat, Jan 9, 2010 at 7:10 PM, Brian Rogers <rogers.br...@gmail.com> wrote: > 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 > ------------------------------------------------------------------------------ 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