-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
This page covers a fresh install. If you already have Webhook Server installed, see Upgrading. To remove it, see Uninstalling.
- Windows 10, Windows 11, or Windows Server 2019 / 2022 / 2025
- Administrator rights to install the service and to run the GUI
- .NET 8 runtimes (the installer downloads + installs them automatically if missing — see below)
- (Optional, only if you publish from source) .NET 8 SDK
The installer is x64 only. There is no x86 build.
Webhook Server is published as framework-dependent (so the installer stays small) and needs two .NET 8 runtimes on the target machine:
| Runtime | Used by | Auto-installed by setup |
|---|---|---|
ASP.NET Core 8 Runtime (Microsoft.AspNetCore.App 8.x) |
the Service / Kestrel | Yes |
.NET Desktop Runtime 8 (Microsoft.WindowsDesktop.App 8.x) |
the WPF GUI | Yes |
A clean Windows Server install has neither. The installer detects what's missing and downloads + installs each one silently before copying our files. If the machine has no internet access, install them manually first:
- ASP.NET Core 8 Runtime — https://aka.ms/dotnet/8.0/aspnetcore-runtime-win-x64.exe
- .NET Desktop Runtime 8 — https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe
Run each with /install /quiet /norestart for unattended installs, or just double-click. A reboot is rarely required.
To check what's already installed:
dotnet --list-runtimes
# expect to see Microsoft.AspNetCore.App 8.x.y and Microsoft.WindowsDesktop.App 8.x.yGrab the latest installer from the GitHub Releases page:
https://github.com/recklessop/webhook-server/releases/latest
Look for the asset named WebhookServer-Setup-X.Y.Z.exe.
Double-click the .exe. UAC will prompt — accept. The wizard:
- Copies the binaries to
C:\Program Files\WebhookServer\ - Creates a Start Menu folder named Webhook Server with a GUI shortcut + Uninstall shortcut
- Optionally creates a desktop shortcut (checkbox; off by default)
-
Registers the Windows Service named
WebhookServer, runs it asLocalSystem, sets it to start automatically at boot, and configures it to restart on failure - Starts the service
- Offers to launch the GUI when finished — leave the checkbox ticked
The first time the GUI opens, you'll see UAC prompt again because the GUI requires elevation (it talks to the service over a named pipe restricted to SYSTEM and the Administrators group). Accept it.
If the GUI's status bar shows a green dot and Connected — HTTP 8080, you're done.
Default ports: HTTP on
8080, HTTPS off. Both can be changed under Server → Settings. Port8080is rarely in use on a fresh server but conflicts with some other tools — if you seeConnection refusedlater, this is the first thing to check.
In the GUI:
- File → New endpoint
- Slug:
ping - Auth → Mode: None
- Executor → Type: Windows PowerShell
- Executor → Inline command:
Write-Output 'pong' - Click Save
The endpoint appears in the grid. Right-click it → Copy URL, paste into a browser. You should get back something like:
{ "runId": "...", "exitCode": 0, "durationMs": 134, "stdout": "pong\r\n", ... }That's it. Real-world recipes start with Zerto ZVMA pre/post → notify + VM health check.
For deploying to many machines via Group Policy, SCCM, Intune, Ansible, etc. — the installer is built with Inno Setup and supports its standard silent-mode flags:
WebhookServer-Setup-0.1.1.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTARTUseful flags:
| Flag | What it does |
|---|---|
/SILENT |
Show progress, no questions |
/VERYSILENT |
No UI at all |
/SUPPRESSMSGBOXES |
Suppress info / error popups (use with /SILENT or /VERYSILENT) |
/NORESTART |
Don't restart automatically — there's nothing here that needs it, but pair with /SUPPRESSMSGBOXES for total quiet |
/DIR="C:\Tools\WebhookServer" |
Override the install location |
/LOG="C:\Temp\install.log" |
Write a verbose installer log |
/TASKS="desktopicon" |
Pre-tick the optional desktop-icon task |
The post-install service install runs the same install-service.ps1 script regardless of silent flags.
# clone (or your fork)
git clone https://github.com/recklessop/webhook-server.git
cd webhook-server
# from an elevated PowerShell:
powershell -ExecutionPolicy Bypass -File scripts\deploy.ps1deploy.ps1 publishes both projects, copies the binaries to C:\Program Files\WebhookServer\, registers the service, and starts it. Re-run after a git pull to upgrade.
To run the service under a non-default account (e.g. a gMSA for AD operations), pass -ServiceAccount:
.\scripts\deploy.ps1 -ServiceAccount 'CONTOSO\svc-webhookserver$'See Service account & Active Directory for the full picture.
| Path | What |
|---|---|
C:\Program Files\WebhookServer\ |
Binaries (WebhookServer.Service.exe, WebhookServer.Gui.exe, the icon, install/uninstall scripts) |
C:\ProgramData\WebhookServer\config.json |
The configuration. Backups in backups\, daily-rolling logs in logs\. Don't edit by hand — secrets are DPAPI-encrypted and the service won't pick up your changes without a reload. Use the GUI. |
\\.\pipe\WebhookServerAdmin |
The named pipe the GUI uses to talk to the service. ACL'd to SYSTEM + Administrators only. |
The installer never touches C:\ProgramData\WebhookServer\. Uninstalling preserves your config and logs by default; see Uninstalling for how to wipe them too.