LINQPad Джо Албахари теперь поддерживает Sqlite: http://www.linqpad.net/Beta.aspx . Один инструмент LINQ, чтобы управлять ими всеми.
Просто создайте несколько компонентов, которые ссылаются на один и тот же файл, но установите его в разные места. Единственная проблема заключается в том, что вы не можете использовать два элемента
, ссылающихся на один и тот же файл, потому что они получат один и тот же автоматически сгенерированный идентификатор. Чтобы избежать этой проблемы, явно укажите для элементов файла разные идентификаторы.
<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>
У установщика 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>