Similar to the bal:Condition element that at install time is processed in the
BA, it seems reasonable that this be a bal:MsiProperty element that is also
processed in the BA. That keeps this out of the engine, where I agree it
doesn't belong.
I also agree that this is a very useful feature request. The logical extension
of this idea would be to add what amount to conditional arguments to
ExePackages (also processed in the BA) to allow for conditional alteration of
commandlines to this proposal (e.g. to pass a language flag/argument to an
EXE-based package).
From: r...@robmensching.com
Date: Tue, 2 Jul 2013 12:29:09 -0700
To: wix-devs@lists.sourceforge.net
Subject: Re: [WiX-devs] Random thought: Conditional MsiProperty
That won't make Burn more robust. It'll make it more flexible but not more
robust. People keep mixing those words up and it bugs me because we did a lot
of work to make Burn robust in the first version... often at the expense of
features.
Anyway, it is a reasonable feature request but we need to be cognizant of the
number of features in the engine. The engine must be *robust* above all things.
More code is essentially the antithesis of that.
Okay, that said, first, if we add this feature what other elements need to be
conditionalized? I ask because it is best to have some idea how things fit
together to maintain consistency across the system.
Second, when should the conditions be evaluated? I expect it should happen
during Plan.
On Tue, Jul 2, 2013 at 9:37 AM, Hoover, Jacob <jacob.hoo...@greenheck.com>
wrote:
I just had another random thought on a potential feature that may make Burn a
bit more robust. Specifically, I was pondering the usefulness of a Condition
attribute on a MsiProperty element. Utilizing WixStdBA, there isn’t an easy way
to conditionally set a wix variable based on other wix variables. On
Wix-Users there was a request on how to apply language transforms via burn so
they could localize their shortcuts. If burn supported conditional MsiProperty
elements, this could have been
done with something like:
<MsiPackage …>
<MsiProperty Name="TRANSFORM" Value=":german.mst" Condition=”
SystemLanguageID = 1031” />
<MsiProperty Name="TRANSFORM" Value=":french.mst" Condition=”
SystemLanguageID = 1036” />
<MsiProperty Name="TRANSFORM" Value=":japanese.mst" Condition=”
SystemLanguageID = 1041” />
<MsiProperty Name="TRANSFORM" Value=":swahili.mst" Condition=”
SystemLanguageID = 1089” />
<MsiProperty Name="TRANSFORM" Value=":english.mst" Condition=”
(SystemLanguageID <> 1031) AND (SystemLanguageID <> 1036) AND (SystemLanguageID
<> 1041) AND (SystemLanguageID <> 1089)” />
</MsiPackage>
I’m thinking this wouldn’t be hard to implement, and was wondering if a
feature like this interests anyone else. Are there any hidden gotcha’s that I
may be overlooking?
Thanks,
Jacob
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs