[英]set the font of a custom label added on a custom dialog page in nsis installer
[英]Calling PRE functions of MUI in NSIS installer, skipping pages/dialogs in NSIS installer
是否可以僅在需要時調用 MUI 對話框的 PRE function?
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipComponentsPage
!insertmacro MUI_PAGE_COMPONENTS
Function SkipComponentsPage
Abort
MessageBox MB_OK "You chose to UPDATE your current version"
FunctionEnd
//默認勾選此部分,即用戶將無法選擇 select 或取消選擇此部分,這必須執行..........怎么做?隱藏它,我在其名稱中包含一個 - 符號。 它的名字是“強制性的”
Section "-mandatory" SEC_UPDATE
#Do update............
SectionEnd
我在 NSIS 安裝程序的自定義對話框頁面上有兩個 RadioButton(演示和更新)。 我希望當用戶選擇安裝更新(選擇更新單選按鈕)時,跳過組件頁面,並自動檢查並執行指定的部分。
但是,如果用戶選擇安裝 DEM(選擇 DEMO 單選按鈕),則不會跳過組件頁面,並且用戶可以在該組件頁面上選中或取消選中部分。
始終調用頁面回調,但您可以將邏輯放入 function 中:
...
section "" SEC_UPDATE
sectionend
Function SkipComponentsPage
!insertmacro UnSelectSection ${SEC_UPDATE} ; Don't include update with demo by default?
${If} $InstallType == UPDATE
!insertmacro SelectSection ${SEC_UPDATE}
Abort
${EndIf}
Functionend
我不清楚您是否希望用戶能夠在演示模式下選擇更新,但如果您想強制更新,您可以將該部分設為只讀:
section "Update" SEC_UPDATE
SectionIn RO
sectionend
(並從 pre 函數中刪除 UnSelectSection 調用)
...或者只是像您建議的那樣使用 -name 前綴使該部分不可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.