关于Bucket的制作官方只提供了一个模板仓库,并没有详细的文档来描述各个字段如何配置,这对于自制Bucket带来了极大的困扰,所以我自己看官方Bucket的示例来总结了一些东西。
今天冲浪的时候发现有官方有字段文档甚至还很全面,没有必要看这篇博客🤡🤡
仓库结构
模板仓库主要有四个东西,bin
、bucket
、deprecated
、scripts
,其中bin
是存放可执行文件的目录,bucket
是存放app的配置文件,deprecated
和scripts
用途暂时不明。我们写应用json只需要关注bucket文件夹即可 (应该)。
Bucket
下面是官方json示例及解释
{ "version": "",
"description": "",
"homepage": "",
"license": "",
"notes": "",
"architecture": { "64bit": { "url": "", "hash": "" }, "32bit": { "url": "", "hash": "" }, "arm64": { "url": "", "hash": "" } },
"pre_install": "",
"installer": { "script": "" },
"post_install": [ "", "" ],
"uninstaller": { "script": "" },
"bin": "",
"env_add_path": [ "", "" ],
"persist": [ "", "" ],
"checkver": { "url": "", "regex": "" },
"autoupdate": { "architecture": { "64bit": { "url": "" }, "32bit": { "url": "" }, "arm64": { "url": "" } }, "hash": { "url": "", "regex": "" } } }
|
url
根据软件包的分发格式,需要对url进行一些修改。
- zip,一般不需要修改,有的需要在url后面加上
#/dl.7z
- exe,一般需要加上
#/dl.7z
,比如旧版qq
- 其余格式如nupkg等需要自行探究,如果自带
innosetup
可以添加"innosetup": true
checkver
如果软件包在GitHub上,检查更新就很简单,无需使用正则解析url来检查版本更新。
"checkver": "github"
"checkver": { "github": "https://github.com/xxxxx" }
|
extract_dir
这个字段在官方示例没有出现,作用是配置软件包解压后到可执行文件的目录,如果没有可以不写,但是压缩包嵌套了文件夹就必须写这个字段。
"architecture": { "64bit": { "url": "http://static.azul.com/zmc/bin/zmc8.3.1.81-ca-win_x64.zip", "hash": "7028ce2dfc9791efd2815a02d2f2837871128f6c4ba1082c34c605f51e087bff", "extract_dir": "zmc8.3.1.81-ca-win_x64\\Azul Mission Control" } }
|
shortcuts
shortcuts
这个字段在官方示例没有出现,作用是配置开始菜单里的快捷方式,上下分别为可执行文件名、文件夹名。
"shortcuts": [ [ "Bin\\QQScLauncher.exe", "QQ" ] ],
|