Skip to content

Install on Windows

import { Aside } from ‘@astrojs/starlight/components’;

The Windows sink runs as a Windows Service and survives reboots automatically. It supports self-updating — when your administrator publishes a new version, the service downloads and installs the update without manual intervention.


  • Windows 10 / Windows Server 2016 or later
  • Python 3.12+ installed and on PATH, or use the provided installer which bundles a runtime
  • Network connectivity to the Hub host and port (outbound TCP — no inbound rules needed)
  • Administrator privileges on the machine
  • A configured Sink Type with its Client ID and Client Secret (see Sink Types & Configuration)

The recommended approach is to use the Inno Setup installer provided by your administrator.

Double-click the .exe installer and follow the wizard. You will be prompted for:

FieldValue
Hub HostHostname or IP of the Hub (e.g. hub.example.com)
Hub PortPort the Hub listens on (default 50051)
Client SecretThe secret for this Sink Type (provided by your admin)
Tenant UUID (optional)Your tenant UUID if pinning to a single tenant
Tenant Secret (optional)Tenant registration secret if required

Open Services (services.msc), find Nexomatic Sink, and confirm it shows Running.

You can also check from PowerShell:

Terminal window
Get-Service -Name NexomaticSink

Within a few seconds the sink should appear as ONLINE on the Sinks screen in Nexomatic.


If you need to install without the wizard (e.g. in a scripted deployment), follow these steps.

Copy the sink files to a directory, for example C:\Program Files\NexomaticSink\.

Terminal window
cd "C:\Program Files\NexomaticSink"
python -m venv venv
.\venv\Scripts\pip install -r requirements.txt

The service reads its configuration from the Windows Registry under:

HKLM\SYSTEM\CurrentControlSet\Services\NexomaticSink\Environment

Set the following values (type REG_SZ):

Terminal window
$svcKey = "HKLM:\SYSTEM\CurrentControlSet\Services\NexomaticSink\Environment"
New-Item -Path $svcKey -Force | Out-Null
Set-ItemProperty -Path $svcKey -Name SERVER_URL -Value "https://controller.example.com"
Set-ItemProperty -Path $svcKey -Name HUB_HOST -Value "hub.example.com"
Set-ItemProperty -Path $svcKey -Name HUB_PORT -Value "50051"
Set-ItemProperty -Path $svcKey -Name HUB_TLS -Value "true"
Set-ItemProperty -Path $svcKey -Name CLIENT_ID -Value "REMOTE:WINDOWS"
Set-ItemProperty -Path $svcKey -Name CLIENT_SECRET -Value "<your-secret>"
Set-ItemProperty -Path $svcKey -Name AUTH_METHOD -Value "client_credentials"
Set-ItemProperty -Path $svcKey -Name TENANT_UUID -Value "<your-tenant-uuid>"
Set-ItemProperty -Path $svcKey -Name TENANT_SECRET -Value "<your-tenant-secret>"
Terminal window
sc.exe create NexomaticSink binPath= "C:\Program Files\NexomaticSink\venv\Scripts\python.exe C:\Program Files\NexomaticSink\sink_service.py" start= auto
sc.exe failure NexomaticSink reset= 60 actions= restart/5000/restart/5000/restart/5000
sc.exe failureflag NexomaticSink 1
sc.exe start NexomaticSink

When your administrator publishes a new version, the Hub signals the running service to update. The service will:

  1. Finish any in-progress tasks
  2. Download the new installer silently
  3. Apply the update and restart

No manual action is required. The service will be briefly unavailable during the update (typically under 30 seconds).


Terminal window
# Stop
Stop-Service NexomaticSink
# Start
Start-Service NexomaticSink
# Restart
Restart-Service NexomaticSink
# View recent log entries (Event Viewer)
Get-EventLog -LogName Application -Source NexomaticSink -Newest 20

Run the uninstaller from Add or Remove Programs, or from PowerShell:

Terminal window
sc.exe stop NexomaticSink
sc.exe delete NexomaticSink
Remove-Item -Recurse "C:\Program Files\NexomaticSink"

SymptomLikely causeFix
Service fails to startMissing or wrong credentialsCheck registry values with Get-ItemProperty
Sink shows OFFLINE in UICannot reach HubCheck firewall — outbound TCP to Hub host:port must be allowed
Tasks not runningSink Type mismatchConfirm CLIENT_ID matches the Sink Type registered in Nexomatic
Update stuckInstaller running silentlyWait 60 seconds; if still stuck, manually restart the service