0
我想爲我正在使用的插件創建一個NSIS安裝程序,但我希望它可以作爲「免提」。具體來說,我不希望在安裝程序結束時點擊「此處關閉」;相反,我希望許可證出來,當他們點擊「同意」時,它會安裝和關閉。即使在靜音模式下,是否可以在nsis安裝程序中顯示許可證對話框?
我可以使用靜默安裝來執行此操作,但許可證頁面不會顯示;除了許可證頁面之外,是否有辦法讓安裝保持沉默?
我想爲我正在使用的插件創建一個NSIS安裝程序,但我希望它可以作爲「免提」。具體來說,我不希望在安裝程序結束時點擊「此處關閉」;相反,我希望許可證出來,當他們點擊「同意」時,它會安裝和關閉。即使在靜音模式下,是否可以在nsis安裝程序中顯示許可證對話框?
我可以使用靜默安裝來執行此操作,但許可證頁面不會顯示;除了許可證頁面之外,是否有辦法讓安裝保持沉默?
在靜音模式下,只有.onInit和Sections被執行,頁面不會執行,並且無法執行它們。爲了解決這個問題,你必須用「自定義靜音模式」來僞裝它:
!include LogicLib.nsh
var mySilent
Function .onInit
${If} ${Silent}
StrCpy $mySilent 1
SetAutoClose true ;Auto close InstFiles page
SetSilent normal
${EndIf}
FunctionEnd
Function SkipInSilent
${IfThen} $mySilent <> 0 ${|} Abort ${|}
FunctionEnd
Page License
Page Directory SkipInSilent
Page Components SkipInSilent
Page InstFiles
Section
SectionEnd
我實際上並不想要做一個「非靜音」模式,我只是不想要不要展示EULA;我希望它在所有情況下表現得都一樣。如果我使用您提供的示例,如何讓它不等我完成後單擊「關閉」按鈕? (InstFiles通常等待點擊,不是?) – taxilian
@Taxilian:刪除.onInit中的if check,但保持SetAutoClose true和SetSilent正常 – Anders
ahh;我錯過了「SetAutoClose」位。謝謝! – taxilian