跳到主要内容

安装游戏

危险

本库大部分方法都为异步,且需要管理员权限运行

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

用于监听安装过程中的进度与结果。

属性类型说明
CancellationTokenCancellationToken取消操作的 Token
downloadProgressIProgress<DownloadProgress>下载进度回调
registerProcess_percentAction<float>部署注册进度(0~100)
result_callbackAction<bool, string>安装结果回调(成功/失败 + 消息)
install_statesAction<InstallStates>安装状态变更通知

InstallStates

表示安装过程中的状态枚举。

说明
Downloading正在下载
Extracting正在解压
Registering正在注册应用
Completed安装完成
Failed安装失败
Canceled用户取消