YStudio Y++

自动更新类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库。路径:支持库 → 扩展类库 → 自动更新类。

类型名写「自动更新类」。声明时自动创建。

用户程序自更新(检查清单 → 下载 zip → 解压覆盖)。不是 YStudio IDE 更新器。开通票位后才能编译;发行程序不再验票。

能力包:plugins/supportlib.autoupdate/。

清单格式

UTF-8 JSON:

{
  "version": "1.0.1",
  "url": "https://example.com/app-1.0.1.zip",
  "notes": "修复若干问题",
  "sha256": "可选十六进制摘要"
}

版本按点分数字比较;url 须指向 zip。解压依赖系统自带 tar(Windows 10+)。有 sha256 时检查后写入期望校验,应用 前会比对。

快速开始

自动更新类 更
更.置清单地址("https://example.com/update.json")
更.置当前版本("1.0.0")
如果 (!更.一键更新(真)) {
    输出(更.取错误())
    返回
}
如果 (更.有更新()) {
    本窗关闭()   // 重启=真时需退出以便替换 exe
}

分步 + 取消

如果 (!更.检查()) { 输出(更.取错误()); 返回 }
如果 (!更.有更新()) { 输出("已是最新"); 返回 }
更.下载()
循环 (更.是否下载中()) {
    输出("进度 " + 到文本(更.取进度()))
    延时(200)
}
如果 (!更.是否下载成功()) {
    输出(更.取错误())
    返回
}
更.校验包()
更.应用(假)   // 不解压后重启

命令摘要

方法 说明
置清单地址 / 置当前版本 / 置安装目录 / 置超时 配置
置/取忽略证书 HTTPS 自签
置/取校验 / 校验包 SHA-256
检查 / 有更新 / 取新版本 / 取更新说明 / 取下载地址 清单
下载 / 同步下载 / 取消下载 下载
取进度 / 是否下载中 / 是否下载完成 / 是否下载成功 / 取包路径 状态
应用 / 一键更新 解压/一键
取错误 失败原因