簡體   English   中英

隱藏 Inno Setup 組件

[英]Hiding Inno Setup components

我正在嘗試使用 Inno Setup 構建一個安裝程序,該安裝程序基於某些配置選項運行其他安裝程序。 為簡單起見,假設我有 20 個安裝程序,它們可以設置為 5 種不同的配置,其中每個配置都有一些必需的安裝程序和一些可選的安裝程序。 配置 A 可能需要安裝程序 1、2、5、6,並且有 11、13 和 14 的選項。配置 B 可能需要 1、2、3、9,並且有 12、19 和 20 的選項。依此類推.

我為每個安裝程序都有一個組件。 理想情況下,我希望使用 Types 進行配置,但我無法弄清楚如何使某些組件成為必需,而其他組件是可選的(如果可能,請告訴我)。 因此,目前我只有一個“自定義”類型並使用允許您指定配置的自定義向導頁面。 根據選擇,我使用代碼來檢查和禁用(因此它們不能被取消選擇)所需的組件,同時仍然允許選擇可選的組件。

總的來說,它工作得很好,但我希望只顯示適用於所選配置的組件。 因此,使用上面的示例,對於配置 A,組件頁面將顯示 1、2、5、6 選中和禁用,而 11、13 和 14 未選中和啟用。 是否可以保留定義的所有組件,而只隱藏不適用的組件? 或者也許定義多個組件頁面,但只顯示該配置的一個?

我在網上找到了這個解決方案,但是由於用戶可能會點擊后退按鈕,因此我可以刪除組件但不能重新添加它們的想法似乎不是一個好的選擇。

不,組件列表 ( ComponentsList ) 僅在安裝程序啟動時填充一次。 它不能在運行時更改。

有了如此復雜的設置,您最好放棄內置組件功能並構建自己的自定義“組件”頁面。 或者您可以保留內置的“組件”頁面,只需隱藏標准組件列表並構建您自己的。

創建類似的布局,但在安裝“類型”更改時重新創建“組件”列表。

您可以使用Check參數FilesRegistry等部分條目綁定到自定義組件。 或者您可以根據可見自定義組件列表中的選擇更新真正的隱藏組件列表。

暫無
暫無

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

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