Задача WiX HeatDirectory, указывающая на символическую ссылку - PullRequest
2 голосов
/ 30 марта 2012

Я использую задачу HeatDirectory в Wix-Project для получения некоторых файлов.Кроме того, я хотел бы использовать символическую ссылку в параметре HeatDirectory Directory , чтобы всегда использовать папку, на которую указывает ярлык.Однако, кажется, что параметр не очень удобен для этой символической ссылки, поэтому я попытался создать обходной путь, скопировав файлы перед их сборкой.

<Exec Command="xcopy \\myFileServer\Shortcut2LatestFiles\*.* c:\mytmp" ContinueOnError="true"/>
<HeatDirectory OutputFile="files.wxs" Directory="c:\mytmp" 
(... some more parameters ...) />

К сожалению, этот обходной путь не работает, поскольку xcopy не разрешаетсимволическая ссылка тоже.Во всяком случае, я не очень доволен этим и предпочел бы тепло непосредственно использовать ярлык.Есть ли способ сделать это?

РЕДАКТИРОВАТЬ: недостающие части на самом деле были кавычками, как предложил Алексей - часть xcopy работает, если я использую

<Exec Command="xcopy &quot;c:\TestFolderSymlink&quot; &quot;c:\testtarget\&quot; /y" />

Как ни странно, они не требуются в командной строке.

РЕДАКТИРОВАТЬ 2: Используя кавычки, прямое использование символической ссылки в задаче heatdirectory также возможно.Однако учтите, что здесь я использую символическую ссылку (созданную mklink, некоторая информация здесь ), а не ярлык (.lnk-File).На самом деле ярлык не будет работать таким образом.

1 Ответ

0 голосов
/ 07 мая 2013

Комментарии ответили на вопрос выше, но ответили здесь, поэтому вопрос выпадает из списка без ответа для тега wix.

Если ваш путь содержит пробелы или символические ссылки, обязательно укажите путь.Цитирование пути обычно хорошая идея почти во всех случаях.Обратите внимание, что в XML вы можете использовать одинарные кавычки на внешней стороне, чтобы использовать двойные кавычки на внутренней стороне, например:

<Exec Command='xcopy "c:\TestFolderSymlink" "c:\testtarget\" /y' />

Это часто может быть более читабельным по синтаксису &quot;.

...