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 jocoo...@jackhenry.com www.jackhenry.com -----Original Message----- From: Bob Arnson [mailto:b...@joyofsetup.com] Sent: Saturday, December 31, 2011 10:40 AM To: wix-users@lists.sourceforge.net 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 WiX-users@lists.sourceforge.net 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 WiX-users@lists.sourceforge.net 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 WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users