From b60d5401e4e1c2fe875111e787586ef6a10ec4f4 Mon Sep 17 00:00:00 2001 From: MaxFan Date: Mon, 11 May 2026 16:52:08 +0330 Subject: [PATCH] Document standalone runtime behavior --- README.md | 8 ++++++-- docs/BUILD.md | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ce7cf4b..12881ec 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,16 @@ Public downloads should be attached to GitHub Releases after the checklist is co ## Build -Requirements: +End-user requirements for the recommended standalone release: - Windows 10/11 - 64-bit Windows (`win-x64`). 32-bit Windows is not supported by the current release package. -- .NET 8 SDK - Administrator privileges when running the app, because route and packet interception features need elevated access +- No separate .NET Runtime installation is required for the self-contained standalone EXE. + +Developer requirements for building from source: + +- .NET 8 SDK ```powershell dotnet build AppTunnel.sln -c Release diff --git a/docs/BUILD.md b/docs/BUILD.md index 1b9601c..d832133 100644 --- a/docs/BUILD.md +++ b/docs/BUILD.md @@ -4,12 +4,16 @@ TunnelX currently targets 64-bit Windows only. The project file sets `PlatformTarget` to `x64`, and the bundled native components under `AppTunnel/NativeLibs/x64` are required for the current build. +Building from source requires the .NET 8 SDK. Running a framework-dependent developer build requires the .NET 8 Desktop Runtime or SDK on the machine. + ```powershell dotnet build AppTunnel.sln -c Release ``` ## Standalone Compressed EXE +This is the recommended public release format. It is self-contained, so users do not need to install .NET 8 separately. Native components are bundled and extracted by the app at runtime when needed. + ```powershell dotnet publish AppTunnel\AppTunnel.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false -o publish\TunnelX-standalone-compressed-exe ``` @@ -30,3 +34,7 @@ TunnelX-v1.2.21-standalone-compressed.exe - Confirm third-party license notices are current. - Confirm the app version in `AppTunnel/AppTunnel.csproj`. - Attach release artifacts only to GitHub Releases; do not commit generated `publish/` or `Releases/` output. + +## Missing Runtime Behavior + +The app cannot show a custom .NET missing-runtime message if it is built as framework-dependent and the target machine does not have the required .NET Desktop Runtime, because the .NET host fails before TunnelX code starts. For public releases, publish the self-contained standalone EXE instead of relying on runtime installation. If an installer is added in the future, the installer/bootstrapper can check and install prerequisites before launching the app.