Brad,

The exception you hit below is an issue I saw a few weeks back.  I thought I
checked in the fix already but I guess not (probably part of a bigger change
which is on hold).  At any rate, I'll fix that issue right away and it will
get better testing in the future (the change which fixed it used the
functionality as well).

Regarding the problems you're hitting with component groups - we really need
to have some repro files to try it out.  You can open a bug on SourceForge
and attach the necessary files there.  It's a bit more cumbersome than
sending them via email but I'm certain it works because people have attached
files this way in the past.

Regarding the pragma request - why are you breaking up wixlibs so small that
management of them is an issue?  Just make the wixlibs as big as manageably
possible because wix will automatically pull out what it needs.  Keep in
mind that a wixlib file can contain as many wixobj files as necessary (not
just a single componentgroup).  In Office we sometimes had wixlib files that
were several hundred megabytes large.  It was great because we knew we could
just throw everything in there and let the linker sort it out.

Derek

-----Original Message-----
From: Wilson, Brad [mailto:[EMAIL PROTECTED] 
Sent: Sunday, July 16, 2006 7:27 PM
To: [EMAIL PROTECTED]; wix-users@lists.sourceforge.net;
[EMAIL PROTECTED]
Subject: RE: [WiX-users] 'Duplicate Symbols' error, Components,and
ComponentGroups

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.FindEntrySectionAndLoa
dSymbols(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.FindEntrySectionAndLoa
dSymbols(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