我正在構建VS 2010安裝程序,並且我希望將文件複製到應用程序文件夾,具體取決於我在UI中選擇的選項(用戶界面並不簡單,所以唯一的選擇是顯示自定義操作中的自定義對話框)。 問題是自定義操作實際上是在已經複製文件後執行的。如何使用條件文件複製來設置安裝程序項目
我能想到的一種可能的解決方案是將所有這些文件安裝到應用程序目錄中,然後刪除自定義操作中的一些非常規文件。但是這些文件在某些方面是「安全的」,所以我不想將它們複製到文件系統中,即使在很短的時間內也是如此。
有什麼想法?
我正在構建VS 2010安裝程序,並且我希望將文件複製到應用程序文件夾,具體取決於我在UI中選擇的選項(用戶界面並不簡單,所以唯一的選擇是顯示自定義操作中的自定義對話框)。 問題是自定義操作實際上是在已經複製文件後執行的。如何使用條件文件複製來設置安裝程序項目
我能想到的一種可能的解決方案是將所有這些文件安裝到應用程序目錄中,然後刪除自定義操作中的一些非常規文件。但是這些文件在某些方面是「安全的」,所以我不想將它們複製到文件系統中,即使在很短的時間內也是如此。
有什麼想法?
如果您的文件不應該存在於文件系統中,那麼您在要求方面存在問題。 .msi存儲本身是一種開放格式,可以被許多工具讀取,因此如果有人知道該文件,他們可以手動查找並提取它。
我同意最好避免在安裝後刪除文件,原因有兩個。其一:它避免了浪費的工作,以及兩項:由於缺少Windows Installer認爲應該存在的文件,因此不會導致修復情況。您可能應該弄清楚如何確定這些文件是否應該在安裝的早期階段出現,並設置導致此問題發生的屬性(按條件禁用組件或更改功能狀態)。
MSI對話框中的大多數控件使用installer properties。例如,複選框可以使用名爲MY_CHECKBOX的屬性,該屬性根據複選框是否被選中而設置爲值或爲空。
這些屬性可以用來條件文件:
在其屬性窗格中設置Condition字段爲您要的條件,例如
MY_CHECKBOX =「value」