2013-08-29 55 views
0

我已經使用NSIS腳本爲我的應用程序創建了Exe文件。在我的腳本中,我檢查了所選目錄的可用空間。如何在NSIS中的函數內調用目錄頁面?

1.如果選定的目錄沒有所需的空間,則用戶想要更改目錄。

2.在更改目錄頁面中的目錄後,再次檢查空閒空間。當所需的空間可用於所選目錄時,僅進入下一頁。 所以它會在循環statement.I曾嘗試下面的腳本

page custom checking 
Function checking 
Push "\" 
push $InstallDir 
Call SplitFirstStrPart 
pop $R0 
${DriveSpace} $R0 "/D=F /S=G" $R0 
${While} $R0 <= 2 
    MessageBox MB_OK "Expected free space is not availble" 
    call directory 
${EndWhile} 
Function directory 

--Here i want to define directory page-- 
[page directory] we cant use this here 
call checking 
FunctionEnd 

1.How創建用戶定義的目錄頁面?

2.是否可以多次調用頁面目錄或MUI_PAGE_DIRECTORY?

感謝

回答

0

你不能從一個函數調用一個頁面,但你可以通過調用頁面PRE回調Abort跳過一個頁面,你也可以jump to any page

你可以擁有所有類型頁的多頁:

!include MUI.nsh 
Var dir1 
Var dir2 
Function .onInit 
StrCpy $dir1 c:\default1 
StrCpy $dir2 c:\default2 
FunctionEnd 
!define MUI_DIRECTORYPAGE_VARIABLE $dir1 
!insertmacro MUI_PAGE_DIRECTORY 
!define MUI_DIRECTORYPAGE_VARIABLE $dir2 
!insertmacro MUI_PAGE_DIRECTORY 
!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_LANGUAGE English 
Section 
DetailPrint $dir1 
DetailPrint $dir2 
SectionEnd 
相關問題