Search code examples
wixwindows-installer

How do you copy a set of files to multiple places using Wix?


I'm trying to make an install that puts a copy of the same files in multiple places...

is there a simple way to do this?

eg. if I wanted to put a.txt b.txt c.txt into all of the following directories :-

.\Blah\
.\Txts\
.\Examples\


Solution

  • Simply create multiple components which reference the same file, but install it to different locations. The only gotcha is that you cannot use two <File Source="somefile"/> elements referencing the same file because they will get the same auto-generated ID. Explicitly give the file elements different IDs to avoid that problem.

    <DirectoryRef Id="directory1">
       <Component Id="somefile-component1">
          <File Id="somefile-id1" Source="/path/to/somefile"/>
       </Component>
    </DirectoryRef>
    
    <DirectoryRef Id="directory2">
       <Component Id="somefile-component2">
          <File Id="somefile-id2" Source="/path/to/somefile"/>
       </Component>
    </DirectoryRef>