在正常情况下安装包会有“欢迎界面”,“安装目录选择界面”等等。假如现在安装包支持通过命令行参数传入“安装目录”(如setup.exe /installdir F:\test
),需要实现在检测到命令行参数中已经指定了安装目录的情况下,则跳过“欢迎界面”和“安装目录选择界面”。
HOW TO DO?
在页面插入宏之前通过MUI_PAGE_CUSTOMFUNCTION_PRE
来指定pre处理函数,在该函数中来判断是否需要跳过:
# 安装程序欢迎页面
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipPage
!insertmacro MUI_PAGE_WELCOME
# 安装程序显示安装目录选择页面
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipPage
!insertmacro MUI_PAGE_DIRECTORY
SkipPage
函数定义如下:
Function SkipPage
StrLen $R1 $paramInstllDir
${If} $R1 > 0
Abort
${EndIf}
FunctionEnd
$paramInstllDir
变量存储了命令行传入的安装目录,可以通过下面的方式来解析命令行参数:
!macro ParseParameters
${GetParameters} $R0
${GetOptio