2013-10-25 182 views
0

我是WiX的新手,我試圖讓我的安裝項目將某些文件構建到構建輸出路徑的子目錄中。例如,如果我的編譯輸出路徑是:bin \ Debug,我希望某些文件被添加到子文件夾中:bin \ Debug \ Images。Wix - 將文件構建到子目錄

請問這可能嗎?

回答

1

看起來您正在使用Visual Studio,MSBuild和/或SharpDevelop的WiX項目模板。如果是這樣,您有幾種選擇:

  1. Post Build Event中使用XCOPY
    • 靈活
    • 有些容易在你的項目中找到(該項目的設計師標籤之一)
    • 沒有整合與構建系統
  2. 的文件夾和文件添加到您的項目文件夾好,將它們包含在您的項目中並在每個文件上設置Copy to Output Directory。注意:您無法在文件夾上設置該屬性。複製將保留文件夾結構,但您已在每個要複製的文件上設置屬性。
    • 呆板
    • 很容易在你的項目(解決方案資源管理器和屬性窗口)
  3. 在文本編輯器中的項目文件,以查找和添加的MSBuild任務,如CopyAfterBuild或其他目標。注意:要使用VS編輯項目文件,請右鍵單擊,選擇卸載項目,然後右鍵單擊並選擇編輯。
    • 靈活
    • 很難在你的項目(在項目文件XML)找到
    • 使用的編譯系統

在最後一種情況下,我有時放在一個REM評論發佈構建事件以向用戶介紹項目文件已被定製的事實。

+0

非常感謝。我選擇了你的選擇3,它效果很好。但是,在運行安裝程序包時,安裝程​​序無法再找到我已經移動的文件來安裝它們。我是否需要在移動它們時以某種方式標記它們,或者我錯過了某些明顯的問題? –

+0

WiX的candle.exe不包含任何不在WiX腳本(或擴展名)中的內容。不過,它確實提供了heat.exe工具來爲您生成腳本。作爲構建的一部分,[HarvestDirectory](http://wixtoolset.org/documentation/manual/v3/msbuild%5Ctask_reference%5Cheatdirectory.html)任務將運行熱量。 –

相關問題