我使用NSIS脚本为我的应用程序创建了exe文件。在我的脚本中,我检查了所选目录的可用空间。
1.如果所选目录没有所需空间,则用户想要更改目录。
2.再次更改目录页面中的目录后,想要检查空闲空间。当所选目录的所需空间可用时,只进入下一页。 所以它将在循环语句中。我尝试了以下脚本
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.如何创建用户定义的目录页?
2.可以多次调用页面目录或MUI_PAGE_DIRECTORY吗?
由于
答案 0 :(得分: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