/ExtractCab will overwrite duplicate files embedded within the setup installer.
For example, if I have two components, one filtered for a 32-bit operating system, and the other filtered for a 64-bit operating system, with an embedded file with the same name in each component, running the setup installer with the /ExtractCab command line option will result in only one of the embedded files in the SupportFiles directory.
What do you think should be changed in DNI for this?
I'm thinking DNI should allow the user to specify the target path for specific components by their unique id. The unique id would be a new, optional attribute for the <component /> element. If specified, it should be validated to be unique during linking.
So for example:
setup.exe /ExtractCab /TargetFilePath "unique id":"x64"
This will extract all the embedded files in the SupportFiles directory, but for the component with the unique id of "unique id", its embedded files will be extracted to the "x64" sub-directory.
When I explicitly specify the targetfilepath of the embedfile to be different than the other(s) with the same file name, it meets my requirements without any additional code changes, even if it's hard-coded and cannot be changed at run-time. Since this feature already exists, I don't think that DNI should behave any differently. 😃