QBMWServices Technical Support Runbook

Install, verify, repair, update, and troubleshoot QBMWServices as the API bridge for QBM web apps.

Guide Summary

AudienceSupport staff, implementation team, AI agents, and developers.
Applies ToQBMWServices Windows service, QSalesView, QClock, QBM Server, SQL Server, Cloudflare Tunnel.
PurposeProvide repeatable service checks and repair steps for QBMWServices support cases.
Last Updated2026-05-18

Baseline Details

ItemCommon ValueExpected Result
Installation folderC:\QBMWServices\x64Contains QBMWServices.exe, DLLs, configuration, and logs.
Service nameQBMWServicesWindows service exists and can start automatically.
Startup fileQBMWServices.exeService runs the published executable.
Configurationappsettings.jsonContains Kestrel and ProductKey settings. Secrets must be protected.
API port8053Local API listens for browser app requests.
Log folderC:\QBMWServices\x64\LogsContains service logs when logging is enabled.

Support Commands

# Shows whether the Windows service exists and whether it is running.
Get-Service -Name 'QBMWServices'

# Shows whether the local API port is listening.
Get-NetTCPConnection -LocalPort 8053

# Confirms the local TCP connection can open.
Test-NetConnection -ComputerName localhost -Port 8053

# Checks the HTTP endpoint. A 404 at the root can be normal; connection refused is not normal.
curl.exe -I http://localhost:8053

Expected result: Service status is Running, port 8053 is listening, TCP test succeeds, and HTTP reaches the service even if the root route is not a functional page.

Configuration

  • Keep appsettings.json beside the published executable.
  • Confirm ProductKey exists, but do not copy the full key into tickets or chat.
  • Confirm Kestrel binding includes the expected URL, commonly http://0.0.0.0:8053 or http://localhost:8053.
  • Confirm the service account can read application files and write logs.
  • If Windows blocks binding, review URL reservations and administrator permissions.
# This is a support example; change the account according to customer policy.
netsh http add urlacl url=http://+:8053/ user=Everyone

Startup Failures

SymptomLikely CauseSupport Check
Service starts then stopsConfiguration error, missing dependency, port conflict, permission issue.Review Logs folder and Windows Event Viewer.
Port not listeningService not running, Kestrel binding issue, blocked URL reservation.Check service status, appsettings.json, and URL ACL.
Access denied at startupService account cannot read files or bind to URL.Check folder permissions and URL reservation.
Product key errorMissing or invalid ProductKey.Confirm key is present without exposing it.

Login And Timeout Failures

  • If login does not reach QBMWServices, check the Service Address, Cloudflare Tunnel, and port 8053.
  • If QBMWServices is reached but login fails, check QBM Server status, SQL Server status, and database name.
  • If permission checks time out, check QBM Server responsiveness and security group access.
  • If manager reports are blocked, check QSalesView manager report permission and cost/profit permissions when those reports are requested.

Update And Reinstall

  1. Back up the current appsettings.json and note the current service status.
  2. Stop QBMWServices before replacing published files.
  3. Replace application files without deleting the working production configuration unless the new file is already correct.
  4. Start QBMWServices and verify port 8053.
  5. Test local API, Cloudflare public URL if used, and a QSalesView login.
# Stop before replacing files.
Stop-Service -Name 'QBMWServices'

# Start after files and configuration are ready.
Start-Service -Name 'QBMWServices'

Troubleshooting Decision Tree

  1. Does the service exist? If no, install or register it.
  2. Is the service running? If no, start it and check logs if it stops.
  3. Is 8053 listening? If no, check binding, URL ACL, firewall, and port conflict.
  4. Does local HTTP reach the service? If no, review logs and Kestrel settings.
  5. Can QBMWServices reach QBM Server? If no, fix QBM Server, private port, firewall, or server name.
  6. Can QBM Server reach SQL Server and the database? If no, repair SQL Server or database access.
  7. If infrastructure is healthy, check ProductKey, token, application permission, and report permission.

What To Send To Support

  • Service status screenshot or command output.
  • Port 8053 listener result.
  • Relevant log files from the issue time.
  • appsettings.json with ProductKey and secrets masked.
  • QSalesView or QClock exact error and timestamp.
  • Cloudflare tunnel target if public access is involved.

Security Notes

  • Do not expose product keys, passwords, tunnel tokens, or raw customer database backups.
  • Do not expose QBM Server or SQL Server directly to the internet.
  • Use the least service account permissions that still allow the service to read files, bind the URL, and write logs.