ok i've tried to send this message twice now with the attached zip files but it 
bounced back both times (stating that messages w/zip files are being blocked.  
i also tried changing the attachment to .txt but that failed too).  After 
reading the following, please let me know if you'd still like to see the wxs 
files and i'll just send them one by one.
 
One thing that I failed to mention (and you'll notice this in the scenarios), 
that we are using wixlibs for all features, component groups, etc.  And if two 
features include the same ComponentGroup wixlib or component wixobj, then we 
get the 'Duplicate symbol' error.  We completely understand that this is how 
C++ works when linking and thus, how wix should work as well.
 
Our goal is to design this so the msi author doesn't have to care what 
Components, ComponentGroups, etc. are in the Feature.  They just include the 
Feature wixlib and they're done.  The way that it is designed now, the msi 
author will have to include every wixlib that the feature uses (Because we 
clearly can't include those wixlibs in the Feature wixlib because they can be 
included in multiple features).  So at this point we're asking if we can get 
something similar to #pragma (comment lib ... ) and lib path notions that C and 
C++ use.  We'd like a new wix node (something like WixLibRef) that will specify 
the exact wixlib filename that should be pulled in via light.exe whenever 
someone uses the containing wixlib.  Light will then search a wix lib path to 
find the specified wixlibs.  This would allow the msi author to only have to 
include the feature wixlib.
 
It might sound trivial, but as development continues and we add more component 
groups to our features, the new dependencies will ripple up and cause the msi 
authors to have to modify the makefiles (light args) for every msi that needs 
that feature.  As component groups are added, we'll get breaking errors.  But 
as component groups are removed, the msi author wont have any indication that 
he has unnecessary wixlibs included.
 
This would GREATLY benefit us for our next product release.  Up to this point, 
everything we have done is for 'proof of concept' and we are getting ready to 
begin converting 30+ installs to WiX.
 
 
 
Lastly, Rob you asked for the stack dump from light.exe when using the -ai 
commnad line parameter.  Here that is:
 
light.exe : error LGHT0001 : Object reference not set to an instance of an 
object.
 
Exception Type: System.NullReferenceException
 
Stack Trace:
   at Microsoft.Tools.WindowsInstallerXml.Field.IsIdentical(Field field)
   at Microsoft.Tools.WindowsInstallerXml.Row.IsIdentical(Row row)
   at 
Microsoft.Tools.WindowsInstallerXml.SectionCollection.FindEntrySectionAndLoadSymbols(Boolean
 allowIdenticalRows, IMessageHandler messageHandler, Section&entrySection, 
SymbolCollection& allSymbols)
   at Microsoft.Tools.WindowsInstallerXml.Linker.Link(SectionCollection 
sections)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)
 
Unhandled Exception: System.NullReferenceException: Object reference not set to 
an instance of an object.
   at Microsoft.Tools.WindowsInstallerXml.Field.IsIdentical(Field field)
   at Microsoft.Tools.WindowsInstallerXml.Row.IsIdentical(Row row)
   at 
Microsoft.Tools.WindowsInstallerXml.SectionCollection.FindEntrySectionAndLoadSymbols(Boolean
 allowIdenticalRows, IMessageHandler messageHandler, Section&entrySection, 
SymbolCollection& allSymbols)
   at Microsoft.Tools.WindowsInstallerXml.Linker.Link(SectionCollection 
sections)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Main(String[] args)
 
 

________________________________

From: Derek Cicerone [mailto:[EMAIL PROTECTED] 
Sent: Thursday, July 13, 2006 4:58 PM
To: Wilson, Brad; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] 'Duplicate Symbols' error, Components,and 
ComponentGroups



For each of these below scenarios, if you could make small wxs files to 
reproduce each problem, that would greatly speed up investigation because then 
we could just run the repro in the debugger to figure out what's going on.  A 
lot of this stuff sounds like bugs, but I'd have to see the scenario in the 
code to be sure.

 

Derek

 

________________________________

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wilson, Brad
Sent: Thursday, July 13, 2006 1:03 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] 'Duplicate Symbols' error, Components,and ComponentGroups

 

wix version 3.0.1828.0

 

When calling light against install projects there are a few situations that are 
causing problems for us when designing our installs.  All of these situations 
cause the "Duplicate Symbol found' error.

 

Situation 1 (this is pseudo-code): 

 

Feature1 

    - ComponentRef1

        - File1  

    - ComponentRef2

        - File2

 

Feature2

    - ComponentRef2

        - File2

    - ComponentRef3

        - File3

 

<Product ...>

    <FeatureRef id="Feature1" ... >

    <FeatureRef id="Feature2" ... >

</Product>

 

This is causing a Duplicate symbol error on File2.  It was my assumption that 
components could belong to multiple Features if using <ComponentRef>.  

 

 

Situation 2:

If I were to create a ComponentGroup and include File2 in it and then use 
<ComponentGroupRef> in Feature1 and Feature2, I would also get the 'Duplicate 
Symbol' error but this time it would be on the ComponentGroup. 

 

 

Situation 3:

I'm not sure that this last situation is a bug.  But it's something that I 
would hope would work or it might undermine our usage of nested component 
groups.  In our situation there are a lot of files that belong to many 
different applications.  Our hope was to be able to nest ComponentGroups to be 
able make a modification to one ComponentGroup and have it affect lots of 
different installs.  Here is the situation:

 

ComponentGroup1

    - ComponentGroupNest1

    - ComponentGroupNest2

 

ComponentGroup2

    - ComponentGroupNest2

    - ComponentGroupNest3

 

<Feature ...>

    <ComponentGroupRef id="ComponentGroup1" />

    <ComponentGroupRef id="ComponentGroup2" />

</Feature>

 

We were hoping that light would be smart enough to understand that, since those 
files are included from multiple ComponentGroups, to just ignore any multiples 
of that file for that feature.  Instead, we get the Duplicate symbol error on 
ComponentGroupNest2.

 

I've tried all of this with the -ai command line option for light.exe but i'm 
getting a SystemNullReference exception.  To get this to work, is -ai supposed 
to be used or should the three situations work w/o a specific command line 
option?

Brad Wilson | Developer
phone & fax +1.317.715.8523 | 
[EMAIL PROTECTED]
 
Interactive Intelligence Inc.
Deliberately Innovative
www.inin.com

 

 




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to