我創建了一個非常簡單的安裝程序,它不添加任何註冊表項或任何東西。它只是安裝一些python可執行程序的一些文件。安裝程序僅包含1個步驟,它詢問安裝目錄,然後安裝軟件。NSIS安裝程序:在安裝前在目錄頁面運行一個函數
問題:如果程序的早期版本的安裝或由用戶選擇的目錄中包含它的文件,我想通過運行一個函數CleanInstallationDirectory
安裝開始之前做一些檢查。
我的問題是:我怎樣才能運行該功能,當用戶安裝進度開始後選擇了目錄和不?我想運行該函數,並根據該函數的返回或基於該函數的內部調用顯示一條消息,確認該目錄中的所有內容都將被刪除,然後如果用戶確認,則安裝將開始。
替代:如果這是不可能做到這一點,那麼我用下面的確定:如果用戶說,在安裝過程中「否」,安裝程序應該回到目錄頁面,詢問關於不同目錄。
下面是當前NSIS安裝腳本我有:
Function CleanInstallationDirectory
## do stuff
FunctionEnd
Name "My Software"
OutFile "GNOMEAcqInstaller.exe"
InstallDir "D:\MySoftware"
RequestExecutionLevel admin
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Section "Installation" InstallSection
SetOutPath "$INSTDIR"
Call CleanInstallationDirectory
File /r "MyFiles\*"
SectionEnd
LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
謝謝。