Как скопировать набор файлов в несколько мест с помощью Wix?
Я пытаюсь сделать установку, которая помещает копию одних и тех же файлов в несколько мест...
есть ли простой способ сделать это?
например. если бы я хотел поместить файл c.txt a.txt b.txt во все следующие каталоги: -
.\Ла\
. \Txts\
.\Примеры\
Ответы
Ответ 1
Просто создайте несколько компонентов, которые ссылаются на один и тот же файл, но установите его в разные местоположения. Единственная проблема заключается в том, что вы не можете использовать два элемента <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>
Ответ 2
У установщика 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>