2012-03-30 82 views
2

我正在Wix項目中使用HeatDirectory任務來獲取一些文件。我還希望在HeatDirectory 目錄參數中使用符號鏈接,以便始終使用快捷方式指向的文件夾。但是,這個符號鏈接看起來不太舒服,所以我試圖通過在收集文件之前複製文件來創建解決方法。WiX HeatDirectory任務指向符號鏈接

<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:使用引號,在熱目錄任務中直接使用符號鏈接也是可能的。但是,請注意,我在這裏使用的是符號鏈接(由mklink創建,部分信息爲here),而不是快捷方式(.lnk-File)。其實快捷方式不會以這種方式工作。

+0

你會得到什麼錯誤?從'xcopy',從'heat'? – 2012-03-31 07:05:38

+0

xcopy在從命令行觸發時正在工作,但在像上面那樣調用時顯示「file *。* not found」。我會盡快創建一個示例項目,只要我找到時間。 – ChriPf 2012-04-01 18:06:27

+1

嘗試在目錄周圍添加引號'"',可能有助於... – 2012-04-01 19:20:58

回答

0

評論回答了上述問題,但在此處回答,因此問題脫離wix標記的未答覆列表。

當您的路徑包含空格或符號鏈接時,請務必引用路徑。幾乎在所有情況下,引用路徑通常都是一個好主意。注意在XML,你可以在「外面」使用單引號對「內部」喜歡使用雙引號:

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

這往往是在&quot;語法更具可讀性。

相關問題