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.11+ 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

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 Remote Sink, and confirm it shows Running.

You can also check from PowerShell:

Terminal window
Get-Service -Name NexomaticRemoteSink

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\NexomaticRemoteSink\Environment

Set the following values (type REG_SZ):

Terminal window
$svcKey = "HKLM:\SYSTEM\CurrentControlSet\Services\NexomaticRemoteSink\Environment"
New-Item -Path $svcKey -Force | Out-Null
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 CLIENT_ID -Value "REMOTE:BASE"
Set-ItemProperty -Path $svcKey -Name CLIENT_SECRET -Value "<your-secret>"
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 NexomaticRemoteSink binPath= "C:\Program Files\NexomaticSink\venv\Scripts\python.exe C:\Program Files\NexomaticSink\sink_service.py" start= auto
sc.exe failure NexomaticRemoteSink reset= 60 actions= restart/5000/restart/5000/restart/5000
sc.exe failureflag NexomaticRemoteSink 1
sc.exe start NexomaticRemoteSink

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 NexomaticRemoteSink
# Start
Start-Service NexomaticRemoteSink
# Restart
Restart-Service NexomaticRemoteSink
# View recent log entries (Event Viewer)
Get-EventLog -LogName Application -Source NexomaticRemoteSink -Newest 20

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

Terminal window
sc.exe stop NexomaticRemoteSink
sc.exe delete NexomaticRemoteSink
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