I have a problem with setting data that contains semicolons to CustomActionData property. By default CustomActionData class uses semicolon as DataSeparator and it breaks my
Back in 2006 I wrote a blog article and sample project:
InstallScript, meet CustomActionData
Basically I used the pattern: /KEY1=VALUE1 /KEY2=VALUE2
The library worked by calling a lookup function passing it "/KEY1=". It then returned all data until the end of until the next " /".
Regardless I don't really use this much any more since I've moved onto C# DTF which has a CustomActionData class handles the derialization/deserialization for me.