簡體   English   中英

使用WiX安裝期間如何復制文件夾(不是文件)?

[英]How to copy a folder (not a file) during installation with WiX?

我正在使用Wix編寫安裝代碼,我需要將整個文件夾安裝到某個位置,然后將該文件夾復制到幾個不同的位置,我可以使用代碼一個一個地將相同的文件安裝到那些位置,但是文件夾的大小約為80 Mb,因此會增加我的MSI大小(80 x 3 = 240 Mb)。

我想到的一種解決方案是將文件夾壓縮為zip文件,然后使用CopyFile元素復制文件,然后解壓縮三個文件夾,但這會增加安裝時間。

有沒有辦法使用本地wix代碼執行此操作,還是“自定義操作”是我唯一的解決方案? TNKS

WiX的“智能布線”可重復使用文件存儲數據的一個實例,即使該文件多次包含在不同目錄中也是如此。 參見http://robmensching.com/blog/posts/2007/6/1/“Smart-cabbing”-add-to-WiX-toolset 因此,您具有重復的創作,但不會膨脹.msi。

如果要按照MSI本地提供的方式進行操作,則需要為每個要復制的文件編寫3個CopyFile元素。

CopyFile元素映射到DuplicateFiles表,該表由DuplicateFiles操作處理。 它沒有* /概念,而是需要一對一的映射回File.File_表/列。 (WiX中的File @ Id)

您當然可以決定討厭這種模式,並滾動自己的自定義操作來處理該作業,但是如果這樣做,請確保處理安裝,卸載,修復,回滾,升級等操作。 MSI的限制可能很煩人,但是如果您使用它,您會獲得很多“免費”(盡管不是很輕松)。

CopyFile元素

DuplicateFile表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM