2011-08-19 101 views
3

我有多個配置文件(針對不同的環境)。在安裝過程中,用戶可以選擇環境,並根據正確的文件進行復制。我想刪除未使用的額外文件。
我正在使用,但似乎沒有工作。我沒有收到任何錯誤,在日誌中我看到執行的操作,但文件不被刪除。任何人都可以請指出我做錯了什麼?WIX |安裝時刪除* .config文件

<Component Id="RemoveFiles" Guid="C5D634C2-744E-4CA5-BB44-F3DE88482AB5"> 
    <RemoveFile Id="RemoveConfigs" Name="???_*.config" On="install" /> 
    </Component> 

我RemoveFile表也像

 
FileKey     Component   FileName     DirProperty InstallMode 
RemoveExtraConfigFiles RemoveExtraFiles p6wjlh9a.con|Web_*.config INSTALLDIR 1 

不過它不刪除任何內容

回答

3

RemoveFileCopyFileInstallFiles之前一直運行,它發現在安裝目錄中沒有文件,因此它失敗。

+0

看來,您的安裝將從重新組織中受益。如果您只需要安裝一個(或某些)配置文件,則應該爲保存這些文件的組件添加適當的條件,因此只會安裝所需的文件(由用戶選擇)。這樣您就不必引入自定義操作並刪除剛剛安裝的文件。讓Windows Installer正常工作:) –

1

RemoveFiles行動將設法找到你在組件的父目錄中指定的文件中,如果你不覆蓋RemoveFile元素本身(根據你的樣本,你不這樣做)。確保它確實是一個包含該文件的文件夾。如果找不到該文件,該操作將不會失敗 - 它將默默繼續。

+0

所有文件都在根文件夾中,並且此組件也位於根級別。我甚至可以看到數據庫中存在的刪除操作。但由於某些原因文件不會被刪除。無論如何用它想要刪除的完整文件路徑記錄操作? – Yatish

+1

我不這麼認爲......該組件是否包含在要安裝的功能中? –