Как вы копируете набор файлов в несколько мест, используя Wix? - PullRequest
10 голосов
/ 13 октября 2009

Я пытаюсь сделать установку, которая помещает копии одних и тех же файлов в несколько мест ...

Есть ли простой способ сделать это?

например. если бы я хотел поместить a.txt b.txt c.txt во все следующие каталоги: -

. \ Ли \
. \ Txts \
. \ Примеры \

Ответы [ 2 ]

11 голосов
/ 13 октября 2009

Просто создайте несколько компонентов, которые ссылаются на один и тот же файл, но установите его в разных местах. Единственный недостаток - вы не можете использовать два элемента <File Source="somefile"/>, ссылающихся на один и тот же файл, потому что они получат один и тот же автоматически сгенерированный идентификатор. Во избежание этой проблемы явно присвойте элементам файла разные идентификаторы.

<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>
7 голосов
/ 14 октября 2009

Установщик Windows имеет собственную концепцию, называемую «DuplicateFiles». Это работает, только если файлы на самом деле идентичны, но звучит так, как будто вы хотите этого. В WIX вы реализуете это через элемент CopyFile:

http://wix.sourceforge.net/manual-wix2/wix_xsd_copyfile.htm

Я на самом деле не пробовал, но это должно выглядеть примерно так

<Component Id='Manual' Guid='*' >
  <File Id='Manual' Name='Manual.pdf' Source='Manual.pdf' KeyPath='yes'>
    <CopyFile  Id='MyDuplicateFile1' DestinationProperty ='DesktopFolder'/>
  </File>
</Component>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...