2012-06-08 27 views
0

我正在準備插件的安裝包,用於替換其他應用程序的某些文件。我需要備份這些文件,所以我準備CustomAction這將做到這一點。WiX自定義操作 - 傳遞文件列表

如何將作爲參數傳遞給我的自定義動作位置的所有文件將在安裝過程中被複制?我是否需要手動創建該列表?

回答

0

爲了不創建自定義操作,爲什麼不使用WiX CopyFile元素來備份這些文件。

+0

主要問題是在卸載過程中由CopyFile創建的文件也將被刪除。 –

+0

您正在複製機器上已存在的文件是否正確?在這種情況下,我懷疑他們將在卸載時被刪除。 – BryanJ

+0

是的,他們已經存在。我剛剛把CopyFile放在File標籤中,所以它導致了這種行爲。當我把CopyFile放入Component時,它會對現有文件進行備份,但新文件與舊文件相同。可能我需要做更多的研究。如何在卸載時將備份文件移動到原始狀態? –

0

您可以通過設置安裝程序中的屬性將參數傳遞給自定義操作。然後在您的自定義操作中訪問這些屬性(如C#示例):

[CustomAction] 
public static ActionResult DoWork(Session session) 
{ 
    session.Log("Begin DoWork"); 
    string propertyValue = session["PROPERTYNAME"]; 
    //... 
} 
+0

是的,我知道這一點。我的問題是,是否有必要手動創建應該作爲屬性傳遞給自定義操作的文件列表,還是可以使用已定義組件中的文件列表? –