1
Vote

Feature Request: Define "preprocessor" variables within the RemoteInstaller configuration file

description

I would like to request the ability to define "preprocessor" variables within the RemoteInstaller configuration file.

For example, both wix and cruisecontrol.net support defining preprocessor variables.
http://wix.sourceforge.net/manual-wix2/preprocessor.htm
http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Configuration%20Preprocessor.html

I have personally used this library to help implement the same feature request in another project:
http://xmlpreprocess.codeplex.com/

In this way, I can remove duplicate text as follows:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE RemoteInstaller [
<!ENTITY testResultsXml "c:\unittests\testresults.xml">
<!ENTITY unitTestsXsl "XslTemplates\UnitTests.xsl">
]>
<configuration>
...
<copyfile name="utsummary.html" file="&testResultsXml;" destpath="unittests" when="afterall" destination="toTestClient"
              includeInResults="false" includeDataInResults="true" xslt="&unitTestsXsl;" />
    <copyfile name="utdetails.html" file="&testResultsXml;" destpath="unittests" when="afterall" destination="toTestClient"
              includeDataInResults="false" xslt="&unitTestsXsl;" />
...
</configuration>

I have also used this library to support including other "shared" xml files within one xml file:
http://mvpxml.codeplex.com/

Thank you.

comments

icnocop wrote Mar 15, 2011 at 6:52 PM

I just noticed that the "${file:include.xml}" syntax can be used as documented in the "Configuration Variables" section in the help file to inject files within the configuration file. Great! :)

icnocop wrote Mar 18, 2011 at 5:29 AM

The preprocessor engine should support conditions. In this way, certain tests can easily be skipped by setting the value of a relevant bool variable instead of having to deal with xml comments, since nested xml comments are not supported.

icnocop wrote Mar 28, 2011 at 11:05 PM

It actually would be nice to have an xml element that can be used solely for inline comments since nested xml comments are not supported. See http://stackoverflow.com/questions/1324821/nested-comments-in-xml.

icnocop wrote Apr 15, 2011 at 1:58 AM

I'm thinking it may be better to just reference RemoteInstall.dll directly and actually write code to support conditions, re-usable code, passing variables, etc. instead of trying to use xml. Any other thoughts?

icnocop wrote Oct 21, 2011 at 2:34 AM

FWIW, what I've done is actually use VMWareTasks \ Vestris.VMWareLib.dll directly and am able to encapsulate some of the same functionality with unit tests and so now this request seems obsolete because of the benefits of using c# over xml for example.