diff --git a/website/docs/doc/Component Introduction.md b/website/docs/doc/Component Introduction.md
index b24395b..005a5f2 100644
--- a/website/docs/doc/Component Introduction.md
+++ b/website/docs/doc/Component Introduction.md
@@ -6,18 +6,18 @@ sidebar_position: 2
![](imgs\GeneralUpdate_h2.png)
-### 1.GeneralUpdate是什么?
+### 1. What is GeneralUpdate?
-GeneralUpdate是一款基于.NET Standard2.0开源多平台自动升级组件。一个小小star是您对我最大的支持,让我们保持更新维护的动力。
+GeneralUpdate is an open-source, cross-platform automatic update component based on .NET Standard 2.0. A small star is your greatest support, motivating us to keep updating and maintaining.
-##### 本项目开源仓库地址
+##### Project Open Source Repository Address
- https://github.com/GeneralLibrary/GeneralUpdate
- https://gitee.com/GeneralLibrary/GeneralUpdate
-##### 相关开源项目仓库地址
+##### Related Open Source Project Repository Addresses
-当前项目GeneralUpdate
+Current Project GeneralUpdate
- https://github.com/GeneralLibrary/GeneralUpdate
- https://gitee.com/GeneralLibrary/GeneralUpdate
@@ -26,39 +26,38 @@ MAUI GeneralUpdate.Maui
- https://github.com/GeneralLibrary/GeneralUpdate.Maui
-打包工具项目地址GeneralUpdate.Tools
+Packaging Tool Project Address GeneralUpdate.Tools
- https://github.com/GeneralLibrary/GeneralUpdate.Tools
- https://gitee.com/GeneralLibrary/GeneralUpdate.Tools
-示例项目地址GeneralUpdate-Samples
+Sample Project Address GeneralUpdate-Samples
- https://github.com/GeneralLibrary/GeneralUpdate-Samples
-
- https://gitee.com/GeneralLibrary/GeneralUpdate-Samples
-##### 帮助文档 #####
+##### Help Documentation #####
-- 讲解视频: https://www.bilibili.com/video/BV1aX4y137dd
-- 官方网站: https://www.justerzhu.cn/
-- 快速启动: https://mp.weixin.qq.com/s/pRKPFe3eC0NSqv9ixXEiTg
-- 使用教程视频:https://www.bilibili.com/video/BV1FT4y1Y7hV
-- 帮助文档&官方网站源码仓库:https://github.com/GeneralLibrary/GeneralUpdate-Samples/tree/main/website/doc
+- Video Tutorial: https://www.bilibili.com/video/BV1aX4y137dd
+- Official Website: https://www.justerzhu.cn/
+- Quick Start: https://mp.weixin.qq.com/s/pRKPFe3eC0NSqv9ixXEiTg
+- Usage Tutorial Video: https://www.bilibili.com/video/BV1FT4y1Y7hV
+- Help Documentation & Official Website Source Repository: https://github.com/GeneralLibrary/GeneralUpdate-Samples/tree/main/website/doc
-##### 沟通交流
+##### Communication and Exchange
-本开源项目目前遵循MIT开源协议开源,可免费用于商用。在免费沟通渠道会不定期回答各位开发者的 问题。所有的社区捐赠将用于开源项目的发展建设。代码贡献者将会用捐赠资金进行奖励。
+This open-source project currently follows the MIT open-source license and can be used for commercial purposes for free. Free communication channels will periodically address developers' questions. All community donations will be used for the development and construction of open-source projects. Code contributors will be rewarded with donation funds.
-- 免费问题解答: https://github.com/GeneralLibrary/GeneralUpdate/issues
-- 免费技术交流: .NET技术交流群 341349660
-- 开源项目使用讨论:GeneralUpdate交流群 748744489
-- 关于开源项目一对一问答需付费咨询。
+- Free Q&A: https://github.com/GeneralLibrary/GeneralUpdate/issues
+- Free Technical Exchange: .NET Technology Exchange Group 341349660
+- Open Source Project Usage Discussion: GeneralUpdate Exchange Group 748744489
+- One-on-one Q&A for open-source projects requires paid consultation.
-### 商务合作
+### Business Cooperation
-定制化二次开发,技术咨询,开源项目打赏以下是企业咨询、报价、商务合作联系方式(加好友请注明来意拒绝闲聊,推荐加微信)。
+Customized secondary development, technical consultation, open-source project rewards. Below are the contact details for enterprise inquiries, quotations, and business cooperation (please indicate your purpose when adding as a friend, casual chat is declined, adding on WeChat is recommended).
![](imgs\contact.png)
@@ -66,118 +65,114 @@ MAUI GeneralUpdate.Maui
-### 2.统一语言(Unifying Language)
-
-在开始使用GeneralUpdate之前我们需要先知道体系中的一些基础概念。
-
- ![](imgs/client_server_upgrade.jpg)
-
-- Client:是指你的主应用程序,是被更新的客户端。也可理解为是公司的产品。
-- Upgrade:是指升级程序,它将是一个独立的进程。需要和Client放在同一级目录下,在使用(或编码) 的过程中不可以和任何业务或设计关联、必须保持独立引用。
-- Server:是指服务端应用(ASP.NET)将提供版本更新信息交互、版本验证功能。
-- GeneralUpdate.Tool:是本开源项目提供的打包工具,用于生成更新包(7z和zip)。
-- UpdatePacket:顾名思义就是更新包,更新包里的内容都是新旧版本中具有文件内容差异补丁 (.pacth)或新增文件。
-- SQL : 目前sql脚本是基于Mysql数据库生成
+### 2. Unifying Language
+Before using GeneralUpdate, we need to understand some basic concepts in the system.
+![](imgs/client_server_upgrade.jpg)
-#### 版本号执行标准
+- Client: Refers to your main application, which is the client to be updated. It can also be understood as the company's product.
+- Upgrade: Refers to the upgrade program, which will be an independent process. It needs to be placed in the same directory as the Client and should not be associated with any business or design during use (or coding), maintaining independent reference.
+- Server: Refers to the server application (ASP.NET) that will provide version update information interaction and version verification functions.
+- GeneralUpdate.Tool: Is the packaging tool provided by this open-source project, used to generate update packages (7z and zip).
+- UpdatePacket: As the name suggests, it is an update package. The contents of the update package are patch files (.patch) or new files with content differences between the new and old versions.
+- SQL: Currently, SQL scripts are generated based on the MySQL database.
-- Nuget版本管理参考标准:https://docs.microsoft.com/zh-cn/nuget/concepts/package-versioning
-- 应用程序集版本管理参考标准:https://docs.microsoft.com/zh-cn/dotnet/standard/assembly/versioning (被组件更新的客户端程序,说通俗点就是你公司的产品;组件的操作将按照这个标准执行。)
-- 每次迭代除了更新AssemblyInfo中的版本号,还需要修改DLL文件的版本号。
+#### Version Number Execution Standards
-### 3.GeneralUpdate提供什么?
+- Nuget Version Management Reference Standard: https://docs.microsoft.com/zh-cn/nuget/concepts/package-versioning
+- Application Assembly Version Management Reference Standard: https://docs.microsoft.com/zh-cn/dotnet/standard/assembly/versioning (The client program updated by the component, in simple terms, is your company's product; the component's operation will be executed according to this standard.)
+- In each iteration, besides updating the version number in AssemblyInfo, the version number of the DLL file also needs to be modified.
-##### 组件功能
-| 功能 | 是否支持 | 备注 |
-| -------------- | -------- | ------------------------------------------------------------ |
-| 断点续传 | 支持 | 单次更新失败时,下次一次启动时继续上一次更新下载更新包内容。(引用组件默认生效) |
-| 逐版本更新 | 支持 | 客户端当前版本如果与服务器相差多个版本,则根据多个版本的发布日期逐个更新。(引用组件默认生效) |
-| 二进制差分更新 | 支持 | 对比新老版本通过差分算法生成补丁文件。(引用组件默认生效) |
-| 增量更新功能 | 支持 | 相比上一个版本只更新当前修改过的文件,并且删除当前版本不存在的文件。(引用组件默认生效) |
-| 强制更新 | 支持 | 打开客户端之后直接强制更新。 |
-| 多分支更新 | 支持 | 当一个产品有多个分支时,需要根据不同的分支更新对应的内容。 |
-| 最新版本推送 | 支持 | 基于Signal R实现,推送当前最新版本。 |
-| 多语言 | 待验证 | 也可将本组件编写为控制台程序,作为更新“脚本”。更新其他语言的应用程序。 |
-| 跳过更新 | 支持 | 支持注入弹窗让用户决定是否更新本次发布,服务端决定强制时更新不生效。 |
-| 相互升级 | 支持 | 主程序可更新升级程序,升级程序可更新主程序。 |
-| 黑名单 | 支持 | 在更新过程中会跳过黑名单中的文件列表和文件扩展名列表。 |
-| OSS | 支持 | 极简化更新,是一套独立的更新机制。只需要在文件服务器中放置version.json的版本配置文件。组件会根据配置文件中的版本信息进行更新下载。 |
-| 回滚、备份 | 支持 | 更新之前会将客户端本地文件备份,如果客户端启动失败或崩溃则回滚覆盖。 |
-| 驱动更新 | 待验证 | 更新之前会将驱动备份到本地,如果客户端启动失败或崩溃则回滚覆盖。 |
-| 自定义方法列表 | 支持 | 注入一个自定义方法集合,该集合会在更新启动前执行。执行自定义方法列表如果出现任何异常,将通过异常订阅通知。(推荐在更新之前检查当前软件环境) |
-| AOT | 支持 | 支持AOT编译发布。 |
+### 3. What does GeneralUpdate provide?
+##### Component Functions
-##### 打包工具
+| Function | Supported | Remarks |
+| -------------------------- | -------------- | ------------------------------------------------------------ |
+| Resume Download | Yes | When a single update fails, continue with the previous update download content on the next startup. (Enabled by default when referencing the component) |
+| Incremental Update | Yes | Update only the currently modified files compared to the previous version, and delete the files that do not exist in the current version. (Enabled by default when referencing the component) |
+| Binary Differential Update | Yes | Generate patch files by comparing new and old versions using differential algorithms. (Enabled by default when referencing the component) |
+| Incremental Update | Yes | Update only the currently modified files compared to the previous version, and delete the files that do not exist in the current version. (Enabled by default when referencing the component) |
+| Forced Update | Yes | Directly force an update after opening the client. |
+| Multi-branch Update | Yes | When a product has multiple branches, update the corresponding content based on different branches. |
+| Latest Version Push | Yes | Implemented based on Signal R, push the current latest version. |
+| Multi-language | To be verified | The component can also be written as a console program, serving as an update "script" for applications in other languages. |
+| Skip Update | Yes | Support injecting pop-ups to let users decide whether to update this release, with the server deciding that forced updates are not effective. |
+| Mutual Upgrade | Yes | The main program can update the upgrade program, and the upgrade program can update the main program. |
+| Blacklist | Yes | During updates, files and file extensions in the blacklist will be skipped. |
+| OSS | Yes | Simplified update, an independent update mechanism. Just place the version configuration file version.json on the file server. The component will update and download based on the version information in the configuration file. |
+| Rollback, Backup | Yes | Before updating, local files on the client will be backed up. If the client fails to start or crashes, it will roll back and overwrite. |
+| Driver Update | To be verified | Before updating, drivers will be backed up locally. If the client fails to start or crashes, it will roll back and overwrite. |
+| Custom Method List | Yes | Inject a custom method collection that will be executed before the update starts. If any exceptions occur during the execution of the custom method list, they will be notified through exception subscription. (Recommended to check the current software environment before updating) |
+| AOT | Yes | Support AOT compilation and release. |
-GeneralUpdate.PacketTool使用.NET 8编写的桌面端打包程序。https://github.com/GeneralLibrary/GeneralUpdate.Tools
-| 功能 | 支持 | 备注 |
-| ------------------ | ------ | ------------------------------------------------------------ |
-| 差分更新包生成 | 是 | 根据上一个版本和当前版本进行对比找出需要更新的文件或新添加文件。 |
-| 自动上传更新包 | 开发中 | 将生成好的差分更新包自动上传至服务器。 |
-| 可编辑选择差分文件 | 开发中 | 可视化查看差分包的打包内容,并可选择打包文件。 |
+##### Packaging Tool
+GeneralUpdate.PacketTool is a desktop packaging program written in .NET 8. https://github.com/GeneralLibrary/GeneralUpdate.Tools
-### 5.GeneralUpdate支持什么?
+| Function | Supported | Remarks |
+| ---------------------------------------- | -------------- | ------------------------------------------------------------ |
+| Differential Update Package Generation | Yes | Compare the previous version and the current version to find the files that need to be updated or newly added files. |
+| Automatic Upload of Update Packages | In development | Automatically upload the generated differential update packages to the server. |
+| Editable Selection of Differential Files | In development | Visualize the packaging content of the differential package and select packaging files. |
-##### .NET框架
-| 框架名称 | 是否支持 |
-| -------------------------- | -------- |
-| .NET Core 2.0 | 支持 |
-| .NET 5 ... to last version | 支持 |
-| .NET Framework 4.6.1 | 支持 |
-##### UI框架
+### 5. What does GeneralUpdate support?
-| UI框架名称 | 是否支持 |
-| ---------- | --------------------- |
-| WPF | 支持 |
-| UWP | 商店模式下不可更新 |
-| MAUI | 目前仅支持Android平台 |
-| Avalonia | 支持 |
-| WinUI | 支持 |
-| Console | 支持 |
-| WinForms | 支持 |
+##### .NET Framework
-##### 操作系统
+| Framework Name | Supported |
+| -------------------------------- | --------- |
+| .NET Core 2.0 | Yes |
+| .NET 5 ... to the latest version | Yes |
+| .NET Framework 4.6.1 | Yes |
-| 操作系统名称 | 是否支持 |
-| ------------------ | -------- |
-| Windows | 支持 |
-| Linux | 支持 |
-| Android | 支持 |
-| 麒麟V10(飞腾S2500) | 支持 |
-| 麒麟V10(x64) | 支持 |
-| Ubuntu | 支持 |
-| 龙芯(Loongnix) | 待验证 |
+##### UI Framework
+| UI Framework Name | Supported |
+| ----------------- | ---------------------------------------- |
+| WPF | Yes |
+| UWP | Cannot update in store mode |
+| MAUI | Currently only supports Android platform |
+| Avalonia | Yes |
+| WinUI | Yes |
+| Console | Yes |
+| WinForms | Yes |
+##### Operating System
-### 赞助一下
+| Operating System Name | Supported |
+| ------------------------- | -------------- |
+| Windows | Yes |
+| Linux | Yes |
+| Android | Yes |
+| Kirin V10 (Phytium S2500) | Yes |
+| Kirin V10 (x64) | Yes |
+| Ubuntu | Yes |
+| Loongson (Loongnix) | To be verified |
-尊敬的赞助者:
-该项目以作者为主力设计、维护的自动升级组件。这个项目的目标是为全球的开发者和技术爱好者提供一个共享、学习和创新的平台,我们致力于推动技术的发展和共享知识的力量。
-但是,我们需要您的支持。您的赞助将使我们能够进一步提高项目的质量,增加更多的功能,提供更好的用户体验。而且,作为回报,我们会在项目网站上展示您的公司标志,以表达我们对您的感激之情。
+### Support Us
-这是一个绝佳的机会,不仅可以推动技术的进步,也可以提高您的品牌知名度和社区影响力。我们相信,您的赞助将会对这个开源项目产生深远的影响。此外所有的赞助将用于购买GeneralUpdate实物周边产品奖励给项目贡献代码的社区伙伴,如果有实际贡献的小伙伴可以联系下方邮箱与我取得联系。
+Dear Sponsors,
-目前项目的大小已经超出个人维护的精力范围之外设计维护实属不易,期待您的积极参与,让我们携手共创未来!
+This project is an automatic update component designed and maintained primarily by the author. The goal of this project is to provide a platform for sharing, learning, and innovation for developers and technology enthusiasts worldwide. We are committed to promoting technological development and the power of shared knowledge.
-谢谢!
+However, we need your support. Your sponsorship will enable us to further improve the quality of the project, add more features, and provide a better user experience. Additionally, as a token of appreciation, we will display your company logo on the project website.
- 作者:Juster Zhu
+This is a great opportunity to not only drive technological advancement but also to enhance your brand's visibility and community influence. We believe your sponsorship will have a profound impact on this open-source project. Furthermore, all sponsorships will be used to purchase GeneralUpdate merchandise to reward community partners who contribute code to the project. If you have made an actual contribution, please contact me via the email below.
+The size of the project has exceeded the scope of individual maintenance, and designing and maintaining it is not easy. We look forward to your active participation in creating a better future together!
+Thank you!
-![打赏](imgs/payment.jpg)
\ No newline at end of file
+ Author: Juster
\ No newline at end of file
diff --git a/website/docs/doc/GeneralClient.OSS.md b/website/docs/doc/GeneralClient.OSS.md
index 4d5ee33..596c2bf 100644
--- a/website/docs/doc/GeneralClient.OSS.md
+++ b/website/docs/doc/GeneralClient.OSS.md
@@ -2,29 +2,29 @@
sidebar_position: 9
---
-### 定义
+### Definition
-命名空间:GeneralUpdate.ClientCore
+Namespace: GeneralUpdate.ClientCore
-程序集:GeneralUpdate.ClientCore.dll
+Assembly: GeneralUpdate.ClientCore.dll
**OSS**
-OSS的全称是对象存储服务(Object Storage Service),做服务端技术栈开发的小伙伴肯定对这个不陌生在 各大云服务器厂商都会提供类似的服务,说简单点就是一个文件服务器。例如:阿里云OSS、腾讯云COS、华 为云OBS,其实它们只是名字不一样功能服务都差不多。然后本更新组件新功能的实现思路非常相似那么就 选择了OSS来为该功能命名,而且方便开发者一眼能get到这个功能的作用(需要使用组件 GeneralUpdate.ClientCore、GeneralUpdate.Core)。
+OSS stands for Object Storage Service. For those developing server-side technology stacks, this term is likely familiar, as major cloud service providers offer similar services. Simply put, it's a file server. Examples include Alibaba Cloud OSS, Tencent Cloud COS, and Huawei Cloud OBS. While they have different names, their functionalities are quite similar. The new feature of this update component is implemented in a very similar manner, so we chose OSS to name this feature, making it easy for developers to quickly understand its purpose (requires the use of components GeneralUpdate.ClientCore, GeneralUpdate.Core).
**GeneralClientOSS**
-GeneralClientOSS类是另外一种更新机制与GeneralClientBootstrap不同的是,GeneralClientOSS不需要编写服务端的代码直接根据OSS文件服务器的version.josn的版本信息进行更新,简化了新手使用本组件的门槛。
+The GeneralClientOSS class is another update mechanism. Unlike GeneralClientBootstrap, GeneralClientOSS does not require writing server-side code and directly updates based on the version information from the version.json file on the OSS file server, simplifying the threshold for beginners using this component.
```c#
public sealed class GeneralClientOSS
```
-nuget安装
+NuGet Installation
```shell
NuGet\Install-Package GeneralUpdate.ClientCore -Version 3.0.0
@@ -32,29 +32,29 @@ NuGet\Install-Package GeneralUpdate.ClientCore -Version 3.0.0
-### 示例
+### Example
-#### OSS流程
+#### OSS Process
![](imgs/oss_flow.png)
-1.准备version.json版本信息配置文件,更新文件(update.zip)更新文件和之前的打包方式一样。
+1. Prepare the version.json configuration file and update files (update.zip) just like in previous packaging methods.
![](imgs/oss_version_json.png)
-2.Client启动时直接请求OSS服务器或文件服务器,下载version.json文件。
+2. When the Client starts, it directly requests the OSS server or file server to download the version.json file.
![](imgs/oss_util.png)
-3.下载到本地之后解析版本信息内容判断是否需要更新,如果将信息通过进程启动传递Upgrade(Client自我 关闭)。
+3. After downloading to the local system, it parses the version information to determine if an update is needed. If so, it passes the information to Upgrade through a process launch (Client self-closes).
-4.Upgrade启动之后直接去下载update.zip,下载到本地之后直接解压覆盖本地文件。
+4. After Upgrade starts, it directly downloads update.zip and extracts it locally to overwrite the local files.
-5.Upgrade更新完成之后把Client启动起来,自我关闭。更新结束。 GeneralUpdateOSS的功能和GeneralUpdateBootstrap功能对比来说,使用的门槛非常低如果公司对自动 更新的要求不高的话可以使用这个功能。一句话概括这个功能就是下载version.json根据文件里的内容去逐 版本下载更新包,下载下来之后直接解压更新就结束了。
+5. After the Upgrade completes, it starts the Client and self-closes. The update ends. Compared to the GeneralUpdateBootstrap function, the GeneralUpdateOSS function has a very low usage threshold. If the company does not have high requirements for automatic updates, this feature can be used. In summary, this function downloads the version.json and updates based on the content in the file, downloading each version's update package and extracting it to complete the update.
-以下示例定义方法,包含GeneralClientOSS使用方法。
+The following example defines methods, including the usage of GeneralClientOSS.
```c#
Task.Run(async () =>
@@ -72,46 +72,46 @@ Task.Run(async () =>
-### 注解
+### Annotation
-GeneralUpdateOSS提供以下能力。
+GeneralUpdateOSS provides the following capabilities.
-#### 属性
+#### Properties
-| Properties | |
-| ---------- | ----------------- |
-| ParamsOSS | OSS更新配置参数。 |
+| Properties | Description |
+| ---------- | ------------------------------------ |
+| ParamsOSS | OSS update configuration parameters. |
-#### 方法
+#### Methods
-| Method | |
-| ---------------------- | ---------------------- |
-| Start() | 启动OSS更新。 |
-| AddListenerException() | 监听组件内部异常信息。 |
+| Method | Description |
+| ---------------------- | ----------------------------------------------------------- |
+| Start() | Start the OSS update. |
+| AddListenerException() | Listen for internal exception information of the component. |
### 🌴ParamsOSS
-**属性**
+**Properties**
-**Url** string http的api服务端请求地址。
+**Url** string: HTTP API server request address.
-**AppName** string 应用名称。
+**AppName** string: Application name.
-**CurrentVersion** string 当前版本。
+**CurrentVersion** string: Current version.
-**VersionFileName** string 版本文件名称。
+**VersionFileName** string: Version file name.
### 🌼Start()
-**方法**
+**Method**
-启动OSS更新。
+Start the OSS update.
```c#
public static async Task Start(ParamsOSS configParams, string upgradeAppName = "GeneralUpdate.Upgrade");
@@ -119,25 +119,25 @@ public static async Task Start(ParamsOSS configParams, string upgradeAppName = "
-**参数类型**
+**Parameter Types**
-ParamsOSS 更新配置参数,详细内容参考本文档🌴ParamsOSS。
+ParamsOSS: Update configuration parameters, detailed content can be found in this document under 🌴ParamsOSS.
-**参数**
+**Parameters**
-**parameter** ParamsOSS 安卓平台的跟新配置参数。
+**parameter** ParamsOSS: Update configuration parameters for the Android platform.
-**upgradeAppName** 需要升级的应用名称。
+**upgradeAppName**: Name of the application to be upgraded.
-### 适用于
+### Applicable to
-| 产品 | 版本 |
+| Product | Version |
| -------------- | ------------- |
-| .NET | 5、6、7、8、9 |
+| .NET | 5, 6, 7, 8, 9 |
| .NET Framework | 4.6.1 |
| .NET Standard | 2.0 |
| .NET Core | 2.0 |
\ No newline at end of file
diff --git a/website/docs/doc/GeneralSpacestation.md b/website/docs/doc/GeneralSpacestation.md
index 32ca1a6..36b274e 100644
--- a/website/docs/doc/GeneralSpacestation.md
+++ b/website/docs/doc/GeneralSpacestation.md
@@ -4,64 +4,64 @@ sidebar_position: 1
![](imgs\GeneralUpdate_h2.png)
-## 产品介绍
+## Product Introduction
-GeneralLibrary团队针对企业级应用开发了GeneralSpacestation服务,解决对于自动升级管理方面的问题。整套系统所涉及到的所有组件内容均为自研、MIT或商用友好的开源组件,严格规避商用法律风险。
+The GeneralLibrary team has developed the GeneralSpacestation service for enterprise applications, addressing issues related to automatic update management. All components involved in the entire system are self-developed, MIT-licensed, or open-source components friendly for commercial use, strictly avoiding legal risks in commercial use.
-整套服务包含了以下内容:
+The entire service includes the following:
-| 名称 | 介绍 | 是否收费 | 详情 |
-| -------------------- | ------------------------------ | --------- | ------------------------------------------------------- |
-| GeneralUpdate | 桌面客户端自动升级解决方案 | 免费 | https://github.com/GeneralLibrary/GeneralUpdate |
-| GeneralUpdate-Sample | 使用代码示例 | 免费 | https://github.com/GeneralLibrary/GeneralUpdate-Samples |
-| GeneralUpdate.Admin | 自动升级管理服务可视化解决方案 | 收费 | https://www.justerzhu.cn/ |
-| GeneralSpacestation | 自动升级管理服务解决方案 | 收费 | https://www.justerzhu.cn/ |
-| 线上\下培训会议 | 帮助企业快速上手使用产品 | 附赠\收费 | 扫码咨询\可单独购买 |
-| 使用手册 | 帮助企业快速上手使用产品 | 附赠\收费 | 扫码咨询\可单独购买 |
-| 项目对接\咨询 | 帮助企业快速上手使用产品 | 附赠\收费 | 扫码咨询\可单独购买 |
+| Name | Description | Cost | Details |
+| -------------------------------- | ------------------------------------------------------ | ------------------ | ---------------------------------------------------------- |
+| GeneralUpdate | Desktop client automatic update solution | Free | https://github.com/GeneralLibrary/GeneralUpdate |
+| GeneralUpdate-Sample | Sample usage code | Free | https://github.com/GeneralLibrary/GeneralUpdate-Samples |
+| GeneralUpdate.Admin | Visual solution for automatic update management | Paid | https://www.justerzhu.cn/ |
+| GeneralSpacestation | Solution for automatic update management | Paid | https://www.justerzhu.cn/ |
+| Online/Offline Training Sessions | Helps enterprises quickly get started with the product | Complimentary/Paid | Scan the code for consultation/can be purchased separately |
+| User Manual | Helps enterprises quickly get started with the product | Complimentary/Paid | Scan the code for consultation/can be purchased separately |
+| Project Integration/Consultation | Helps enterprises quickly get started with the product | Complimentary/Paid | Scan the code for consultation/can be purchased separately |
-## 功能
+## Features
-### Tools 模块展示
+### Tools Module Display
![](imgs\generalspacestation.png)
-### Upgrade 模块展示
+### Upgrade Module Display
![](imgs\generalspacestation2.png)
-## 解决方案
+## Solution
![](imgs\solution2.png)
![](imgs\solution.png)
-介绍部分所涉及到的技术(包括但不限于 操作系统 \ 框架 \ 语言 \ 开源组件 等内容):
+Technologies involved in the introduction (including but not limited to operating systems, frameworks, languages, open-source components, etc.):
-| 技术 | 备注 | 详情 |
-| -------------- | --------------------------------------------------- | ------------------------------------------------------------ |
-| .NET Core 9 | 微软公司旗下最新免费开源框架(MIT License) | https://dotnet.microsoft.com/zh-cn/download/dotnet/9.0 |
-| C#13 | 微软公司旗下最新版本开源开发语言之一(MIT License) | https://dotnet.microsoft.com/zh-cn/languages/csharp |
-| Aavalonia | Aavalonia团队的跨平台开源UI框架(MIT License) | https://avaloniaui.net/ |
-| Prism.Avalonia | PrismLibrary团队项目结构框架(MIT License) | https://github.com/AvaloniaCommunity/Prism.Avalonia |
-| Semi.Avalonia | irihi团队开源UI控件库框架(MIT License) | https://www.irihi.tech/ |
-| ASP.NET Core | 微软旗下最新服务端框架(MIT License) | https://dotnet.microsoft.com/zh-cn/apps/aspnet |
-| MySQL | Oracle公司旗下商用友好的数据库 | https://www.mysql.com/cn/ |
-| DDD | 当下流行的架构\设计模式 | https://learn.microsoft.com/zh-cn/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ |
-| MVVM | 当下流行的架构\设计模式 | https://learn.microsoft.com/zh-cn/dotnet/architecture/maui/mvvm |
-| AOT | GeneralUpdate所有组件全线支持、兼容AOT编译 | https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ |
-| Linux (Ubuntu) | 本产品全线支持Linux操作系统 | https://cn.ubuntu.com/ |
-| Windows | 支持win7以上版本的操作系统 | https://support.microsoft.com/zh-cn/welcometowindows |
-| LoongOS | 国产(龙芯)操作系统(新世界) | https://www.loongson.cn/system/loongos |
-| ...... | ...... | |
+| Technology | Remarks | Details |
+| -------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
+| .NET Core 9 | Latest free open-source framework by Microsoft (MIT License) | https://dotnet.microsoft.com/zh-cn/download/dotnet/9.0 |
+| C#13 | One of the latest versions of Microsoft's open-source development languages (MIT License) | https://dotnet.microsoft.com/zh-cn/languages/csharp |
+| Avalonia | Cross-platform open-source UI framework by the Avalonia team (MIT License) | https://avaloniaui.net/ |
+| Prism.Avalonia | Project structure framework by PrismLibrary team (MIT License) | https://github.com/AvaloniaCommunity/Prism.Avalonia |
+| Semi.Avalonia | Open-source UI control library framework by the irihi team (MIT License) | https://www.irihi.tech/ |
+| ASP.NET Core | Latest server-side framework by Microsoft (MIT License) | https://dotnet.microsoft.com/zh-cn/apps/aspnet |
+| MySQL | Commercial-friendly database by Oracle | https://www.mysql.com/cn/ |
+| DDD | Popular architecture/design pattern | https://learn.microsoft.com/zh-cn/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ |
+| MVVM | Popular architecture/design pattern | https://learn.microsoft.com/zh-cn/dotnet/architecture/maui/mvvm |
+| AOT | Full support for AOT compilation across all GeneralUpdate components | https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ |
+| Linux (Ubuntu) | Full support for Linux operating systems | https://cn.ubuntu.com/ |
+| Windows | Supports operating systems from Windows 7 onwards | https://support.microsoft.com/zh-cn/welcometowindows |
+| LoongOS | Domestic (Loongson) operating system (New World) | https://www.loongson.cn/system/loongos |
+| ...... | ...... | |
-## 企业客户
+## Corporate Clients
![](imgs\corporateclient1.png)
@@ -69,12 +69,12 @@ GeneralLibrary团队针对企业级应用开发了GeneralSpacestation服务,
-## 软著登记
+## Software Registration
![](imgs\ruanzhu.png)
-## 联系我们
+## Contact Us
-以下是企业咨询、报价、商务合作联系方式(加好友请注明来意拒绝闲聊,推荐加微信)。
+Below are the contact details for enterprise inquiries, quotations, and business cooperation (please indicate your purpose when adding as a friend, casual chat is declined, adding on WeChat is recommended).
![](imgs\contact.png)
\ No newline at end of file
diff --git a/website/docs/doc/GeneralUpdate.Bowl.md b/website/docs/doc/GeneralUpdate.Bowl.md
index 8811ea1..8c362ab 100644
--- a/website/docs/doc/GeneralUpdate.Bowl.md
+++ b/website/docs/doc/GeneralUpdate.Bowl.md
@@ -1,42 +1,38 @@
---
+
sidebar_position: 3
+
---
-#### 背景故事
+#### Background Story
![](imgs\bowl.jpg)
-Bowl是作者Juster养的一只橘猫,为什么给橘猫或组件起名成”碗“。因为橘猫容易胖,Juster希望它一次只吃一小碗就取名叫小碗。在GeneralUpdate的体系如果在升级过程中遭遇了重创,Bowl这时会挺身而出将残局恢复如初并分析失败原因。
+Bowl is an orange cat owned by the author Juster. The reason for naming an orange cat or component "Bowl" is because orange cats tend to get fat easily. Juster hopes it will eat only a small bowl at a time, hence the name "Little Bowl." In the GeneralUpdate system, if the upgrade process encounters significant issues, Bowl will step in to restore the situation and analyze the reasons for failure.
![](imgs\mybowl.jpg)
+### Definition
+Namespace: GeneralUpdate.Bowl
-### 定义
-
-命名空间:GeneralUpdate.Bowl
-
-程序集:GeneralUpdate.Bowl.dll
+Assembly: GeneralUpdate.Bowl.dll
-
-
-该组件在升级流程结束之前启动的一个独立进程,它在流程结束之前去启动主客户端应用程序并监控是否正常运行。
+This component is an independent process launched before the end of the upgrade process. It starts the main client application and monitors its normal operation before the process ends.
```c#
public sealed class Bowl
```
-nuget安装
+NuGet Installation
```shell
NuGet\Install-Package GeneralUpdate.Bowl -Version 3.0.0
```
+### Example
-
-### 示例
-
-以下示例定义方法,包含Bowl使用。
+The following example defines a method that includes the use of Bowl.
```c#
var installPath = AppDomain.CurrentDomain.BaseDirectory;
@@ -54,31 +50,25 @@ var processInfo = new MonitorParameter
Bowl.Launch(processInfo);
```
+### Capture
+If a crash is detected, the following files will be generated in the running directory:
-### 捕获
+- 📒 Dump file (1.0.0.*_fail.dmp)
+- 📒 Upgrade package version information (1.0.0.*_fail.json)
+- 📒 Driver information (driverInfo.txt)
+- 📒 Operating system/hardware information (systeminfo.txt)
+- 📒 System event log (systemlog.evtx)
-如果监控到崩溃闪退将会在运行目录下生成:
-
-- 📒Dump文件(1.0.0.*_fail.dmp)
-- 📒升级包版本信息(1.0.0.*_fail.json)
-- 📒驱动信息(driverInfo.txt)
-- 📒操作系统信息/硬件信息(systeminfo.txt)
-- 📒系统事件日志(systemlog.evtx)
-
-导出到“fail”目录下并根据版本号区分文件夹。
+These will be exported to the "fail" directory, categorized by version number.
![](imgs\crash.jpg)
-
-
-#### (1)x.0.0.*_fail.dmp
+#### (1) x.0.0.*_fail.dmp
![](imgs\dump.png)
-
-
-#### (2)x.0.0.*_fail.json
+#### (2) x.0.0.*_fail.json
```json
{
@@ -120,13 +110,10 @@ Bowl.Launch(processInfo);
}
```
-
-
-#### (3)driverInfo.txt
+#### (3) driverInfo.txt
```json
-
-模块名 显示名称 描述 驱动程序类型 启动模式 状态 状态 接受停止 接受暂停 分页缓冲池 代码(字节) BSS(字 链接日期 路径 Init(字节)
+Module Name Display Name Description Driver Type Start Mode State Status Accept Stop Accept Pause Paged Pool Code(Bytes) BSS(Bytes) Link Date Path Init(Bytes)
============ ====================== ====================== ============= ========== ========== ========== =========== ============ ========== ========== ======= ====================== ================================================ ==========
360AntiAttac 360Safe Anti Attack Se 360Safe Anti Attack Se Kernel System Running OK TRUE FALSE 4,096 36,864 0 9/29/2022 3:45:03 PM C:\Windows\system32\Drivers\360AntiAttack64.sys 4,096
360AntiHacke 360Safe Anti Hacker Se 360Safe Anti Hacker Se Kernel System Running OK TRUE FALSE 4,096 139,264 0 11/27/2023 3:43:37 PM C:\Windows\system32\Drivers\360AntiHacker64.sys 8,192
@@ -137,145 +124,132 @@ Bowl.Launch(processInfo);
//...
```
-
-
-#### (4)systeminfo.txt
+#### (4) systeminfo.txt
```json
-
-主机名: ****
-OS 名称: Microsoft Windows 11 专业版
-OS 版本: 10.0.2*** Build 22***
-OS 制造商: Microsoft Corporation
-OS 配置: 独立工作站
-OS 构建类型: Multiprocessor Free
-注册的所有人: ****@outlook.com
-注册的组织:
-产品 ID: ****-80000-***00-A****
-初始安装日期: 11/16/2023, 9:56:28 PM
-系统启动时间: 11/26/2024, 9:37:51 PM
-系统制造商: ASUS
-系统型号: System Product Name
-系统类型: x64-based PC
-处理器: 安装了 1 个处理器。
+Host Name: ****
+OS Name: Microsoft Windows 11 Pro
+OS Version: 10.0.2*** Build 22***
+OS Manufacturer: Microsoft Corporation
+OS Configuration: Standalone Workstation
+OS Build Type: Multiprocessor Free
+Registered Owner: ****@outlook.com
+Registered Organization:
+Product ID: ****-80000-***00-A****
+Original Install Date: 11/16/2023, 9:56:28 PM
+System Boot Time: 11/26/2024, 9:37:51 PM
+System Manufacturer: ASUS
+System Model: System Product Name
+System Type: x64-based PC
+Processor(s): Installed 1 Processor(s).
[01]: Intel** Family * Model *** Stepping * GenuineIntel ~**** Mhz
-BIOS 版本: American Megatrends Inc. 1402, 4/1/2022
-Windows 目录: C:\Windows
-系统目录: C:\Windows\system32
-启动设备: \Device\Ha*****olume1
-系统区域设置: zh-cn;中文(中国)
-输入法区域设置: zh-cn;中文(中国)
-时区: (UTC+08:00) **,**,*******,****
-物理内存总量: 16,194 MB
-可用的物理内存: 1,795 MB
-虚拟内存: 最大值: 25,410 MB
-虚拟内存: 可用: 9,438 MB
-虚拟内存: 使用中: 15,972 MB
-页面文件位置: D:\****file.sys
-域: WORKGROUP
-登录服务器: \\****
-修补程序: 安装了 6 个修补程序。
+BIOS Version: American Megatrends Inc. 1402, 4/1/2022
+Windows Directory: C:\Windows
+System Directory: C:\Windows\system32
+Boot Device: \Device\Ha*****olume1
+System Locale: zh-cn;Chinese (China)
+Input Locale: zh-cn;Chinese (China)
+Time Zone: (UTC+08:00) **,**,*******,****
+Total Physical Memory: 16,194 MB
+Available Physical Memory: 1,795 MB
+Virtual Memory: Max Size: 25,410 MB
+Virtual Memory: Available: 9,438 MB
+Virtual Memory: In Use: 15,972 MB
+Page File Location(s): D:\****file.sys
+Domain: WORKGROUP
+Logon Server: \\****
+Hotfix(s):: 6 Hotfix(s) Installed.
[01]: KB504****
[02]: KB502****
[03]: KB503****
[04]: KB503****
[05]: KB504****
[06]: KB504****
-网卡: 安装了 3 个 NIC。
+Network Card(s): 3 NIC(s) Installed.
[01]: Intel(R) Ethernet Connection (**) I***-V
- 连接名: 以太网
- 启用 DHCP: 是
- DHCP 服务器: 192.168.**.**
- IP 地址
+ Connection Name: Ethernet
+ DHCP Enabled: Yes
+ DHCP Server: 192.168.**.**
+ IP Address
[01]: 192.168.**.**
[02]: ***::2640:***:****:****
[02]: VMware Virtual Ethernet Adapter for VMnet1
- 连接名: VMware Network Adapter VMnet1
- 启用 DHCP: 是
- DHCP 服务器: 192.168.**.**
- IP 地址
+ Connection Name: VMware Network Adapter VMnet1
+ DHCP Enabled: Yes
+ DHCP Server: 192.168.**.**
+ IP Address
[01]: 192.168.**.**
[02]: ***::9b3:***,***:****
[03]: VMware Virtual Ethernet Adapter for VMnet8
- 连接名: VMware Network Adapter VMnet8
- 启用 DHCP: 是
- DHCP 服务器: 192.168.**.**
- IP 地址
+ Connection Name: VMware Network Adapter VMnet8
+ DHCP Enabled: Yes
+ DHCP Server: 192.168.**.**
+ IP Address
[01]: 192.***,***:****
[02]: fe80::***:***:***:****
-Hyper-V 要求: 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。
+Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
//...
```
-
-
-#### (5)systemlog.evtx
+#### (5) systemlog.evtx
![](imgs\evtx.png)
+### Notes
+Bowl provides runtime monitoring capabilities and exports relevant error information.
-### 注解
-
-Bowl提供运行监控功能,并导出相关错误信息 。
-
-
-
-#### 方法
-
-| Method | |
-| -------- | -------- |
-| Launch() | 启动监控 |
-
+#### Methods
+| Method | Description |
+| -------- | ---------------- |
+| Launch() | Start monitoring |
### 🌼Launch()
-**启动函数**
+**Launch Function**
```c#
Launch(MonitorParameter? monitorParameter = null);
```
-**参数**
+**Parameters**
```c#
public class MonitorParameter
{
- //被监控的目录
+ // Directory being monitored
public string TargetPath { get; set; }
- //捕获的异常信息导出到的目录
+ // Directory where captured exception information is exported
public string FailDirectory { get; set; }
- //备份目录
+ // Backup directory
public string BackupDirectory { get; set; }
- //监控进程名称或者进程id
+ // Name or ID of the process being monitored
public string ProcessNameOrId { get; set; }
- //dump文件名
+ // Dump file name
public string DumpFileName { get; set; }
- //升级包版本信息(.json)文件名
+ // Upgrade package version information (.json) file name
public string FailFileName { get; set; }
///
/// Upgrade: upgrade mode. This mode is primarily used in conjunction with GeneralUpdate for internal use. Please do not modify it arbitrarily when the default mode is activated.
- /// Normal: Normal mode,This mode can be used independently to monitor a single program. If the program crashes, it will export the crash information.
+ /// Normal: Normal mode, This mode can be used independently to monitor a single program. If the program crashes, it will export the crash information.
///
public string WorkModel { get; set; } = "Upgrade";
}
```
+### Applicable To
-
-### 适用于
-
-| 产品 | 版本 |
+| Product | Version |
| -------------- | ------------- |
-| .NET | 5、6、7、8、9 |
+| .NET | 5, 6, 7, 8, 9 |
| .NET Framework | 4.6.1 |
| .NET Standard | 2.0 |
| .NET Core | 2.0 |
diff --git a/website/docs/doc/GeneralUpdate.ClientCore.md b/website/docs/doc/GeneralUpdate.ClientCore.md
index bf00775..bae35dc 100644
--- a/website/docs/doc/GeneralUpdate.ClientCore.md
+++ b/website/docs/doc/GeneralUpdate.ClientCore.md
@@ -2,39 +2,37 @@
sidebar_position: 4
---
-### 定义
+### Definition
-命名空间:GeneralUpdate.ClientCore
+Namespace: GeneralUpdate.ClientCore
-程序集:GeneralUpdate.ClientCore.dll
+Assembly: GeneralUpdate.ClientCore.dll
-GeneralUpdate.ClientCore是最核心的组件之一,提供了大量主要功能。本质和Core没有区别,但是有职责上的区别ClientCore用于主程序中,更新升级助手然后关闭主程序启动升级助手。
+GeneralUpdate.ClientCore is one of the core components, offering a wide range of primary functionalities. Its essence is similar to Core, but it has a different role: ClientCore is used in the main program, where it assists in updates and upgrades and then closes the main program to launch the upgrade assistant.
```c#
public class GeneralClientBootstrap : AbstractBootstrap
```
-nuget安装
+NuGet Installation
```shell
NuGet\Install-Package GeneralUpdate.ClientCore -Version 3.0.0
```
-
-
-### 示例
+### Example
![](imgs/muti_donwload.png)
-以下示例定义方法,包含GeneralClientBootstrap使用。
+The following example defines methods involving the use of GeneralClientBootstrap.
```c#
try
{
- Console.WriteLine($"主程序初始化,{DateTime.Now}!");
- Console.WriteLine("当前运行目录:" + Thread.GetDomain().BaseDirectory);
+ Console.WriteLine($"Main program initialization, {DateTime.Now}!");
+ Console.WriteLine("Current running directory: " + Thread.GetDomain().BaseDirectory);
await Task.Delay(2000);
var configinfo = new Configinfo
{
@@ -45,31 +43,31 @@ try
MainAppName = "GeneralUpdate.Client.exe",
InstallPath = Thread.GetDomain().BaseDirectory,
//configinfo.Bowl = "Generalupdate.CatBowl.exe";
- //当前客户端的版本号
+ //Current client version
ClientVersion = "1.0.0.0",
- //当前升级端的版本号
+ //Current upgrade client version
UpgradeClientVersion = "1.0.0.0",
- //产品id
+ //Product ID
ProductId = "2d974e2a-31e6-4887-9bb1-b4689e98c***",
- //应用密钥
+ //Application secret key
AppSecretKey = "dfeb5833-975e-4afb-88f1-6278ee9*****"
};
- _ = await new GeneralClientBootstrap() //单个或多个更新包下载通知事件
- //单个或多个更新包下载速度、剩余下载事件、当前下载版本信息通知事件
+ _ = await new GeneralClientBootstrap() //Notification for single or multiple update package downloads
+ //Notification for download speed, remaining download time, and current download version info
.AddListenerMultiDownloadStatistics(OnMultiDownloadStatistics)
- //单个或多个更新包下载完成
+ //Completion of single or multiple update package downloads
.AddListenerMultiDownloadCompleted(OnMultiDownloadCompleted)
- //完成所有的下载任务通知
+ //Notification for the completion of all download tasks
.AddListenerMultiAllDownloadCompleted(OnMultiAllDownloadCompleted)
- //下载过程出现的异常通知
+ //Notification for exceptions during the download process
.AddListenerMultiDownloadError(OnMultiDownloadError)
- //整个更新过程出现的任何问题都会通过这个事件通知
+ //Notification for any issues during the entire update process
.AddListenerException(OnException)
.SetConfig(configinfo)
.Option(UpdateOption.DownloadTimeOut, 60)
.Option(UpdateOption.Encoding, Encoding.UTF8)
.LaunchAsync();
- Console.WriteLine($"主程序已启动,{DateTime.Now}!");
+ Console.WriteLine($"Main program started, {DateTime.Now}!");
}
catch (Exception e)
{
@@ -91,7 +89,7 @@ private List GetBlackFormats()
}
///
-/// 让用户决定是否跳过本次更新
+/// Allow users to decide whether to skip this update
///
///
private async Task ShowCustomOption()
@@ -101,14 +99,14 @@ private async Task ShowCustomOption()
private void OnMultiDownloadStatistics(object sender, MultiDownloadStatisticsEventArgs e)
{
- //e.Remaining 剩余下载时间
- //e.Speed 下载速度
- //e.Version 当前下载的版本信息
- //e.TotalBytesToReceive 当前更新包需要下载的总大小
- //e.ProgressValue 当前进度值
- //e.ProgressPercentage 当前进度的百分比
- //e.Version 当前下载的版本信息
- //e.BytesReceived 已下载大小
+ //e.Remaining Remaining download time
+ //e.Speed Download speed
+ //e.Version Current download version info
+ //e.TotalBytesToReceive Total size for the current update package
+ //e.ProgressValue Current progress value
+ //e.ProgressPercentage Current progress percentage
+ //e.Version Current download version info
+ //e.BytesReceived Downloaded size
}
private void OnException(object sender, ExceptionEventArgs e)
@@ -118,7 +116,7 @@ private void OnException(object sender, ExceptionEventArgs e)
private void OnMultiAllDownloadCompleted(object sender, MultiAllDownloadCompletedEventArgs e)
{
- //e.FailedVersions; 如果出现下载失败则会把下载错误的版本、错误原因统计到该集合当中。
+ //e.FailedVersions; If download fails, the failed version and error reason will be recorded in this collection.
DispatchMessage($"Is all download completed {e.IsAllDownloadCompleted}.");
}
@@ -135,471 +133,384 @@ private void OnMultiDownloadError(object sender, MultiDownloadErrorEventArgs e)
}
```
+### Annotations
+GeneralClientBootstrap provides the following capabilities.
-### 注解
-
-GeneralClientBootstrap提供以下能力。
+#### Properties
-#### 属性
+| Properties | Description |
+| ------------ | ------------------------------------------------------------ |
+| UpdateOption | Enum for update operation configuration settings |
+| Configinfo | Client-related parameter class (fields like AppType, AppName, AppSecretKey, etc.) |
-| Properties | |
-| ------------ | ---------------------------------------------------------- |
-| UpdateOption | 更新操作配置设置枚举 |
-| Configinfo | 客户端相关参数类(AppType、AppName、AppSecretKey等字段)。 |
+#### Methods
-#### 方法
-
-| Method | |
+| Method | Description |
| -------------------------------------- | ------------------------------------------------------------ |
-| LaunchTaskAsync() | Task异步启动更新 |
-| LaunchAsync() | 启动更新 |
-| SetBlacklist() | 设置更新文件黑名单,如果不需要更新文件 名则传入即可。 |
-| Option() | 设置更新配置。 |
-| Config() | 更新相关内容配置参数,url 服务器地址及 端口号, appSecretKey客户端唯一标识用于 区分产品分支。 |
-| GetOption() | 获取更新配置。 |
-| SetCustomSkipOption() | 让用户在非强制更新的状态下决定是否进行更新。 |
-| AddCustomOption() | 添加一个异步的自定义操作。理论上,任何自定义操作都可以完成。建议注册环境检查方法,以确保更新完成后存在正常的依赖和环境。 |
-| AddListenerMultiAllDownloadCompleted() | 完成所有的下载任务通知。 |
-| AddListenerMultiDownloadCompleted() | 单个或多个更新包下载完成事件。 |
-| AddListenerMultiDownloadError() | 监听每个版本下载异常的事件 |
-| AddListenerMultiDownloadStatistics() | 单个或多个更新包下载速度、剩余下载事 件、当前下载版本信息通知事件。 |
-| AddListenerException() | 整个更新过程出现的任何问题都会通过这个回调函数通知。 |
-
-
+| LaunchTaskAsync() | Task-based asynchronous update launch |
+| LaunchAsync() | Launch update |
+| SetBlacklist() | Set blacklist for update files; pass in if certain files should not be updated. |
+| Option() | Set update configuration. |
+| Config() | Configure update-related parameters, such as server URL and port, appSecretKey for client identification and product branching. |
+| GetOption() | Get update configuration. |
+| SetCustomSkipOption() | Allow users to decide whether to proceed with an update in non-mandatory update scenarios. |
+| AddCustomOption() | Add an asynchronous custom operation. In theory, any custom operation can be completed. It's recommended to register environment check methods to ensure dependencies and environment are intact after the update. |
+| AddListenerMultiAllDownloadCompleted() | Notification for the completion of all download tasks. |
+| AddListenerMultiDownloadCompleted() | Event for the completion of single or multiple update package downloads. |
+| AddListenerMultiDownloadError() | Listen for errors during each version download |
+| AddListenerMultiDownloadStatistics() | Notification for download speed, remaining download time, and current download version info. |
+| AddListenerException() | Notification for any issues during the entire update process. |
### 🌴Packet
-| 属性 |
+| Property |
| ------------------------------------------------------------ |
-| **MainUpdateUrl** string 更新检查api地址。 |
+| **MainUpdateUrl** string Main update check API address. |
| **AppType** int 1:ClientApp 2:UpdateApp |
-| **UpdateUrl** string Update 更新检查api地址。 |
-| **AppName** string 需要启动应用程序的名称。 |
-| **MainAppName** string 需要启动主应用程序的名称。 |
-| **Format** string 更新包文件格式(默认格式为Zip)。 |
-| **IsUpgradeUpdate** bool 是否需要更新来升级应用程序。 |
-| **IsMainUpdate** bool 主应用程序是否需要更新。 |
-| **UpdateLogUrl** string 更新日志网页地址。 |
-| **UpdateVersions** List 需要更新的版本信息VersionInfo。 |
-| **Encoding** Encoding 文件操作的编码格式。 |
-| **DownloadTimeOut** int 下载超时时间。 |
-| **AppSecretKey** string 应用程序密钥,需要和服务器约定好。 |
-| **ClientVersion** string 客户端当前版本号。 |
-| **LastVersion** string 最新版本号。 |
-| **InstallPath** string 安装路径(用于更新文件逻辑)。 |
-| **TempPath** string 下载文件临时存储路径(用于更新文件逻辑)。 |
-| **ProcessBase64** string 升级终端程序的配置参数。 |
-| **Platform** string 当前策略所属的平台。(Windows\linux\Mac) |
-| **BlackFiles** List 黑名单中的文件将跳过更新。 |
-| **BlackFormats** 黑名单中的文件格式将跳过更新。 |
-| **DriveEnabled** bool 是否启用驱动升级功能。 |
-| **WillMessageEnabled** bool 是否开启遗言功能,如果想要启动需要同步部署'GeneralUpdate. SystemService'服务。 |
+| **UpdateUrl** string Update check API address. |
+| **AppName** string Name of the application to be launched. |
+| **MainAppName** string Name of the main application to be launched. |
+| **Format** string Update package file format (default is Zip). |
+| **IsUpgradeUpdate** bool Indicates if the update is needed to upgrade the application. |
+| **IsMainUpdate** bool Indicates if the main application needs an update. |
+| **UpdateLogUrl** string URL for the update log webpage. |
+| **UpdateVersions** List Version information that needs updating. |
+| **Encoding** Encoding File operation encoding format. |
+| **DownloadTimeOut** int Download timeout duration. |
+| **AppSecretKey** string Application secret key, agreed upon with the server. |
+| **ClientVersion** string Current client version. |
+| **LastVersion** string Latest version. |
+| **InstallPath** string Installation path (used for update file logic). |
+| **TempPath** string Temporary storage path for downloaded files (used for update file logic). |
+| **ProcessBase64** string Configuration parameters for the upgrade terminal program. |
+| **Platform** string Platform to which the current strategy belongs (Windows\Linux\Mac). |
+| **BlackFiles** List Files in the blacklist will be skipped during updates. |
+| **BlackFormats** File formats in the blacklist will be skipped during updates. |
+| **DriveEnabled** bool Indicates if the driver upgrade feature is enabled. |
### 🌴Configinfo
-| **属性** |
-| ----------------------------------------------------- |
-| **AppType** int 1:ClientApp 2:UpdateApp |
-| **AppName** string 需要启动应用程序的名称。 |
-| **AppSecretKey** string 应用程序密钥。 |
-| **ClientVersion** string 客户端当前版本。 |
-| **UpdateUrl** string 更新检查api地址。 |
-| **UpdateLogUrl** string 更新日志网页地址。 |
-| **InstallPath** string 安装路径(用于更新文件逻辑)。 |
-| **MainUpdateUrl** string 更新检查api地址。 |
-| **MainAppName** string 主客户端应用名称 |
-
-
+| Property |
+| ------------------------------------------------------------ |
+| **AppType** int 1:ClientApp 2:UpdateApp |
+| **AppName** string Name of the application to launch. |
+| **AppSecretKey** string Application secret key. |
+| **ClientVersion** string Current client version. |
+| **UpdateUrl** string Update check API address. |
+| **UpdateLogUrl** string URL for the update log webpage. |
+| **InstallPath** string Installation path (used for update file logic). |
+| **MainUpdateUrl** string Main update check API address. |
+| **MainAppName** string Main client application name |
### 🍵UpdateOption
-| **枚举** |
+| Enum |
| ------------------------------------------------------------ |
-| **Format** 更新包的文件格式。 |
-| **Encoding** 压缩编码。 |
-| **DownloadTimeOut** 超时时间(单位:秒)。如果未指定此参数,则默认超时时间为30秒。 |
-
-
+| **Format** File format of the update package. |
+| **Encoding** Compression encoding. |
+| **DownloadTimeOut** Timeout duration (in seconds). If not specified, the default timeout is 30 seconds. |
### 🌼LaunchTaskAsync()
-**方法**
+**Method**
-Task异步启动更新。
+Asynchronously launch an update task.
```c#
public Task LaunchTaskAsync();
```
-
-
### 🌼LaunchAsync()
-**方法**
+**Method**
-启动更新。
+Launch the update.
```c#
public virtual TBootstrap LaunchAsync();
```
-
-
### 🌼SetBlacklist()
-**方法**
+**Method**
-设置更新时会忽略的黑名单信息,避免特殊文件二进制差分更新时无法使用导致更新失败。
+Set the blacklist information that will be ignored during updates to prevent special files from causing update failures when binarydifferential updates cannot be used.
```c#
public virtual TBootstrap SetBlacklist(List files = null, List fileFormats = null);
```
-
-
-**参数类型**
+**Parameter Types**
```c#
-List 黑名单信息集合。
+List Collection of blacklist information.
```
-
-
-**参数**
+**Parameters**
```c#
-files List 黑名单文件名称集合。
+files List Collection of file names in the blacklist.
-fileFormats List 黑名单文件后缀集合。
+fileFormats List Collection of file extensions in the blacklist.
```
-
-
### 🌼Option()
-**方法**
+**Method**
-设置更新配置。
+Set update configuration.
```c#
public virtual TBootstrap Option(UpdateOption option, T value);
```
+**Parameter Types**
+T Type for setting update operation UpdateOption.
-**参数类型**
-
-T 要设置更新操作UpdateOption。
-
-
-
-**参数**
+**Parameters**
```c#
-option UpdateOption 配置动作枚举。
+option UpdateOption Configuration action enumeration.
-value T 需要设置的值,值类型根据UpdateOption枚举来。
+value T The value to set, with the type determined by the UpdateOption enumeration.
```
-
-
### 🌼Config()
-**方法**
+**Method**
-Custom Configuration (Recommended : All platforms).
+Custom Configuration (Recommended for all platforms).
```c#
public GeneralClientBootstrap Config(Configinfo info);
public GeneralClientBootstrap Config(string url, string appSecretKey, string appName = "GeneralUpdate.Upgrade");
```
-
-
-**参数类型**
+**Parameter Types**
Configinfo
-客户端相关参数类(AppType、AppName、AppSecretKey等字段)。
-
-
-
-**参数**
+Client-related parameter class (fields like AppType, AppName, AppSecretKey, etc.).
-**info** Configinfo 客户端相关参数类。
+**Parameters**
-**url** string 远程服务器地址。
+**info** Configinfo Client-related parameter class.
-**appSecretKey** string application key(与服务端约定好的密钥,用于区分客户端进行版本管理或指定客户端推送升级).
-
-**appName** string 更新程序的名称不需要包含扩展名。
+**url** string Remote server address.
+**appSecretKey** string Application key (a secret key agreed upon with the server, used for client version management or specifying client upgrade).
+**appName** string Name of the update program, without the extension.
### 🌼GetOption()
-**方法**
+**Method**
```c#
public virtual T GetOption(UpdateOption option);
```
-**参数类型**
+**Parameter Types**
T
-根据UpdateOption枚举获取结果。
-
-
+Result obtained based on the UpdateOption enumeration.
-**参数**
+**Parameters**
```c#
-option UpdateOption 具体枚举内容参考本文档中的 🍵UpdateOption。
+option UpdateOption Specific enumeration content as referenced in the 🍵UpdateOption section of this document.
```
-
-
### 🌼SetCustomSkipOption()
-**方法**
+**Method**
-让用户决定是否在非强制更新状态下进行更新。
+Allow users to decide whether to proceed with an update in non-mandatory update scenarios.
```c#
public GeneralClientBootstrap SetCustomSkipOption(Func func);
public GeneralClientBootstrap SetCustomSkipOption(Func> func);
```
-
-
-**参数类型**
+**Parameter Types**
```c#
-Func 注入一个同步的自定义回调函数,通常用来做用户决定是否跳过本次版本更新。
-Func> 注入一个Task异步的自定义回调函数。
+Func Inject a synchronous custom callback function, often used to let users decide whether to skip the current version update.
+Func> Inject a Task-based asynchronous custom callback function.
```
-
-
-**参数**
+**Parameters**
```c#
-func Func 注入一个同步的自定义回调函数,通常用来做用户决定是否跳过本次版本更新。
-func Func> 注入一个Task异步的自定义回调函数。
+func Func Inject a synchronous custom callback function, often used to let users decide whether to skip the current version update.
+func Func> Inject a Task-based asynchronous custom callback function.
```
-
-
### 🌼AddCustomOption()
-**方法**
+**Method**
-添加一个异步的自定义操作。理论上,任何自定义操作都可以完成。建议注册环境检查方法,以确保更新完成后存在正常的依赖和环境。
+Add an asynchronous custom operation. In theory, any custom operation can be completed. It's recommended to register environment check methods to ensure dependencies and environment are intact after the update.
```c#
public GeneralClientBootstrap AddCustomOption(List> funcs);
public GeneralClientBootstrap AddCustomOption(List>> funcs);
```
-
-
-**参数类型**
+**Parameter Types**
```c#
-List> 注入一组同步的带bool返回值的自定义回调函数。
+List> Inject a set of synchronous custom callback functions with a boolean return value.
-List>> 注入一组Task异步的带bool返回值的自定义回调函数。
+List>> Inject a set of Task-based asynchronous custom callback functions with a boolean return value.
```
-
-
-**参数**
+**Parameters**
```c#
-funcs List> 注入一组同步的自定义回调函数,通常用来做环境检查工作(例如:检查是否缺少VC++的环境库、或硬件设备驱动程序打印机、摄像头等)。
+funcs List> Inject a set of synchronous custom callback functions, usually for environment checks (e.g., checking for missing VC++ libraries or hardware device drivers like printers, cameras, etc.).
-funcs List>> 注入一组Task异步的自定义回调函数。
+funcs List>> Inject a set of Task-based asynchronous custom callback functions.
```
-
-
### 🌼AddListenerMultiAllDownloadCompleted()
-**方法**
+**Method**
```c#
public TBootstrap AddListenerMultiAllDownloadCompleted(Action