Bugs item #1374637, was opened at 2005-12-06 11:15
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1374637&group_id=105970

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: CustomActions
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Jack Metcalfe (jackmetcalfe)
Assigned to: Nobody/Anonymous (nobody)
Summary: XmlFile only supports simple XPath queries

Initial Comment:
The documentation suggests 'escaping' square brackets 
[].  I tried 'escaping' using a C style escape 
backslash \.  This resulted in the \ going all the 
way through and being processed with the backslash as 
part of the XPath.

While inexperienced with the Installer API it appears 
that MsiRecordGetStringW() will process any square 
brackets [] and does not know of the escape backslash 
\.  As a result any XPath string that uses square 
brackets [] will be removed, unless they expand to a 
defined Property.

Also XmlFile.cpp only allocates MAX_PATH characters 
for the wzElementPath element of the XML_FILE_CHANGE 
structure.  MAX_PATH evaluates to 260 in my 
environment.  This is easily exceeded with most of 
the queries that I have been working with.

I view it as a kludge but my solution is to increase 
the size of wzElementPath to an arbitrary 8K.

I also changed ReadXmlFileTable in XmlFile.cpp to 
look for curly braces {} in the XPath and replace 
with square braces [].

I am still working with my installer yet and will 
follow up with any additional information, including 
errors that I uncover regarding these statements.


ie.) input with curly braces
                ElementPath="/*{local-name()
='dataConfiguration'}/*{local-name()
='xmlSerializerSection'}/*{local-name()
='enterpriseLibrary.databaseSettings'}/*{local-name()
='connectionStrings'}/*{local-name()
='connectionString' and @name='Sql Connection 
String'}/*{local-name()='parameters'}/*{local-name(.)
='parameter' and @name='server'}/@value"



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1374637&group_id=105970


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to