diff --git a/WattToolkit.sln b/WattToolkit.sln
index 6bb713403..88a75fd44 100644
--- a/WattToolkit.sln
+++ b/WattToolkit.sln
@@ -28,9 +28,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "5.Plugins", "5.Plugins", "{
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Document", "Document", "{1E1DFB1C-55FC-4D74-9791-6A692E647034}"
ProjectSection(SolutionItems) = preProject
- doc\download-guide.en.md = doc\download-guide.en.md
- doc\download-guide.md = doc\download-guide.md
+ doc\file-system.md = doc\file-system.md
doc\openwrt.md = doc\openwrt.md
+ doc\publish.md = doc\publish.md
doc\release-keylol.md = doc\release-keylol.md
EndProjectSection
EndProject
@@ -176,7 +176,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ValveKeyValue", "ref\SteamC
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.SteamClient.Models.Protobuf", "ref\SteamClient\src\BD.SteamClient.Models.Protobuf\BD.SteamClient.Models.Protobuf.csproj", "{4D34BE4D-2233-46ED-939C-EAAEF608F5B7}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.WTTS.Client.Tools.Publish", "src\BD.WTTS.Client.Tools.Publish\BD.WTTS.Client.Tools.Publish.csproj", "{BC309EC9-D7A2-4A28-BE60-2E5532DE073D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.Tools.Publish", "src\BD.WTTS.Client.Tools.Publish\BD.WTTS.Client.Tools.Publish.csproj", "{BC309EC9-D7A2-4A28-BE60-2E5532DE073D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/doc/download-guide.en.md b/doc/download-guide.en.md
deleted file mode 100644
index 334c9ee54..000000000
--- a/doc/download-guide.en.md
+++ /dev/null
@@ -1,69 +0,0 @@
-
⬇️ Download Guide
-
-
-English | [Simplified Chinese](./download-guide.md)
-
-
-
-## Windows
-- Store version
- - Install in Microsoft Store
- - User data will be stored in ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
-- Portable version
- - The compressed package can be decompressed to any folder and cannot be run in the compressed software
- - User data will be stored in the program root directory ```\AppData```
- - With a file extension of 7z, for example ```Steam++_win_x64_v3.0.0.7z```.
-- Installation version
- - The installation package currently only supports Simplified Chinese
- - The installer will write software information in the registry
- - User data will be stored in ```%LocalAppData%\Steam++```
- - With a file extension of exe, for example ```Steam++_win_x64_v3.0.0.exe```.
-- 64-bit applications (recommended)
- - For 64-bit operating systems only, [Determine whether your computer is running a 32-bit ersionor 64-bit version of the Windows operating system](https://support.microsoft.com/n-us/topic/etermine-whether-your-computer-is-running-a-32-bit-version-or-64-bit-version-f-the-windows-perating-system-1b03ca69-ac5e-4b04-827b-c0c47145944b).
- - The file name **contains** x64, such as ```Steam++_win_x64_v3.0.0.7z```.
-- 32-bit application
- - For 32-bit or 64-bit operating systems.
- - The file name **contains** x86, such as ```Steam++_win_x86_v3.0.0.7z```.
-- ~~ARM64 application~~(Adapting…)
- - It is applicable to devices that use Arm64 CPU, such as **Microsoft Surface Pro X/Surface ro 95G** and other devices that use Qualcomm Snapdragon and MediaTek mobile processors.
- - The file name **contains** arm64, such as ```Steam++_win_arm64_v3.0.0.7z```.
-- Independent application ([SCD](https://learn.microsoft.com/en-us/dotnet/core/deploying/publish-elf-contained)) will include. NET runtime in the application. Users of this pplication do not eed to install. NET before running the application. (Recommended)
- - The file name **does not contains** fde, such as ```Steam++_win_x64_v3.0.0.7z```.
-- Framework-dependent application ([FDE](https://learn.microsoft.com/en-us/dotnet/core/eploying/publish-framework-dependent)), the application does not contain the. NET runtime nd library, but nly the application and third-party dependencies.
- - The file name **contains** fde, such as ```Steam++_win_x64_fde_v3.0.0.7z```.
- - Compared with independent applications, framework-dependent applications can reduce the disk space occupied by this application because of sharing the runtime, and the runtime can be repaired by Windows Update with security patches.
- - The following runtime needs to be installed
- - ASP.NET Runtime 7.x
- - ASP.NET Core Runtime 7.x
- - This application does not require IIS support. You can only install the relevant ntime instead of the Hosting Bundle.
-## macOS
-- ARM64 application
- - Applicable to Mac using ARM64 (Apple Silicon) chip, such as **Apple M1/M2**.
- - The file name **contains** arm64, such as ```Steam++_macos_arm64_v3.0.0.dmg```.
-- 64-bit applications
- - For Mac using Intel's x64 (x86-64) chip.
- - The file name **contains** x64, such as ```Steam++_macos_x64_v3.0.0.dmg```.
-- ~~General package~~(Adapting…)
- - All versions of binaries are included in this package and are applicable to all supported evices, but the file size is large.
-## Linux
-- 64-bit applications
- - Applicable to devices using Intel and AMD's x64 (x86-64) chips.
- - The file name **contains** x64, such as ```Steam++_linux_x64_v3.0.0.tar.zst```.
-- ARM64 application
- - Applicable to devices using ARM64 chips, such as **Raspberry Pi Model 3+**.
- - The file name **contains** x64, such as ```Steam++_linux_arm64_v3.0.0.tar.zst```.
-## Android
-- General package (recommended)
- - All versions of binaries are included in this package and are applicable to all supported vices, but the file size is large.
- - The file name **only contains** android, such as ```Steam++_android_v3.0.0.apk```.
-- ~~arm64-v8a~~(Deprecated…)
- - Applicable to the use of current mainstream mobile phones or tablet devices
- - The file name **contains** arm64-v8a, such as ```Steam++_arm64-v8a_v3.0.0.apk```.
-- ~~armeabi-v7a~~(Deprecated…)
- - It is applicable to the use of old mobile phones or tablet devices, usually those roducedbefore the second half of **2014**.
- - The file name **contains** armeabi_v7a, such as ```Steam++_armeabi_v7a_v3.0.0.apk```.
-- ~~x86_64~~(Deprecated…)
- - Applicable to devices using Intel and AMD's x64 (x86-64) chips, such as simulators on PC.
- - The file name **contains** x64, such as ```Steam++_x64_v3.0.0.apk```.
-## ~~iOS/iPadOS~~(In development…)
-- Download in App Store
diff --git a/doc/download-guide.md b/doc/download-guide.md
deleted file mode 100644
index 746905396..000000000
--- a/doc/download-guide.md
+++ /dev/null
@@ -1,77 +0,0 @@
-⬇️ 下载指南
-
-
-[English](./download-guide.en.md) | 简体中文
-
-
-
-## Windows
-- 应用商店版
- - 在 Microsoft 应用商店中安装
- - 用户数据将存放于 ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
-- 便携版
- - 压缩包解压到任意文件夹即可,不可在压缩软件中运行
- - 用户数据将存放于程序根目录下 ```\AppData```
- - 文件扩展名为 7z 的,例如 ```Steam++_win_x64_v3.0.0.7z```。
-- 安装版
- - 安装包当前仅支持简体中文
- - 安装程序将会在注册表中写入软件信息
- - 用户数据将存放于 ```%LocalAppData%\Steam++```
- - 文件扩展名为 exe 的,例如 ```Steam++_win_x64_v3.0.0.exe```。
-- 64 位应用程序(推荐)
- - 仅适用于 64 位操作系统,[确定您的计算机运行的是 32 位版本还是 64 位版本的 Windows 操作系统](https://pport.microsoft.com/zh-cn/topic/%E7%A1%AE%E5%AE%9A%E6%82%A8%E7%9A%84%E8%AE%1%E7%AE%97%6%9C%BAE8%BF%90%E8%A1%8C%E7%9A%84%E6%98%AF-32-%E4%BD%8D%E7%89%88%E6%9C%C%E8%BF%98%E6%98%F-64-%E4%BD%D%E7%89%88%E6%9C%AC%E7%9A%84-windows-%E6%93%8D%E4%BD%C%E7%B3%BB%E7%BB%F-1b03ca69-c5e-4b04-827b-c0c47145944b)。
- - 文件名中**包含** x64 的,例如 ```Steam++_win_x64_v3.0.0.exe```。
-- 32 位应用程序
- - 适用于 32 位或 64 位操作系统。
- - 文件名中**包含** x86 的,例如 ```Steam++_win_x86_v3.0.0.exe```。
-- ~~ARM64 应用程序~~(适配中…)
- - 适用于使用 Arm64 CPU 的设备,例如 **微软 Surface Pro X/Surface Pro 9 5G** 等使用高通骁龙、联发科动处理的设备。
- - 文件名中**包含** arm64 的,例如 ```Steam++_win_arm64_v3.0.0.exe```。
-- 独立应用([SCD](https://learn.microsoft.com/zh-cn/dotnet/core/deploying/#publish-self-ontained)),会应用中包含 .NET 运行时,该应用的用户无需在运行应用前安装 .NET。 (推荐)
- - 文件名中**不包含** fde 的,例如 ```Steam++_win_x64_v3.0.0.exe```。
-- 依赖于框架的应用([FDE](https://learn.microsoft.com/zh-cn/dotnet/core/deploying/#publish-ramework-ependent)),则该应用不包含 .NET 运行时和库,而仅包含该应用和第三方依赖项。
- - 文件名中**包含** fde 的,例如 ```Steam++_win_x64_fde_v3.0.0.exe```。
- - 依赖于框架的应用相比独立应用因共享运行时,可减少本应用占用的磁盘空间,且运行时可由 Windows 更新进行安全补丁修复。
- - 需要安装以下运行时
- - ASP.NET 运行时 7.x
- - ASP.NET Core 运行时 7.x
- - 此应用不需要 IIS 支持,可仅安装相关运行时而不是托管捆绑包。
-## macOS
-- ARM64 应用程序
- - 适用于使用 ARM64(Apple Silicon) 芯片的 Mac,例如 **Apple M1/M2**。
- - 文件名中**包含** x64 的,例如 ```Steam++_macos_arm64_v3.0.0.dmg```。
-- 64 位应用程序
- - 适用于使用 Intel 的 x64(x86-64) 芯片的 Mac。
- - 文件名中**包含** x64 的,例如 ```Steam++_macos_x64_v3.0.0.dmg```。
-- ~~通用包~~(适配中…)
- - 所有版本的二进制文件都包含在此包中,适用于所有支持的设备,但文件体积较大。
-## Linux
-- 64 位应用程序
- - 适用于使用 Intel、AMD 的 x64(x86-64) 芯片的设备。
- - 文件名中**包含** x64 的,例如 ```Steam++_linux_x64_v3.0.0.tar.zst```。
-- ARM64 应用程序
- - 适用于使用 ARM64 芯片的设备,例如 **Raspberry Pi Model 3+**。
- - 文件名中**包含** x64 的,例如 ```Steam++_linux_arm64_v3.0.0.tar.zst```。
-## Android
-- 通用包(推荐)
- - 所有版本的二进制文件都包含在此包中,适用于所有支持的设备,但文件体积较大。
- - 文件名中**仅包含** android 的,例如 ```Steam++_android_v3.0.0.apk```。
-- ~~arm64-v8a~~(已弃用…)
- - 适用于使用目前主流的手机或平板设备
- - 文件名中**包含** arm64_v8a 的,例如 ```Steam++_android_arm64_v8a_v3.0.0.apk```。
-- ~~armeabi-v7a~~(已弃用…)
- - 适用于使用老旧的手机或平板设备,通常为 **2014** 年下半年之前生产的设备。
- - 文件名中**包含** armeabi_v7a 的,例如 ```Steam++_android_armeabi_v7a_v3.0.0.apk```。
-- ~~x86_64~~(已弃用…)
- - 适用于使用 Intel、AMD 的 x64(x86-64) 芯片的设备,例如 PC 上的模拟器。
- - 文件名中**包含** x64 的,例如 ```Steam++_android_x64_v3.0.0.apk```。
-## ~~iOS/iPadOS~~(开发中…)
-- 在 App Store 中下载
-
-
\ No newline at end of file
diff --git a/doc/file-system.md b/doc/file-system.md
new file mode 100644
index 000000000..f57693188
--- /dev/null
+++ b/doc/file-system.md
@@ -0,0 +1,21 @@
+# Steam++ v3.X FileSystem Document
+
+### 📁 Storage
+- AppData
+ - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
+ - Windows ```\AppData``` or ```%LocalAppData%\Steam++```
+ - macOS ```~/Library/Steam++```
+ - Linux ```$XDG_DATA_HOME/Steam++``` or ```$HOME/.local/share/Steam++```
+ - Android ```/data/data/net.steampp.app/files```
+- Cache
+ - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache```
+ - Windows ```\Cache``` or ```%Tmp%\Steam++```
+ - macOS ```~/Library/Caches/Steam++```
+ - Linux ```$XDG_CACHE_HOME/Steam++``` or ```$HOME/.cache/Steam++```
+ - Android ```/data/data/net.steampp.app/cache```
+- Logs
+ - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs```
+ - Windows ```\Logs``` or ```%Tmp%\Steam++\Logs```
+ - macOS ```~/Library/Caches/Steam++/Logs```
+ - Linux ```$XDG_CACHE_HOME/Steam++/Logs``` or ```$HOME/.cache/Steam++/Logs```
+ - Android ```/data/data/net.steampp.app/cache/Logs```
\ No newline at end of file
diff --git a/doc/publish.md b/doc/publish.md
new file mode 100644
index 000000000..bef8f13ac
--- /dev/null
+++ b/doc/publish.md
@@ -0,0 +1,172 @@
+# Steam++ v3.X Publish Document
+
+### Assets
+- Windows
+ - x64
+ - ```Steam++_vx.y.z_win_x64.msix```
+ - ```Steam++_vx.y.z_win_x64.7z```
+ - x86
+ - ```Steam++_vx.y.z_win_x86.msix```
+ - ```Steam++_vx.y.z_win_x86.7z```
+ - Arm64
+ - ```Steam++_vx.y.z_win_arm64.msix```
+ - ```Steam++_vx.y.z_win_arm64.7z```
+- Linux
+ - x64
+ - ```Steam++_vx.y.z_linux_x64.tar.zst```
+ - ```Steam++_vx.y.z_linux_x64.deb```
+ - ```Steam++_vx.y.z_linux_x64.rpm```
+ - Arm64
+ - ```Steam++_vx.y.z_linux_arm64.tar.zst```
+ - ```Steam++_vx.y.z_linux_arm64.deb```
+ - ```Steam++_vx.y.z_linux_arm64.rpm```
+- macOS
+ - x64
+ - ```Steam++_vx.y.z_macos_x64.pkg```
+ - Arm64
+ - ```Steam++_vx.y.z_macos_arm64.pkg```
+- Android
+ - Arm64
+ - ```Steam++_vx.y.z_android_arm64.apk```
+
+### Program File Structure
+- Windows
+ - dotnet 共享运行时,删除后将使用已安装的运行时,此目录参考 ```C:\Program Files\dotnet```,可自行升级运行库小版本号,二进制兼容
+ - host
+ - fxr
+ - x.y.z
+ - hostfxr.dll
+ - shared
+ - Microsoft.AspNetCore.App
+ - x.y.z
+ - Microsoft.NETCore.App
+ - x.y.z
+ - native
+ - win-x64
+ - 7z.dll
+ - av_libglesv2.dll
+ - e_sqlite3.dll
+ - libHarfBuzzSharp.dll
+ - libSkiaSharp.dll
+ - WebView2Loader.dll
+ - WinDivert.dll
+ - WinDivert64.sys
+ - assemblies 主模块程序集
+ - modules 可选模块
+ - ~~Update 自更新模块,删除该文件夹后禁用更新~~
+ - Steam++.Update.exe 更新程序,CDN 分发更新包,下载与解压在主程序中,此进程仅退出主程序执行覆盖操作
+ - Accelerator 网络加速
+ - Steam++.Accelerator.exe 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 Docker
+ - Steam++.Plugins.Accelerator.dll 插件程序集
+ - AccountSwitch 账号切换
+ - Steam++.Plugins.AccountSwitch.dll
+ - ~~ArchiSteamFarm~~
+ - Steam++.ArchiSteamFarm.exe
+ - Steam++.Plugins.ArchiSteamFarm.dll
+ - GameList 库存游戏
+ - Steam++.Plugins.GameList.dll
+ - LocalAuth 本地令牌
+ - Steam++.Plugins.LocalAuth.dll
+ - GameTools 游戏工具
+ - Steam++.Plugins.GameTools.dll
+ - Steam++.exe (主启动程序).NET Framework 二进制主程序
+ - Steam++.exe.config 使用该配置文件以允许在 .NET Framework 3.5 ~ 4.8.1 中任意版本中兼容运行(从 Windows 7 ~ 11 中所有系统自带运行时)
+ - ~~Steam++.Uninstall.exe 卸载程序(WinForms?AOT?)~~
+- Linux
+ - dotnet 共享运行时,删除后将使用已安装的运行时,此目录参考 [aspnetcore-runtime-7.0.7-linux-x64.tar.gz](https://download.visualstudio.microsoft.com/download/pr/c1e2729e-ab96-4929-911d-bf0f24f06f47/1b2f39cbc4eb530e39cfe6f54ce78e45/aspnetcore-runtime-7.0.7-linux-x64.tar.gz),可自行升级运行库小版本号,二进制兼容
+ - host
+ - fxr
+ - x.y.z
+ - hostfxr.dll
+ - shared
+ - Microsoft.AspNetCore.App
+ - x.y.z
+ - Microsoft.NETCore.App
+ - x.y.z
+ - native
+ - linux-x64
+ - libe_sqlite3.so
+ - libHarfBuzzSharp.so
+ - libSkiaSharp.so
+ - Steam++ (主启动程序) AppHost
+ - assemblies 主模块程序集
+ - modules 可选模块
+ - Accelerator 网络加速
+ - Steam++.Accelerator 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 Docker
+ - Steam++.Plugins.Accelerator 插件程序集
+ - AccountSwitch 账号切换
+ - Steam++.Plugins.AccountSwitch.dll
+ - ~~ArchiSteamFarm~~
+ - Steam++.ArchiSteamFarm.exe
+ - Steam++.Plugins.ArchiSteamFarm.dll
+ - GameList 库存游戏
+ - Steam++.Plugins.GameList.dll
+ - LocalAuth 本地令牌
+ - Steam++.Plugins.LocalAuth.dll
+- macOS
+ - Steam++.app (包含 arm64 与 x64 以及 .NET Runtime x2 与 ASP.NET Core Runtime 文件大小应该较大)
+ - Contents
+ - Info.plist
+ - MacOS
+ - Steam++ (主启动程序)
+ - MonoBundle
+ - dotnet 运行时,其中 Microsoft.NETCore.App 与 tfm macos 中将存在两份重复的,此目录参考 [aspnetcore-runtime-7.0.7-osx-arm64.tar.gz](https://ownload.visualstudio.microsoft.com/download/pr/97bb1f46-3b87-4475-bc06-e5cb7f4e6d0a/3e36e0c804c5805d2fe856505d7b1b3c/aspnetcore-runtime-7.0.7-osx-arm64.tar.gz)
+ - host
+ - fxr
+ - x.y.z
+ - hostfxr.dll
+ - shared
+ - Microsoft.AspNetCore.App
+ - x.y.z
+ - Microsoft.NETCore.App
+ - x.y.z
+ - modules 可选模块
+ - Accelerator 网络加速
+ - Steam++.Accelerator 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 ocker
+ - Steam++.Plugins.Accelerator.dll 插件程序集
+ - AccountSwitch 账号切换
+ - Steam++.Plugins.AccountSwitch.dll
+ - ~~ArchiSteamFarm~~
+ - Steam++.ArchiSteamFarm.dll
+ - Steam++.Plugins.ArchiSteamFarm.dll
+ - GameList 库存游戏
+ - Steam++.Plugins.GameList.dll
+ - LocalAuth 本地令牌
+ - Steam++.Plugins.LocalAuth.dll
+ - PkgInfo
+ - Resources
+
+
+
+
+
+### 安装 ASP.NET Core 运行时 & .NET 运行时
+- Windows
+ - [使用 Windows 包管理器 (winget) 进行安装](https://learn.microsoft.com/zh-cn/dotnet/core/install/windows?tabs=net70#install-with-windows-installer)
+ ```winget install Microsoft.DotNet.AspNetCore.7```
+- Linux
+ - [使用安装脚本或通过提取二进制文件在 Linux 上安装 .NET](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-scripted-manual)
+ ```wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh```
+ ```sudo chmod +x ./dotnet-install.sh```
+ ```./dotnet-install.sh --version latest --runtime aspnetcore```
+ - [排查与 Linux 上缺少文件相关的 .NET 错误](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-package-mixup?pivots=os-linux-redhat)
+- macOS
+ - [使用 Bash 自动化安装](https://learn.microsoft.com/zh-cn/dotnet/core/install/macos#install-with-bash-automation)
+ ```./dotnet-install.sh --channel 7.0 --runtime aspnetcore```
+
+
+### 自定义 .NET Host 文档
+- [编写自定义 .NET 主机以从本机代码控制 .NET 运行时](https://learn.microsoft.com/zh-cn/dotnet/core/tutorials/netcore-hosting)
+- [.NET 分发打包](https://learn.microsoft.com/zh-cn/dotnet/core/distribution-packaging)
+- [环境变量 - 指定 .NET 运行时的位置](https://learn.microsoft.com/zh-cn/dotnet/core/tools/dotnet-environment-variables#dotnet_root-dotnet_rootx86)
\ No newline at end of file
diff --git a/src/BD.WTTS.Client.AppHost/Program.cs b/src/BD.WTTS.Client.AppHost/Program.cs
index a2ac0483e..2f8bbf7e4 100644
--- a/src/BD.WTTS.Client.AppHost/Program.cs
+++ b/src/BD.WTTS.Client.AppHost/Program.cs
@@ -13,7 +13,7 @@ static unsafe partial class Program
{
public const string dotnet_version_major = "7";
public const string dotnet_version_minor = "0";
- public const string dotnet_version_build = "5";
+ public const string dotnet_version_build = "8";
public const string dotnet_version = $"{dotnet_version_major}.{dotnet_version_minor}.{dotnet_version_build}";
const string dotnet_runtime = "Microsoft.NETCore.App";
diff --git a/src/README.md b/src/README.md
index 1db93748a..02446ec22 100644
--- a/src/README.md
+++ b/src/README.md
@@ -107,183 +107,4 @@ TODO
// ReSharper disable once CheckNamespace
namespace Microsoft.Extensions.DependencyInjection
--->
-
-### 自定义 .NET Host 文档
-- [编写自定义 .NET 主机以从本机代码控制 .NET 运行时](https://learn.microsoft.com/zh-cn/dotnet/core/tutorials/netcore-hosting)
-- [.NET 分发打包](https://learn.microsoft.com/zh-cn/dotnet/core/distribution-packaging)
-- [环境变量 - 指定 .NET 运行时的位置](https://learn.microsoft.com/zh-cn/dotnet/core/tools/dotnet-environment-variables#dotnet_root-dotnet_rootx86)
-
-### 程序目录结构(Windows)
-- dotnet 共享运行时,删除后将使用已安装的运行时,此目录参考 ```C:\Program Files\dotnet```,可自行升级运行库小版本号,二进制兼容
- - host
- - fxr
- - x.y.z
- - hostfxr.dll
- - shared
- - Microsoft.AspNetCore.App
- - x.y.z
- - Microsoft.NETCore.App
- - x.y.z
-- native
- - win-x64
- - 7z.dll
- - av_libglesv2.dll
- - e_sqlite3.dll
- - libHarfBuzzSharp.dll
- - libSkiaSharp.dll
- - WebView2Loader.dll
- - WinDivert.dll
- - WinDivert64.sys
-- assemblies 主模块程序集
-- modules 可选模块
- - ~~Update 自更新模块,删除该文件夹后禁用更新~~
- - Steam++.Update.exe 更新程序,CDN 分发更新包,下载与解压在主程序中,此进程仅退出主程序执行覆盖操作
- - Accelerator 网络加速
- - Steam++.Accelerator.exe 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 Docker
- - Steam++.Plugins.Accelerator.dll 插件程序集
- - AccountSwitch 账号切换
- - Steam++.Plugins.AccountSwitch.dll
- - ~~ArchiSteamFarm~~
- - Steam++.ArchiSteamFarm.exe
- - Steam++.Plugins.ArchiSteamFarm.dll
- - GameList 库存游戏
- - Steam++.Plugins.GameList.dll
- - LocalAuth 本地令牌
- - Steam++.Plugins.LocalAuth.dll
- - GameTools 游戏工具
- - Steam++.Plugins.GameTools.dll
-- Steam++.exe (主启动程序).NET Framework 二进制主程序
-- Steam++.exe.config 使用该配置文件以允许在 .NET Framework 3.5 ~ 4.8.1 中任意版本中兼容运行(从 Windows 7 ~ 11 中所有系统自带运行时)
-- ~~Steam++.Uninstall.exe 卸载程序(WinForms?AOT?)~~
-
-### 程序目录结构(Linux)
-- dotnet 共享运行时,删除后将使用已安装的运行时,此目录参考 [aspnetcore-runtime-7.0.7-linux-x64.tar.gz](https://download.visualstudio.microsoft.com/download/pr/c1e2729e-ab96-4929-911d-bf0f24f06f47/1b2f39cbc4eb530e39cfe6f54ce78e45/aspnetcore-runtime-7.0.7-linux-x64.tar.gz),可自行升级运行库小版本号,二进制兼容
- - dotnet
- - host
- - fxr
- - x.y.z
- - hostfxr.dll
- - shared
- - Microsoft.AspNetCore.App
- - x.y.z
- - Microsoft.NETCore.App
- - x.y.z
-- native
- - linux-x64
- - libe_sqlite3.so
- - libHarfBuzzSharp.so
- - libSkiaSharp.so
-- Steam++.sh (主启动程序)
-- assemblies 主模块程序集
-- modules 可选模块
- - Accelerator 网络加速
- - Steam++.Accelerator.dll 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 Docker
- - Steam++.Plugins.Accelerator.dll 插件程序集
- - AccountSwitch 账号切换
- - Steam++.Plugins.AccountSwitch.dll
- - ~~ArchiSteamFarm~~
- - Steam++.ArchiSteamFarm.exe
- - Steam++.Plugins.ArchiSteamFarm.dll
- - GameList 库存游戏
- - Steam++.Plugins.GameList.dll
- - LocalAuth 本地令牌
- - Steam++.Plugins.LocalAuth.dll
-
-
-
-### 程序目录结构(macOS)
-- Steam++.app (包含 arm64 与 x64 以及 .NET Runtime x2 与 ASP.NET Core Runtime 文件大小应该较大)
- - Contents
- - Info.plist
- - MacOS
- - Steam++ (主启动程序)
- - MonoBundle
- - dotnet 运行时,其中 Microsoft.NETCore.App 与 tfm macos 中将存在两份重复的,此目录参考 [aspnetcore-runtime-7.0.7-osx-arm64.tar.gz](https://download.visualstudio.microsoft.com/download/pr/97bb1f46-3b87-4475-bc06-e5cb7f4e6d0a/3e36e0c804c5805d2fe856505d7b1b3c/aspnetcore-runtime-7.0.7-osx-arm64.tar.gz)
- - dotnet
- - host
- - fxr
- - x.y.z
- - hostfxr.dll
- - shared
- - Microsoft.AspNetCore.App
- - x.y.z
- - Microsoft.NETCore.App
- - x.y.z
- - modules 可选模块
- - Accelerator 网络加速
- - Steam++.Accelerator.dll 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 Docker
- - Steam++.Plugins.Accelerator.dll 插件程序集
- - AccountSwitch 账号切换
- - Steam++.Plugins.AccountSwitch.dll
- - ~~ArchiSteamFarm~~
- - Steam++.ArchiSteamFarm.dll
- - Steam++.Plugins.ArchiSteamFarm.dll
- - GameList 库存游戏
- - Steam++.Plugins.GameList.dll
- - LocalAuth 本地令牌
- - Steam++.Plugins.LocalAuth.dll
- - PkgInfo
- - Resources
-
-对子服务进程二进制程序的 RID 使用 ```RuntimeInformation.ProcessArchitecture.ToString()```
-通过 ```PublishFolderType="Assembly"``` 指定 Copy 到 MonoBundle 中,没有其他选项能够将其放在 MacOS 文件夹中
-
-### 应用分发(安装包程序方案)
-- Steam 软件商店
- - 待上架
- - 对接 API 加入 CI/CD 自动化
-- Windows
- - 应用商店分发受限于网络情况,一些用户连不上 Microsoft Store,比如应用商店显示错误 ```我们这边出了错 0x80240438```😅
- - msix 格式不够简单方便
- - msi 格式在小部分用户设备上会因权限问题导致 2502/2503 错误
- - NSIS 现使用的自定义方面不够好
- - exe 单文件 Setup.exe 最合适,使用 net4.0 WinForms Or net8 WinForms AOT? UI 可参考 .NET Runtime 安装界面
- - UI 多语言支持
- - 注册表写入软件信息
- - 7z 解压程序文件(进度条)
-- Linux
- - tar.zst 压缩包
- - deb Debian 软件包
- - rpm RPM 包
-- macOS
- - dmg 磁盘镜像安装包
-- iOS
- - AppStore
- - 待上架
- - 对接 API 加入 CI/CD 自动化
-- Android
- - Google Play
- - 待上架
- - 酷安
- - 待上架
- - 手机厂商应用商店
- - TODO
-
-### 📁 存储空间
-- AppData
- - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
- - Windows ```\AppData``` or ```%LocalAppData%\Steam++```
- - macOS ```~/Library/Steam++```
- - Linux ```$XDG_DATA_HOME/Steam++``` or ```$HOME/.local/share/Steam++```
- - Android ```/data/data/net.steampp.app/files```
-- Cache
- - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache```
- - Windows ```\Cache``` or ```%Tmp%\Steam++```
- - macOS ```~/Library/Caches/Steam++```
- - Linux ```$XDG_CACHE_HOME/Steam++``` or ```$HOME/.cache/Steam++```
- - Android ```/data/data/net.steampp.app/cache```
-- Logs
- - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs```
- - Windows ```\Logs``` or ```%Tmp%\Steam++\Logs```
- - macOS ```~/Library/Caches/Steam++/Logs```
- - Linux ```$XDG_CACHE_HOME/Steam++/Logs``` or ```$HOME/.cache/Steam++/Logs```
- - Android ```/data/data/net.steampp.app/cache/Logs```
\ No newline at end of file
+-->
\ No newline at end of file