Search code examples
propertieswixwindows-installercustom-action

pass few properties to a custom action


What is a standart way of passing properties to a custom action without parsing them? I mean if I write "X1=X1value X2=X2value", then in my custom action X1 will be equal to "X1value X2=X2value", and X2 won't exist as a separate property. So what is the properties string format?


Solution

  • I don't know that there is a "standard" for serializing and serializng CustomActionData. There are a couple libraries out there though. If you happen to be using C# DTF custom actions there is a CustomActionData class that can serialize and deserialize the property collection for you. Otherwise you pretty much come up with your own pattern like:

    /PROPERTYA=VALUEA /PROPERTYB=VALUEB

    or

    PROPERTYA=VALUEA;PROPERTYB=VALUEB

    Or even an XML fragment like

    <Properties>
     <Property Id="PROPERTYA">VALUEA</Property>
     <Property Id="PROPERTYB">VALUEB</Property>
    </Properties>
    

    The point is to serialize and deserialize so that it can be available to your deferred CA.