91 lines
3.5 KiB
Markdown
91 lines
3.5 KiB
Markdown
# Uninstalling
|
|
|
|
## TL;DR
|
|
|
|
**Settings → Apps & features → Webhook Server → Uninstall.** Or right-click the **Uninstall Webhook Server** Start Menu shortcut.
|
|
|
|
Your endpoints, secrets, and logs in `C:\ProgramData\WebhookServer\` are preserved by default. To wipe those too, see [Below](#wiping-config-and-logs-too).
|
|
|
|
## What the uninstaller does
|
|
|
|
In order:
|
|
|
|
1. **Stops the service** (`net stop WebhookServer`).
|
|
2. **Removes the service** registration via `uninstall-service.ps1` (which calls `sc.exe delete WebhookServer`).
|
|
3. **Deletes** `C:\Program Files\WebhookServer\`.
|
|
4. **Removes** the Start Menu and (if created) Desktop shortcuts.
|
|
5. **Removes** the Programs and Features entry.
|
|
|
|
What it **does not** touch:
|
|
|
|
- `C:\ProgramData\WebhookServer\` (config, secrets, log files, auto-snapshots)
|
|
- Any cert in your local cert store you bound HTTPS to
|
|
- Domain accounts / gMSAs the service ran under
|
|
- Endpoints' deployed scripts, if you stored them outside the install dir
|
|
|
|
## Wiping config and logs too
|
|
|
|
After running the uninstaller, also remove the data root:
|
|
|
|
```powershell
|
|
# from elevated PowerShell
|
|
Remove-Item -Recurse -Force "$env:ProgramData\WebhookServer"
|
|
```
|
|
|
|
This deletes:
|
|
|
|
- `config.json` (with all your endpoints, encrypted secrets, settings)
|
|
- `backups\` (all auto-snapshots — you can't restore from these once gone)
|
|
- `logs\` (history of every webhook hit)
|
|
|
|
There's no recovery from this. If you might want to reinstall later with the same configuration, copy `config.json` to a safe location first. Note that **secrets in the saved config can only be decrypted on the same machine** (DPAPI LocalMachine scope) — you can move the file but the bearer/HMAC/RunAs passwords inside become unrecoverable on a different host.
|
|
|
|
## Silent uninstall
|
|
|
|
The Programs and Features uninstaller is `unins000.exe` in the install directory:
|
|
|
|
```powershell
|
|
# from elevated PowerShell
|
|
& "C:\Program Files\WebhookServer\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
|
|
```
|
|
|
|
Same set of preserved/removed paths as the interactive flow.
|
|
|
|
## Removing only the service, keeping the binaries
|
|
|
|
If you want to keep the GUI installed but stop running the service (rare, but useful if you're testing):
|
|
|
|
```powershell
|
|
# from elevated PowerShell
|
|
sc.exe stop WebhookServer
|
|
sc.exe delete WebhookServer
|
|
```
|
|
|
|
The GUI will show **Disconnected** since there's no service to talk to. Re-create the service later by running `install-service.ps1`:
|
|
|
|
```powershell
|
|
& "C:\Program Files\WebhookServer\scripts\install-service.ps1" `
|
|
-BinaryPath "C:\Program Files\WebhookServer\WebhookServer.Service.exe"
|
|
```
|
|
|
|
## Edge cases
|
|
|
|
### "The service cannot be stopped because it has not been started."
|
|
|
|
Harmless. The uninstaller proceeds regardless.
|
|
|
|
### "Cannot delete: file in use"
|
|
|
|
A GUI window or other process is holding files in `C:\Program Files\WebhookServer\` open. Close everything and re-run the uninstaller. If that fails, reboot and re-run.
|
|
|
|
### Programs and Features entry remains after files are gone
|
|
|
|
If you deleted `C:\Program Files\WebhookServer\` manually before running the uninstaller, `unins000.exe` is gone too and Programs and Features can't run it. Remove the orphan entry by deleting its registry key:
|
|
|
|
```powershell
|
|
# from elevated PowerShell - dry run to confirm the key exists
|
|
Get-Item 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\{6E3B3C1A-9C20-4F50-B6A8-2B6D6D7E2F11}_is1' -ErrorAction SilentlyContinue
|
|
# if it shows up, delete it:
|
|
Remove-Item 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\{6E3B3C1A-9C20-4F50-B6A8-2B6D6D7E2F11}_is1' -Recurse
|
|
```
|