Hmm, things are a too little vague to provide exact suggestions. "Chains of .wixlibs" (where one .wixlib needs another one and so on) are a weakness even in the C/C++ world. Documentation is what helps there.
Are you using ComponentGroups/ComponentGroupRefs? You can also nest ComponentGroups if that helps. I think I'd need a little more detail to provide any real suggestions. Stryder Crown wrote: > I'm using Visual Studio for these, which has proven to be a big help for > organizing everything. And I guess that's kinda the mentality I'm coming at > this with. Create a project for a major component, and then include > references to everything that is needed to run that. I sepecifically > _don't_ want to duplicate code. In the original example, those Components > are actually references, I guess I should've made that clearer. Sorry. > > I could try the -ai, but you're right, that does sound like a bigger hammer > than what I really want. For now, I'm keeping track manually and commenting > out component refs when I see them in more than one place. I just want the > guy behind me to understand what's going on if I'm gone. Rather than build > some MSI package only to find that it's actually missing half the refs... > > On Tue, May 5, 2009 at 1:20 PM, Rob Mensching <r...@wixtoolset.org> wrote: > > >> 1. I personally haven't sat down and thought about all of them. >> Honestly, the strategies I use come from my days of working in C/C++. >> WiX works very similarly. If you organize your code well in C/C++ and >> follow similar organization efforts in WiX, it all works out. >> Duplicating code across .lib files in C/C++ is a path well known to lead >> to madness. <smile/> >> >> 2. There is a deprecated command-line switch to light called "-ai" which >> means "allow identical rows". I was told this was a bad idea by the >> people that actually asked for the feature and that is why it was >> deprecated. Allow identical rows is a big hammer. It will allow any >> duplicate rows which may allow duplicate data that you would otherwise >> want to filter out. >> >> Note that when duplicates are being found they don't necessarily map >> back to a particular Component File or Directory Component or Feature >> Component structure or anything like that. All that .wxs stuff is >> shredded into bits and pieces necessary for the linking and binding >> process. >> >> Another option is to make smaller .wixlibs. Admittedly the command-lines >> start getting longer and you can get "chains of .wixlibs" needing to be >> passed on the command-line but it does give you a lot of control. It is >> a little bit of a balancing act to get the right granularity. >> >> >> Stryder Crown wrote: >> >>> Do you have any links or places that I could go to read on these >>> >> strategies? >> >>> I'm reluctant to put everything in one (or two) wixlib's since these are >>> dll's and exe's that contribute to the overall functionality of several >>> programs. Can't wix just 'ignore' when a wixlib has a reference to a >>> >> file >> >>> that's already been included? you know? "Hey, I know you, I'd recognize >>> that guid anywhere..." >>> >>> On Tue, May 5, 2009 at 11:50 AM, Rob Mensching <r...@wixtoolset.org> >>> >> wrote: >> >>> >>>> Putting the same content in different .wixlibs is going to lead to no >>>> end of troubles. I don't know the specifics but there are several ways >>>> to restructure the example below to end up with content only in one >>>> .wixlib. I highly recommend picking one of those strategies (for >>>> example, you could put all of the below in one .wixlib that is highly >>>> Fragmented). >>>> >>>> Stryder Crown wrote: >>>> >>>> >>>>> Ok, I'm sure this has been asked here before, but I wasn't able to find >>>>> >>>>> >>>> the >>>> >>>> >>>>> thread or a resolution... >>>>> >>>>> How does anybody else deal with this situation: >>>>> >>>>> I have several WiX projects that share common dependencies that I'm >>>>> compiling into wixlibs for larger projects. I want to ensure that a >>>>> compiled wixlib (with the object inside) contains all of it's required >>>>> dependencies. I would like to be able to build my wixlibs in just one >>>>> >>>>> >>>> place >>>> >>>> >>>>> and then include them in other projects (MSI installers) as needed. >>>>> >> This >> >>>>> way, when my team updates some dll or exe, I only need to update/change >>>>> >>>>> >>>> the >>>> >>>> >>>>> related wixlib, and not 3 (or 30) other files. Things start to break >>>>> >>>>> >>>> down >>>> >>>> >>>>> when I have relative directories (coming out of svn) and WiX sees a >>>>> >> file >> >>>>> more than once in the final output. Specifically, WiX won't overlook >>>>> >> the >> >>>>> fact that the same file (and guid) has been added more than once. Even >>>>> through the directory structure is exactly the same. Is this a bug? >>>>> >> or >> >>>> is >>>> >>>> >>>>> there something else I should be doing? >>>>> >>>>> Here's an example of the structure I currently have: >>>>> >>>>> Project 1 >>>>> - wixlib A >>>>> Object 1 needs: >>>>> -Component X >>>>> -Component Y >>>>> Object 2 needs: >>>>> -Component Z >>>>> >>>>> Project 2 >>>>> - wixlib B >>>>> Object 3 needs: >>>>> -Component X >>>>> -Component Z >>>>> >>>>> Project 3 >>>>> Requires Object 1 and Object 3. >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------------ >> >>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! >>>>> >> Your >> >>>>> production scanning environment may not be a perfect world - but thanks >>>>> >>>>> >>>> to >>>> >>>> >>>>> Kodak, there's a perfect scanner to get the job done! With the NEW >>>>> >> KODAK >> >>>> i700 >>>> >>>> >>>>> Series Scanner you'll get full speed at 300 dpi even with all image >>>>> processing features enabled. http://p.sf.net/sfu/kodak-com >>>>> _______________________________________________ >>>>> WiX-users mailing list >>>>> WiX-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------------ >> >>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >>>> production scanning environment may not be a perfect world - but thanks >>>> >> to >> >>>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >>>> i700 >>>> Series Scanner you'll get full speed at 300 dpi even with all image >>>> processing features enabled. http://p.sf.net/sfu/kodak-com >>>> _______________________________________________ >>>> WiX-users mailing list >>>> WiX-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>> >>>> >>>> >> ------------------------------------------------------------------------------ >> >>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >>> production scanning environment may not be a perfect world - but thanks >>> >> to >> >>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >>> >> i700 >> >>> Series Scanner you'll get full speed at 300 dpi even with all image >>> processing features enabled. http://p.sf.net/sfu/kodak-com >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >> ------------------------------------------------------------------------------ >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but thanks to >> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >> i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > Received: from BAY0-XMR-011.phx.gbl (65.54.241.163) by > BL2PRD0102HT003.prod.exchangelabs.com (10.6.5.58) with Microsoft SMTP Server > id 14.0.482.22; Tue, 5 May 2009 21:09:03 +0000 > Received: from mail pickup service by BAY0-XMR-011.phx.gbl with Microsoft > SMTPSVC; Tue, 5 May 2009 14:09:02 -0700 > X-Routing-Domain: pod51000.labs.exchange.phx.gbl > X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0xO0Q9MTtTQ0w9MA== > X-Message-Status: n:0 > X-SID-PRA: Stryder Crown <stryde...@gmail.com> > X-SID-Result: Neutral > X-Message-Info: > JGTYoYF78jHzN0ggHigGvCDroLZzwBAF365lf6XoQ6Euhy1Ty6pmdKrUxjQ+QDmOyAzPAzICNKXLudAZXa2b6yPg11YDjHHN > Received: from lists.sourceforge.net ([216.34.181.88]) by > bay0-pamc1-f5.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); > Tue, 5 > May 2009 14:09:01 -0700 > Received: from localhost ([127.0.0.1] helo=sfs-ml-2.v29.ch3.sourceforge.com) > by 3yr0jf1.ch3.sourceforge.com with esmtp (Exim 4.69) (envelope-from > <wix-users-boun...@lists.sourceforge.net>) id 1M1RsC-0000De-GC; Tue, 05 May > 2009 21:08:20 +0000 > Received: from sfi-mx-2.v28.ch3.sourceforge.com ([172.29.28.122] > helo=mx.sourceforge.net) by 3yr0jf1.ch3.sourceforge.com with > esmtp (Exim > 4.69) (envelope-from <stryde...@gmail.com>) id 1M1RsA-0000DL-UB > for > wix-users@lists.sourceforge.net; Tue, 05 May 2009 21:08:18 +0000 > Received-SPF: pass (72vjzd1.ch3.sourceforge.com: domain of gmail.com > designates 74.125.92.145 as permitted sender) > client-ip=74.125.92.145; envelope-from=stryde...@gmail.com; > helo=qw-out-1920.google.com; > Received: from qw-out-1920.google.com ([74.125.92.145]) by > 72vjzd1.ch3.sourceforge.com with esmtp (Exim 4.69) id 1M1Rs9-0001pu-Rg > for > wix-users@lists.sourceforge.net; Tue, 05 May 2009 21:08:18 +0000 > Received: by qw-out-1920.google.com with SMTP id 4so3225612qwk.4 for > <wix-users@lists.sourceforge.net>; Tue, 05 May 2009 14:08:14 -0700 (PDT) > Received: by 10.151.143.3 with SMTP id v3mr979624ybn.6.1241557694107; Tue, 05 > May 2009 14:08:14 -0700 (PDT) > In-Reply-To: <4a009f89.5030...@wixtoolset.org> > References: <1b5d92cf0905051136n7c714d0ar4084bbca7d57b...@mail.gmail.com> > <4a008a6f.6090...@wixtoolset.org> > <1b5d92cf0905051304m722ff340r9fc7cf962cc16...@mail.gmail.com> > <4a009f89.5030...@wixtoolset.org> > Date: Tue, 5 May 2009 14:08:14 -0700 > Message-ID: <1b5d92cf0905051408q5e0a9a4xe711f55625d16...@mail.gmail.com> > From: Stryder Crown <stryde...@gmail.com> > To: General discussion for Windows Installer XML toolset. > <wix-users@lists.sourceforge.net> > X-Spam-Score: -1.5 (-) > X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. > See http://spamassassin.org/tag/ for more details. > -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for > sender-domain > -0.0 SPF_PASS SPF: sender matches SPF record > -0.0 DKIM_VERIFIED Domain Keys Identified Mail: signature passes > verification > 0.0 DKIM_SIGNED Domain Keys Identified Mail: message has a signature > 0.0 HTML_MESSAGE BODY: HTML included in message > X-Headers-End: 1M1Rs9-0001pu-Rg > X-Content-Filtered-By: Mailman/MimeDel 2.1.9 > Subject: Re: [WiX-users] Dependencies and conflicts > X-BeenThere: wix-users@lists.sourceforge.net > X-Mailman-Version: 2.1.9 > Precedence: list > Reply-To: General discussion for Windows Installer XML toolset. > <wix-users@lists.sourceforge.net> > List-Id: "General discussion for Windows Installer XML toolset." > <wix-users.lists.sourceforge.net> > List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/wix-users>, > <mailto:wix-users-requ...@lists.sourceforge.net?subject=unsubscribe> > List-Archive: > <http://sourceforge.net/mailarchive/forum.php?forum_name=wix-users> > List-Post: <mailto:wix-users@lists.sourceforge.net> > List-Help: <mailto:wix-users-requ...@lists.sourceforge.net?subject=help> > List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/wix-users>, > <mailto:wix-users-requ...@lists.sourceforge.net?subject=subscribe> > Content-Type: text/plain; charset="us-ascii" > Content-Transfer-Encoding: 7bit > Errors-To: wix-users-boun...@lists.sourceforge.net > Return-Path: wix-users-boun...@lists.sourceforge.net > X-OriginalArrivalTime: 05 May 2009 21:09:01.0707 (UTC) > FILETIME=[B6DEB5B0:01C9CDC5] > X-MS-Exchange-Organization-OriginalArrivalTime: 05 May 2009 21:09:01.0000 > (UTC) > X-MS-Exchange-Organization-AuthSource: BL2PRD0102HT003.prod.exchangelabs.com > X-MS-Exchange-Organization-AuthAs: Anonymous > X-MS-Exchange-Organization-MessageLatency: SRV=BAY0-XMR-011.phx.gbl:TOTAL=1 > X-MS-Exchange-Organization-MessageLatency: > SRV=bay0-pamc1-f5.bay0.hotmail.com:TOTAL=1 > X-MS-Exchange-Organization-OriginalClientIPAddress: 216.34.181.88 > X-MS-Exchange-Organization-MessageDirectionality: Incoming > X-MS-Exchange-Organization-SCL: 1 > X-MS-Exchange-Organization-OriginalSize: 12300 > X-MS-Exchange-Forest-MessageScope: 18f8f54f-111e-4609-818d-7e53ebe01da7 > X-MS-Exchange-Organization-MessageScope: 18f8f54f-111e-4609-818d-7e53ebe01da7 > X-MS-Exchange-Organization-HygienePolicy: Standard > X-MS-Exchange-Organization-AVStamp-Mailbox: MSFTFF;1;0;0 0 0 > X-MS-Exchange-Organization-Recipient-Limit-Verified: True > X-MS-Exchange-Organization-Processed-By-Journaling: Journal Agent > MIME-Version: 1.0 > > I'm using Visual Studio for these, which has proven to be a big help for > organizing everything. And I guess that's kinda the mentality I'm coming at > this with. Create a project for a major component, and then include > references to everything that is needed to run that. I sepecifically > _don't_ want to duplicate code. In the original example, those Components > are actually references, I guess I should've made that clearer. Sorry. > > I could try the -ai, but you're right, that does sound like a bigger hammer > than what I really want. For now, I'm keeping track manually and commenting > out component refs when I see them in more than one place. I just want the > guy behind me to understand what's going on if I'm gone. Rather than build > some MSI package only to find that it's actually missing half the refs... > > On Tue, May 5, 2009 at 1:20 PM, Rob Mensching <r...@wixtoolset.org> wrote: > > >> 1. I personally haven't sat down and thought about all of them. >> Honestly, the strategies I use come from my days of working in C/C++. >> WiX works very similarly. If you organize your code well in C/C++ and >> follow similar organization efforts in WiX, it all works out. >> Duplicating code across .lib files in C/C++ is a path well known to lead >> to madness. <smile/> >> >> 2. There is a deprecated command-line switch to light called "-ai" which >> means "allow identical rows". I was told this was a bad idea by the >> people that actually asked for the feature and that is why it was >> deprecated. Allow identical rows is a big hammer. It will allow any >> duplicate rows which may allow duplicate data that you would otherwise >> want to filter out. >> >> Note that when duplicates are being found they don't necessarily map >> back to a particular Component File or Directory Component or Feature >> Component structure or anything like that. All that .wxs stuff is >> shredded into bits and pieces necessary for the linking and binding >> process. >> >> Another option is to make smaller .wixlibs. Admittedly the command-lines >> start getting longer and you can get "chains of .wixlibs" needing to be >> passed on the command-line but it does give you a lot of control. It is >> a little bit of a balancing act to get the right granularity. >> >> >> Stryder Crown wrote: >> >>> Do you have any links or places that I could go to read on these >>> >> strategies? >> >>> I'm reluctant to put everything in one (or two) wixlib's since these are >>> dll's and exe's that contribute to the overall functionality of several >>> programs. Can't wix just 'ignore' when a wixlib has a reference to a >>> >> file >> >>> that's already been included? you know? "Hey, I know you, I'd recognize >>> that guid anywhere..." >>> >>> On Tue, May 5, 2009 at 11:50 AM, Rob Mensching <r...@wixtoolset.org> >>> >> wrote: >> >>> >>>> Putting the same content in different .wixlibs is going to lead to no >>>> end of troubles. I don't know the specifics but there are several ways >>>> to restructure the example below to end up with content only in one >>>> .wixlib. I highly recommend picking one of those strategies (for >>>> example, you could put all of the below in one .wixlib that is highly >>>> Fragmented). >>>> >>>> Stryder Crown wrote: >>>> >>>> >>>>> Ok, I'm sure this has been asked here before, but I wasn't able to find >>>>> >>>>> >>>> the >>>> >>>> >>>>> thread or a resolution... >>>>> >>>>> How does anybody else deal with this situation: >>>>> >>>>> I have several WiX projects that share common dependencies that I'm >>>>> compiling into wixlibs for larger projects. I want to ensure that a >>>>> compiled wixlib (with the object inside) contains all of it's required >>>>> dependencies. I would like to be able to build my wixlibs in just one >>>>> >>>>> >>>> place >>>> >>>> >>>>> and then include them in other projects (MSI installers) as needed. >>>>> >> This >> >>>>> way, when my team updates some dll or exe, I only need to update/change >>>>> >>>>> >>>> the >>>> >>>> >>>>> related wixlib, and not 3 (or 30) other files. Things start to break >>>>> >>>>> >>>> down >>>> >>>> >>>>> when I have relative directories (coming out of svn) and WiX sees a >>>>> >> file >> >>>>> more than once in the final output. Specifically, WiX won't overlook >>>>> >> the >> >>>>> fact that the same file (and guid) has been added more than once. Even >>>>> through the directory structure is exactly the same. Is this a bug? >>>>> >> or >> >>>> is >>>> >>>> >>>>> there something else I should be doing? >>>>> >>>>> Here's an example of the structure I currently have: >>>>> >>>>> Project 1 >>>>> - wixlib A >>>>> Object 1 needs: >>>>> -Component X >>>>> -Component Y >>>>> Object 2 needs: >>>>> -Component Z >>>>> >>>>> Project 2 >>>>> - wixlib B >>>>> Object 3 needs: >>>>> -Component X >>>>> -Component Z >>>>> >>>>> Project 3 >>>>> Requires Object 1 and Object 3. >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------------ >> >>>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! >>>>> >> Your >> >>>>> production scanning environment may not be a perfect world - but thanks >>>>> >>>>> >>>> to >>>> >>>> >>>>> Kodak, there's a perfect scanner to get the job done! With the NEW >>>>> >> KODAK >> >>>> i700 >>>> >>>> >>>>> Series Scanner you'll get full speed at 300 dpi even with all image >>>>> processing features enabled. http://p.sf.net/sfu/kodak-com >>>>> _______________________________________________ >>>>> WiX-users mailing list >>>>> WiX-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------------ >> >>>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >>>> production scanning environment may not be a perfect world - but thanks >>>> >> to >> >>>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >>>> i700 >>>> Series Scanner you'll get full speed at 300 dpi even with all image >>>> processing features enabled. http://p.sf.net/sfu/kodak-com >>>> _______________________________________________ >>>> WiX-users mailing list >>>> WiX-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>> >>>> >>>> >> ------------------------------------------------------------------------------ >> >>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >>> production scanning environment may not be a perfect world - but thanks >>> >> to >> >>> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >>> >> i700 >> >>> Series Scanner you'll get full speed at 300 dpi even with all image >>> processing features enabled. http://p.sf.net/sfu/kodak-com >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >> ------------------------------------------------------------------------------ >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but thanks to >> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >> i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users