安装游戏
危险
本库大部分方法都为异步,且需要管理员权限运行
var bedrockCore = new BedrockCore();
///请先调用init
bedrockCore.Init();
//获取版本 使用MCAPPX(https://www.mcappx.com/)api
List<VersionInformation> versionInformations = VersionHelper.GetVersions("https://data.mcappx.com/v1/bedrock.json");
///安装CallBack详见下方或者函数列表
InstallCallback callback = new InstallCallback()
{
zipProgress = new Progress<ZipProgress>((progress =>
{
Console.WriteLine(progress.ToString());
})),
CancellationToken = cts.Token,
downloadProgress = (new Progress<DownloadProgress>((p =>
{
if (p.TotalBytes > 0)
{
Console.Write($"\r下载进度: {p.ProgressPercentage:F2}% ({p.DownloadedBytes / (1024.0 * 1024):F2} MB / {p.TotalBytes / (1024.0 * 1024):F2} MB)");
}
else
{
Console.Write($"\r已下载: {p.DownloadedBytes / (1024.0 * 1024):F2} MB (总大小未知)");
}
}))),
registerProcess_percent = ((s, u) =>
{
Console.WriteLine(s + u);
}),
result_callback = ((status, exception) =>
{
}),
install_states = (states =>
{
Console.WriteLine(states); ;
})
};
///安装游戏详见下方或者函数列表
bedrockCore.InstallVersion(versionInformations[0].Variations[0],VersionType.Release,"./a.appx","元神" ,Path.Combine(Directory.GetCurrentDirectory(),"testDir"),"./1.appx", callback);
函数参数结构
回调与状态
InstallCallback
用于监听安装过程中的进度与结果。
属性 | 类型 | 说明 |
---|---|---|
CancellationToken | CancellationToken | 取消操作的 Token |
downloadProgress | IProgress<DownloadProgress> | 下载进度回调 |
registerProcess_percent | Action<float> | 部署注册进度(0~100) |
result_callback | Action<bool, string> | 安装结果回调(成功/失败 + 消息) |
install_states | Action<InstallStates> | 安装状态变更通知 |
InstallStates
表示安装过程中的状态枚举。
值 | 说明 |
---|---|
Downloading | 正在下载 |
Extracting | 正在解压 |
Registering | 正在注册应用 |
Completed | 安装完成 |
Failed | 安装失败 |
Canceled | 用户取消 |