I'm using a modified version of Microsoft's UpdateManifest sample project to alter the embedded application manifest during setup. My modified UpdateManifest assembly expects two parameters. One for the document path and one for the assembly path. In the setup project's custom actions settings for UpdateManifest I'm passing this:
/documentPath="[ProgramFilesFolder][Manufacturer]\[ProductName]\Document.xlt" /assemblyPath="%ProgramFiles%\[Manufacturer]\[ProductName]\Assembly.dll"
Problem is, the setup project resolves %ProgramFiles% prior to sending it to the UpdateManifest assembly. The UpdateManifest assembly receives:
"C:\Program Files\Manufacturer\ProductName\Document.xlt"
and
"C:\Program Files\Manufacturer\ProductName\Assembly.dll"
So both the [ProgramFilesFolder] directive and %ProgramFiles% are resolved by the setup project. Does this mean I have to use my own scheme to pass special characters to UpdateManifest Maybe something like @ProgramFiles@ or is that also resolved by the setup project