mirror of
https://github.com/MaxiFan/TunnelX.git
synced 2026-05-19 08:04:41 +03:00
Document standalone runtime behavior
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -33,6 +33,8 @@ Use this checklist before making the repository public or attaching a release bu
|
||||
- [ ] Run `dotnet build AppTunnel.sln -c Release`.
|
||||
- [ ] Run standalone publish command from `docs/BUILD.md`.
|
||||
- [ ] Confirm final file name includes version, for example `TunnelX-v1.2.21-standalone-compressed.exe`.
|
||||
- [ ] Confirm public downloads are self-contained standalone builds, not framework-dependent developer builds.
|
||||
- [ ] Confirm release notes say the standalone EXE does not require a separate .NET Runtime installation.
|
||||
- [ ] Do not publish a 32-bit build unless x86 native dependencies and the full networking test matrix have been verified.
|
||||
|
||||
## Network Test Matrix
|
||||
|
||||
Reference in New Issue
Block a user