脚本对象

脚本可以使用许多不同的对象与 Silent Install Builder 安装程序交互。 例如,会话对象表示一个安装会话,提供有关已执行操作的信息并让脚本与用户交互。

会话对象

Session 是一个全局对象,可以从脚本操作或条件代码中访问。

数据

定义用于在会话中跨操作传递一些数据的 JavaScript 对象。

//Defines new property and set the value
session.Data.myProperty = 42;
//Retrieve the property value
//This can be called from another action or condition
session.Log(session.Data.myProperty);

ExtArgs

返回通过 /p 参数传递给安装程序的命令行参数。 这是一个只读属性。

//Get the command line arguments
if(session.ExtArgs){
    session.Log("The arguments passed to the package: " + session.ExtArgs);
}

LastActionResult

获取先前执行的操作的结果。 这是一个只读属性。

返回

  • ActionResult 对象包含有关操作的详细信息。
//Get the result of prev. executed action
var res = session.LastActionResult;
if(res && res.Errors){
    session.Log(res.ActionName + " failed. error: " + res.Errors);
}

Log()

将日志行写入日志输出。

参数

  • string 要记录的字符串

示例

session.Log("Action started");
		
	

UserMessage()

显示带有警告图标和确定按钮的消息框。

参数

  • string 要显示的消息

示例

session.UserMessage("Action failed");
	

Sib 对象

Sib 是一个全局对象,可以从脚本操作或条件代码访问。 它提供了 Silent Install Builder 安装程序的核心功能。 包含对进程、文件系统和注册表进行操作的方法。

ExecuteProcess()

通过指定应用程序的路径和一组命令行参数来启动进程。

参数

  • path(字符串)要执行的文件路径。
  • args(字符串)命令行参数。

返回

  • ActionResult 对象包含有关操作的详细信息。

示例

//Run Powershell script file and get the exit code.
var res = Sib.ExecuteProcess("powershell.exe", "-ExecutionPolicy Bypass -file test.ps1");
if(res.ExitCode != 0){
    session.Log(res.ActionName + " failed.);
}

ExecuteProcessNoWait()

通过指定应用程序的路径和一组命令行参数来启动进程。 无需等待过程完成。

参数

  • path(字符串)要执行的文件路径。
  • args(字符串)命令行参数。

返回

  • ActionResult 对象包含有关操作的详细信息。

示例

//Run Notepad and open the file
Sib.ExecuteProcessNoWait("notepad.exe", "log.txt");

ActionResult 对象

表示方法 ExecuteProcess() 和 LastActionResult 属性的返回值的帮助程序对象。

ActionName

执行的动作的名称。

返回

  • 字符串

ExitCode

执行进程的退出代码。

返回

  • int

ConsoleOut

执行过程的控制台输出。

返回

  • 字符串

错误

包含错误字符串。 如果没有错误发生,则值为空。

返回

  • 字符串