在 InstallAide(NextInstaller) 中使用AtSript 的说明

来源:互联网 发布:医院网络主管招聘 编辑:程序博客网 时间:2024/05/14 13:02

在 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

  进行反安装