Windows Client
FRP Auto Deploy v2.2.1 includes a native Windows amd64 client path using the same server enrollment protocol and pinned FRP 0.71.0.
Support and validation
The Windows implementation targets Windows 10 / 11 / Server 2019+ on amd64 with Windows PowerShell 5.1 or PowerShell 7+. The stable field-validation claim is narrower:
- Windows 10 / PowerShell 5.1 — Real E2E validated
- PowerShell 7 — CI validated unless the real test host actually has
pwsh installed
- Windows ARM64 is not supported in v2.2.1
See Supported Platforms for the exact validation matrix.
Enroll the Windows client
On the server, create a Zero-Touch enrollment and use the Windows bootstrap command generated by the stable server. Do not reconstruct a ticket or enrollment payload from documentation.
Do not use irm | iex. The Windows bootstrap path is designed to download the PowerShell installer, verify its SHA-256 against the release checksums, and execute it with -File.
If you are running the tagged installer manually, the execution form is:
Use values generated by your server; the Bootstrap Ticket is a short-lived secret.
Runtime layout
The stable client stores its managed files below:
Verify and operate
In an elevated PowerShell window:
Common lifecycle actions use the same wrapper:
Reboot and autostart
v2.2.1 installs a product-owned Windows Scheduled Task named:
It runs as SYSTEM on a boot trigger and starts the managed FRP client without requiring an interactive login.
You can inspect it with:
RDP and other services
Windows can publish RDP (3389) or other reachable TCP services, including services on another LAN host.
FRP Auto Deploy does not enable Remote Desktop, change Windows Firewall, create credentials, or configure NLA. A publicly mapped RDP service should be protected with appropriate external firewall/ACL policy and strong Windows authentication.
For v2.2.1, do not assume built-in per-service source-IP allowlists; see Security Overview.
Uninstall and release
Local uninstall preserves the server-side client record and public-port reservations. If the machine is permanently retired, release it separately from the server:
See Lifecycle Semantics before revoking or releasing a client.