在 NextInstaller 中目前支持两种脚本,分别为 VBScript 和 .ini , VBSript 的功能很强又有很高的灵活性,但 缺点就是需要 MS 的 WHS 环境,并在安装前NextInstaller 会动注册其核心组件(在安装结束后,系统会自动清理),这样的话,如果当前 Windows 用户没有一定的权限的话就会无法注册组件,这样的话安装就会无法正常进行了.
当然在一般情况下运行Instll的Window 用户都是有很高的权限的,否则也就不能在注册表中登记反安装信息
但对于一些特殊的安装盘,我们如果没必要设罢反安装信息,同时还要可以让 Windows 的一般用户可以运行该Install 我们就不能使用 VBSript 做这过程控制了,这时我们就可以选择 .ini 进行过程控制
但 .ini 的特点就是简单,同时也说时功能弱小,无法进行判断和跳转,为了解决这个问题 NextIntaller 2.3 专门提供了 AtScript 的支持
下面我们对 AtScript 进行一下说明,
Section OnInstall
SdImage:
Install.DoDialog SdImage
DataCmpGoto @@LastDialogState,"Cancel",Cancel
SdWelcome:
Install.DoDialog SdWelcome
DataCmpGoto @@LastDialogState,"Cancel",Cancel
SdLicense:
Install.DoDialog SdLicense
DataCmpGoto @@LastDialogState,"Cancel",Cancel
DataCmpGoto @@LastDialogState,"Back",SdWelcome
SdSetDestPath:
Install.DoDialog SdSetDestPath
DataCmpGoto @@LastDialogState,"Cancel",Cancel
DataCmpGoto @@LastDialogState,"Back",SdLicense
SdCopyFile:
Install.DoDialog SdCopyFile
DataCmpGoto @@LastDialogState,"Cancel",Cancel
DataCmpGoto @@LastDialogState,"Back",SdSetDestPath
SdCopyFile:
Install.DoDialog SdFinish
Exit Section
Cancel:
End Section
Section OnModify
sdModifySetup:
Install.DoDialog sdModifySetup
DataCmpGoto @@LastDialogState,"Cancel",Cancel
DataCmpGoto @@Install.SetupMode,"SM_RESTORE",SdCopyFile
DataCmpGoto @@Install.SetupMode,"SM_REMOVE",UnInstall
SdComponent:
Install.DoDialog SdComponent
DataCmpGoto @@LastDialogState,"Cancel",Cancel
DataCmpGoto @@LastDialogState,"Back",sdModifySetup
SdCopyFile:
Install.DoDialog SdCopyFile:
DataCmpGoto @@LastDialogState,"Cancel",Cancel
SdCopyFile:
Install.DoDialog SdFinish
Exit Section
Cancel:
Exit Section
UnInstall:
Install.UnInstall
End Section
1. 其中 Section OnInstall, 和 Section OnModify 是两个入口,如果是第一次安装系统会运行 OnInstall, 否则会运行 OnModify
2. Install.DoDialog SdImage 的功能就是弹出步骤 SdImage
3. DataCmpGoto @@LastDialogState,"Cancel",Cancel
DataCmpGoto 的功能是:两个数据进行比较,如果相同则跳转,上例是跳转,到 Cancel
@@LastDialogState 是一个系统变量,存放的是系统啊后一个对话框处理状态(字符串),如:“Cancel" , "Back" , "Next" , "Finish", "Yes" , "No" ...
4. Install.UnInstall
进行反安装