Here's what I do:
Create custom DLL, prototyped to accept a const char * (can't seem to pass UNICODE)
Splice it into a custom action, like so:
NUMBER=[MyVar] swsetup::?InstallDriverFiles@@YGHPBD@Z(in STRING=[INSTALLDIR]
ascsipt.inf)
The function name is 'InstallDriverFiles' plus name decoration. The parameter is supposed to add the file name to the INSTALLDIR. Problem is, it doesn't - I get either a literal "[INSTALLDIR]\NASCSIPT.INF" or an empty string.
I have been experimenting with [ ]'s and custom properties and the '+' operator to no avail ...
If the user chooses directory 'C:\mydir', I just want to pass 'c:\mydir
ascsipt.inf' as a string to the DLL.
BTW the function is getting called so it is not a name export problem, and a string literal hardcoded into the CA is passed down OK. The problem is expression evaluation ...
Thanks.