To further illuminate the Name-Value Pair issue, I have two unit tests
authoring for a custom action:
<lux:UnitTest Id="PVT.SetEditNetTcpBinding"
CustomAction="SetEditNetTcpBinding" Property="EditNetTcpBinding"
Operator="notEqual" Value="{}" />
<lux:UnitTest CustomAction="SetEditNetTcpBinding"
Property="EditNetTcpBinding" ValueSeparator=";">
<lux:UnitTest Id="NVPPT.SetEditNetTcpBinding.Site" Index="0"
Value="Site=[WEBSITE_NAME]">
<lux:Condition><![CDATA[WEBSITE_NAME]]></lux:Condition>
</lux:UnitTest>
<lux:UnitTest Id="NVPPT.SetEditNetTcpBinding.Protocol" Index="1"
Value="Protocol=net.tcp" />
<lux:UnitTest Id="NVPPT.SetEditNetTcpBinding.TcpPort" Index="2"
Value="TcpPort=[WEBSITE_NET.TCPPORT]">
<lux:Condition><![CDATA[WEBSITE_NET.TCPPORT]]></lux:Condition>
</lux:UnitTest>
<lux:UnitTest Id="NVPPT.SetEditNetTcpBinding.Header" Index="3"
Value="Header=[WEBSITE_NET.TCPHEADER]">
<lux:Condition><![CDATA[WEBSITE_NET.TCPHEADER]]></lux:Condition>
</lux:UnitTest>
</lux:UnitTest>
<lux:UnitTest CustomAction="SetEditNetTcpBinding"
Property="EditNetTcpBinding" NameValueSeparator=";">
<lux:UnitTest Id="NVPPTb.SetEditNetTcpBinding.Site" Index="Site"
Operator="equal" Value="[WEBSITE_NAME]">
<lux:Condition><![CDATA[WEBSITE_NAME]]></lux:Condition>
</lux:UnitTest>
<lux:UnitTest Id="NVPPTb.SetEditNetTcpBinding.Protocol" Index="Protocol"
Operator="equal" Value="net.tcp" />
<lux:UnitTest Id="NVPPTb.SetEditNetTcpBinding.TcpPort" Index="TcpPort"
Operator="equal" Value="[WEBSITE_NET.TCPPORT]">
<lux:Condition><![CDATA[WEBSITE_NET.TCPPORT]]></lux:Condition>
</lux:UnitTest>
<lux:UnitTest Id="NVPPTb.SetEditNetTcpBinding.Header" Index="Header"
Operator="equal" Value="[WEBSITE_NET.TCPHEADER]">
<lux:Condition><![CDATA[WEBSITE_NET.TCPHEADER]]></lux:Condition>
</lux:UnitTest>
</lux:UnitTest>
In the first authoring, I work around the problem I'm seeing by treating the
Name=Value pairs as a Multi-Value Property. It works as expected and is the
workaround I use. It produces this output:
Test NVPPT.SetEditNetTcpBinding.Header passed: Property 'EditNetTcpBinding'
matched expected value 'Header=[WEBSITE_NET.TCPHEADER]'.
Test NVPPT.SetEditNetTcpBinding.Protocol passed: Property 'EditNetTcpBinding'
matched expected value 'Protocol=net.tcp'.
Test NVPPT.SetEditNetTcpBinding.Site passed: Property 'EditNetTcpBinding'
matched expected value 'Site=[WEBSITE_NAME]'.
Test NVPPT.SetEditNetTcpBinding.TcpPort passed: Property 'EditNetTcpBinding'
matched expected value 'TcpPort=[WEBSITE_NET.TCPPORT]'.
But the second authoring, which uses the NameValueSeparator attribute and named
Index attributes, produces:
Test NVPPTb.SetEditNetTcpBinding.Header failed with unknown operation.
Test NVPPTb.SetEditNetTcpBinding.Protocol failed with unknown operation.
Test NVPPTb.SetEditNetTcpBinding.Site failed with unknown operation.
Test NVPPTb.SetEditNetTcpBinding.TcpPort failed with unknown operation.
No combination of NameValueSeparator values seems to work with multiple
name/value pairs.
--
John M. Cooper
-----Original Message-----
From: John Cooper
Sent: Tuesday, January 10, 2012 11:27 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Possible bug in Lux
Sorry for the delay. Getting back from vacation.
User headspace and timing issue on formatting of the Value attribute for
UnitTest elements--that appears to work fine.
One bug is a formatting issue in the reporting message. For example, for a
test authored as:
<lux:UnitTest Id="PVT.SetEditNetTcpBinding" CustomAction="SetEditNetTcpBinding"
Property="EditNetTcpBinding" Operator="notEqual" Value="{}" />
Gives me a report that the property 'EditNetTcpBinding' matched '{}':
Test PVT.SetEditNetTcpBinding passed: Property 'EditNetTcpBinding'
matched expected value '{}'.
However, it would be far better to have the report message display with "did
not match the".
There does appear to be a bug also with Name-Value Pair Property Tests. It
appears to work correctly only if there is a single Name-Value Pair in the
Property. I need to put together a toy example.
--
John Merryweather Cooper
Build & Install Engineer - Enterprise Application Development Jack Henry &
Associates, Inc.(r) Shawnee Mission, KS 66227
Office: 913-341-3434 x791011
[email protected]
www.jackhenry.com
-----Original Message-----
From: Bob Arnson [mailto:[email protected]]
Sent: Saturday, December 31, 2011 10:40 AM
To: [email protected]
Subject: Re: [WiX-users] Possible bug in Lux
On 22-Dec-11 16:21, John Cooper wrote:
> In partial answer to my own post, it appears that the Value attribute can be
> formatted for Property Value Tests, but cannot be formatted for Multi-Value
> Property Tests and Name-Value Pair Property Tests. Would be nice to allow
> formatted values for this attribute for all tests.
Works for me. All tests follow the same code path so they should all support
formatting. Can you post an example that doesn't work?
--
sig://boB
http://joyofsetup.com/
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual desktops
for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it
free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are
intended exclusively for the individual or entity to which it is addressed. The
message, together with any attachment, may contain confidential and/or
privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution is strictly prohibited. If you have received this message in
error, please immediately advise the sender by reply email and delete all
copies.
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create new or
port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM
program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev _______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are
intended
exclusively for the individual or entity to which it is addressed. The message,
together with any attachment, may contain confidential and/or privileged
information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution
is strictly prohibited. If you have received this message in error, please
immediately advise the sender by reply email and delete all copies.
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users