Deployment guide for IT admins

This guide is for the IT admin rolling out DeskTest.net across a fleet of front-desk workstations. Get the diagnostics working reliably on every machine so your tier-1 staff can use DeskTest.net as the first stop when a user reports "the scanner stopped working" or "the signature pad isn't responding." Done right, your tier-1 team triages most peripheral tickets from a copy-pasted report, without screen-sharing.

Why centralize on DeskTest.net

One URL your users land on. One set of diagnostics you have read the source of. Copy-paste reports that go straight into your ticket system. No per-workstation installation for most of the tools (the page runs in any modern browser). The two tools that depend on local services (Scanner Test and Signature Pad Test) only need the same vendor driver your line-of-business app already requires, so deploying DeskTest.net usually adds zero new agents to your image.

The deployment shape is the same at any scale: seed two config files, push managed bookmarks to all the tools, train tier-1 on the copy-report button.

Per-tool deployment matrix

Most of the site needs nothing on the workstation. Two tools (Scanner Test and Signature Pad Test) depend on local vendor services. Here is the full breakdown.

Tool Workstation requirement Extra config
Full Workstation Checkup None (browser only) None
Connection Check None (browser only) Outbound egress to edge.desktest.net (Cloudflare Worker edge) only: reachability, a sustained ping soak, throwaway speed bytes, a cloud-app reachability check, and a clock check
Meeting Readiness None (browser only) Browser prompts for camera + microphone; latency and jitter to edge.desktest.net, the A/V checks are local
Front-Desk Station Check None (browser only) None (links out to each peripheral test; nothing leaves this page)
Phone Check None (browser only) A quick reachability check to edge.desktest.net; some sensors need a tap to enable on iOS; everything else is local
Display Check None (browser only) None (fully local; nothing leaves the tab; runs on any modern browser, including smart TV and game-console browsers)
Scanner Test FIS WebScan installed DeskTest.net in WebScan origin whitelist
Signature Pad Test Topaz SigWeb installed Firefox only: Topaz CA cert imported
PDF Test None (browser only) None
Printer Test None (browser only) None
SiteLink Test None (browser only) None
Microphone Test None (browser only) Browser must allow microphone permission (user prompt)
Recording Quality Check None (browser only) Needs a microphone (browser prompts); best on Chrome/Edge (Safari forces noise processing on); fully local, audio never leaves the tab
Webcam Test None (browser only) Browser must allow camera permission (user prompt)
Camera Quality Check None (browser only) Browser prompts for camera; delivered frame rate is exact on Chrome/Edge/Safari, estimated on Firefox
Speaker Test None (browser only) None
Echo and Latency Test None (browser only) Browser prompts for microphone (Web Audio); fully local, makes no network request
Keyboard Test None (browser only) None
Keyboard Layout Test None (browser only) Chrome/Edge read the layout exactly; other browsers use an interactive fallback
Display Test None (browser only) None
Refresh Rate Test None (browser only) None (fully local; keep the tab in front while it measures)
Accessibility and Zoom Check None (browser only) None (a few queries are Chromium-only and shown as "not detectable")
Browser Test None (browser only) None
Cache and Update Test None (browser only) None (reads service workers and cache storage locally; read-only, makes no network request)
Browser and OS Currency Check None (browser only) None (fully local; exact version on Chrome/Edge, user-agent fallback on other browsers)
Security Key Test Any modern browser with WebAuthn None
System Info None (browser only) None
Font Presence Check None (browser only) Exact installed-font list is a Chromium opt-in; other browsers probe for known fonts
Web App Readiness Test None (browser only) None
Notification Test None (browser only) Browser prompts to allow notifications; fully local, makes no network request
Clipboard Test None (browser only) Clipboard read is a Chromium opt-in; other browsers use a paste fallback. Pasted content never leaves the tab
Performance Test None (browser only) None
Screen Share Test None (browser only) Browser prompts the user to pick a screen or window to share
Kiosk Readiness Check Chromium-based browser (Chrome/Edge) for full lockdown Wake lock, keyboard lock, and idle detection are Chromium-only and degrade honestly elsewhere; fully local, makes no network request
Barcode Scanner Test None (browser only) Optional camera scan prompts for camera
Card Reader Test None (browser only) Keyboard-wedge capture; card data is masked and never leaves the tab (no network request)
NFC Tag Test Android phone/tablet with Chrome Web NFC is Android Chrome only; desktop and iOS show "open on Android". Fully local, tag content stays on the device (no network request)
Touchscreen Test None (browser only) None
Pen and Stylus Test None (browser only) None (fully local; uses Pointer Events)
Call Readiness Test None (browser only) Browser prompts for camera + microphone
Device Selection Check None (browser only) Browser prompts for camera + microphone
Network Test None (browser only) Outbound egress to documented public CDNs (Cloudflare, Google, Microsoft) and DNS-over-HTTPS endpoints
Speed Test None (browser only) Outbound download and upload to edge.desktest.net (Cloudflare Worker edge); random filler is generated and discarded, never your files
Connection Stability Test None (browser only) Outbound WebSocket to edge.desktest.net (Cloudflare Worker edge)
USB Device Test Chromium-based browser (Chrome/Edge) WebUSB/WebHID require Chromium; Firefox and Safari will report "limited"
Bluetooth Test Chrome or Edge Web Bluetooth requires Chrome or Edge (desktop or Android); Firefox and Safari show "not supported". Fully local, makes no network request
Serial Peripheral Test Chromium-based browser (Chrome/Edge) on desktop Web Serial requires Chromium; other browsers show "not supported". Fully local, makes no network request
Mouse Test None (browser only) None
Controller Test None (browser only) None (Gamepad API; fully local, makes no network request)
MIDI Test Chrome or Edge Web MIDI requires Chrome or Edge; Firefox and Safari show "not supported". Fully local, makes no network request
WebRTC Test None (browser only) Outbound UDP to STUN servers (stun.l.google.com:19302, stun.cloudflare.com:3478)
Proxy Test None (browser only) Outbound egress to edge.desktest.net (Cloudflare Worker edge reflector)
Clock Test None (browser only) Outbound egress to edge.desktest.net for a trusted time reference
SaaS Reachability Test None (browser only) Outbound egress to edge.desktest.net and the SaaS endpoints being checked (Microsoft 365, and similar)
Email Header Check None (browser only) None (parses pasted headers locally; makes no network request)
Certificate Check None (browser only) None (parses the pasted certificate locally; makes no network request)
File Hash Check None (browser only) None (hashes in the browser via Web Crypto; makes no network request)

If your fleet does not use check scanners, ignore the FIS section below. If you do not use Topaz signature pads, skip the SigWeb section. The remaining fifty-five tools run in any modern Chrome, Edge, or Firefox, with the exceptions the matrix above lists: the USB Device Test, Serial Peripheral Test, Bluetooth Test, and MIDI Test need a Chromium browser (Chrome or Edge), the NFC Tag Test needs Android Chrome, and the Kiosk Readiness Check needs Chromium for full lockdown.

FIS WebScan whitelist (most important)

This is the single most common blocker for Scanner Test after a rollout. FIS WebScan validates the calling page's Origin header against a configured whitelist stored in %ProgramData%\FIS\WebScan\config\domain.xml. If the origin is not on the list, WebScan rejects the SignalR negotiate with HTTP 403 and the Scanner Test reports a whitelist failure. The page does correctly diagnose this, but you do not want every user adding the domain by hand.

Pre-seed the whitelist at install time by placing a WebScanCapture_Setup.xml file next to the WebScan MSI before running it. The installer reads this file and writes the configured origins into domain.xml on first launch. Use the same base name as the MSI so the installer picks it up.

<root>
  <CheckUpdate>Y</CheckUpdate>
  <UpdateURL>https://your-fis-update-server/webscan</UpdateURL>
  <IsQuiet>Y</IsQuiet>
  <OriginDomains>
    <domain>https://desktest.net</domain>
    <domain>https://your-rdc-domain.example.com</domain>
  </OriginDomains>
</root>

Distribute the MSI plus the seed XML together via SCCM, Intune Win32 app, or a GPO software-install package. The IsQuiet flag suppresses installer dialogs. Add any other origins your remote deposit capture portal lives on while you are at it; the whitelist is additive.

For workstations that are already deployed, the per-workstation fallback is fine: right-click the blue WS tray icon, choose Settings, then Origin Domain Settings, click Add Domain, enter https://desktest.net, click Update, and accept the prompt to restart WebScan. If a single user reports a whitelist failure, that is the 30 second fix. If a dozen do, push the XML.

Topaz SigWeb (simpler, no whitelist)

SigWeb does not have an origin whitelist. Any HTTPS page on the workstation can talk to the local SigWeb service at 127.0.0.1:47290 (the HTTPS port; SigWeb also binds 47289 for plain HTTP). Deployment is just the MSI.

Run the SigWeb MSI silently as part of your image build: msiexec /i SigWeb.msi /qn. Plug the pad in. Done. The first time the user opens Signature Pad Test, the tool will confirm the service is reachable and capture a test signature.

One Firefox-specific wrinkle: SigWeb signs its localhost certificate with the Topaz CA, which Chrome, Edge, and IE pick up from the Windows trust store automatically. Firefox uses its own trust store and will not see it. On Firefox-only fleets, import C:\Program Files (x86)\Topaz\Tablet\TopazCA.cer into the user's Firefox Authorities store. There is no clean GPO automation for the Firefox cert store, so the common approach is the Firefox Enterprise Policy Certificates.Install directive in policies.json, or a one-time deploy script that calls certutil against the user's Firefox profile. If your front-desk staff are all on Chrome or Edge, skip this entirely.

Pushing bookmarks and shortcuts

Make DeskTest.net findable. The cleanest method on managed Windows is Chrome and Edge managed bookmark policy, set via Group Policy or directly in the registry under HKLM\Software\Policies\Google\Chrome\ManagedBookmarks (Chrome) and HKLM\Software\Policies\Microsoft\Edge\ManagedBookmarks (Edge). The value is a single JSON string listing each tool URL.

[
  {"name": "desktest.net (Diagnostics)", "children": [
    {"name": "Full Workstation Checkup", "url": "https://desktest.net/checkup/"},
    {"name": "Connection Check", "url": "https://desktest.net/connection-check/"},
    {"name": "Meeting Readiness", "url": "https://desktest.net/meeting-check/"},
    {"name": "Front-Desk Station Check", "url": "https://desktest.net/station-check/"},
    {"name": "Phone Check", "url": "https://desktest.net/phone-check/"},
    {"name": "Display Check", "url": "https://desktest.net/display-check/"},
    {"name": "Scanner Test", "url": "https://desktest.net/scanner-test/"},
    {"name": "Signature Pad Test", "url": "https://desktest.net/sigpad-test/"},
    {"name": "PDF Test", "url": "https://desktest.net/pdf-test/"},
    {"name": "Printer Test", "url": "https://desktest.net/printer-test/"},
    {"name": "SiteLink Test", "url": "https://desktest.net/sitelink-test/"},
    {"name": "Microphone Test", "url": "https://desktest.net/mic-test/"},
    {"name": "Recording Quality Check", "url": "https://desktest.net/recording-check/"},
    {"name": "Webcam Test", "url": "https://desktest.net/webcam-test/"},
    {"name": "Camera Quality Check", "url": "https://desktest.net/camera-quality/"},
    {"name": "Speaker Test", "url": "https://desktest.net/speaker-test/"},
    {"name": "Echo and Latency Test", "url": "https://desktest.net/echo-test/"},
    {"name": "Keyboard Test", "url": "https://desktest.net/keyboard-test/"},
    {"name": "Keyboard Layout Test", "url": "https://desktest.net/keylayout-test/"},
    {"name": "Display Test", "url": "https://desktest.net/display-test/"},
    {"name": "Refresh Rate Test", "url": "https://desktest.net/refresh-rate/"},
    {"name": "Accessibility and Zoom Check", "url": "https://desktest.net/access-check/"},
    {"name": "Browser Test", "url": "https://desktest.net/browser-test/"},
    {"name": "Cache and Update Test", "url": "https://desktest.net/cache-test/"},
    {"name": "Browser and OS Currency Check", "url": "https://desktest.net/currency-test/"},
    {"name": "Security Key Test", "url": "https://desktest.net/security-key-test/"},
    {"name": "System Info", "url": "https://desktest.net/system-info/"},
    {"name": "Font Presence Check", "url": "https://desktest.net/font-check/"},
    {"name": "Web App Readiness Test", "url": "https://desktest.net/webapp-test/"},
    {"name": "Notification Test", "url": "https://desktest.net/notification-test/"},
    {"name": "Clipboard Test", "url": "https://desktest.net/clipboard-test/"},
    {"name": "Performance Test", "url": "https://desktest.net/perf-test/"},
    {"name": "Screen Share Test", "url": "https://desktest.net/screenshare-test/"},
    {"name": "Kiosk Readiness Check", "url": "https://desktest.net/kiosk-test/"},
    {"name": "Barcode Scanner Test", "url": "https://desktest.net/barcode-test/"},
    {"name": "Card Reader Test", "url": "https://desktest.net/card-reader-test/"},
    {"name": "NFC Tag Test", "url": "https://desktest.net/nfc-test/"},
    {"name": "Touchscreen Test", "url": "https://desktest.net/touch-test/"},
    {"name": "Pen and Stylus Test", "url": "https://desktest.net/pen-test/"},
    {"name": "Call Readiness Test", "url": "https://desktest.net/call-test/"},
    {"name": "Device Selection Check", "url": "https://desktest.net/device-sanity/"},
    {"name": "Network Test", "url": "https://desktest.net/network-test/"},
    {"name": "Speed Test", "url": "https://desktest.net/speed-test/"},
    {"name": "Connection Stability Test", "url": "https://desktest.net/socket-stability-test/"},
    {"name": "USB Device Test", "url": "https://desktest.net/usb-test/"},
    {"name": "Bluetooth Test", "url": "https://desktest.net/bluetooth-test/"},
    {"name": "Serial Peripheral Test", "url": "https://desktest.net/serial-test/"},
    {"name": "Mouse Test", "url": "https://desktest.net/mouse-test/"},
    {"name": "Controller Test", "url": "https://desktest.net/controller-test/"},
    {"name": "MIDI Test", "url": "https://desktest.net/midi-test/"},
    {"name": "WebRTC Test", "url": "https://desktest.net/webrtc-test/"},
    {"name": "Proxy Test", "url": "https://desktest.net/proxy-test/"},
    {"name": "Clock Test", "url": "https://desktest.net/clock-test/"},
    {"name": "SaaS Reachability Test", "url": "https://desktest.net/saas-test/"},
    {"name": "Certificate Check", "url": "https://desktest.net/cert-check/"},
    {"name": "Email Header Check", "url": "https://desktest.net/email-check/"},
    {"name": "File Hash Check", "url": "https://desktest.net/hash-check/"}
  ]}
]

For Firefox, use the Enterprise Policy JSON (policies.json) Bookmarks array, or an autoconfig.js shipped with the install. For Edge or Internet Explorer Favorites on older Windows images, use Group Policy Preferences (User Configuration, Preferences, Windows Settings, Internet Settings, Favorites). Whatever you pick, the goal is that a front-desk user can open their browser's bookmark bar and click the tool name without typing. Many shops push a single bookmark to the hub https://desktest.net/ and let users pick the tool from the homepage; either approach works.

White-label the link (your org name + help-desk email)

Every tool - and especially the Full Workstation Checkup - accepts two optional, read-only query parameters so you can hand staff a link stamped with your organization that routes results to your queue:

Combine them and URL-encode spaces. The managed bookmark you push might be:

https://desktest.net/checkup/?org=Acme%20Property&[email protected]

The parameters never leave the browser, and with neither present every tool behaves exactly as it does on the public site.

Pre-rollout smoke test

Before pushing to the fleet, validate on one reference workstation that has the same image and the same peripheral models. Plan on 20 minutes.

  1. Install FIS WebScan with the seeded WebScanCapture_Setup.xml next to the MSI.
  2. Install Topaz SigWeb with msiexec /i SigWeb.msi /qn.
  3. Plug in a check scanner and a signature pad.
  4. Apply your bookmark policy and reboot.
  5. Open https://desktest.net/. Confirm all the tool tiles render.
  6. Run Scanner Test, feed a check, confirm PASS with MICR decoded.
  7. Run Signature Pad Test, sign on the pad, confirm PASS.
  8. Run PDF Test, Printer Test, and SiteLink Test. Confirm each produces a reasonable result for your environment.
  9. Run the browser-only peripheral tools you actually care about (Microphone, Webcam, Speaker, Keyboard, Display, Mouse) on at least one machine to validate the standard image. Most of these need user gestures or visual confirmation, so this is a per-image check rather than per-workstation.
  10. If you support video calling at the front desk, run WebRTC Test from inside the corporate network to confirm STUN reachability (UDP 3478/19302 outbound). If you support self-storage SiteLink, run SiteLink Test from a typical user account.

If Scanner Test passes here, your seed XML is correct and the rest of the fleet will work. If it reports a whitelist failure on the reference machine, fix the XML before going further.

Tier-1 support workflow

The point of all this is that a user reporting "my scanner stopped working" never needs a screen-share. The workflow your tier-1 staff should follow:

  1. Send the user the direct link to the relevant tool (Scanner Test for check scanners, Signature Pad Test for signature pads, and so on).
  2. Ask them to click Run.
  3. When the verdict appears, ask them to click Copy Diagnostic Report and paste the result into the ticket.

The report includes the workstation OS, the exact browser version, every check that ran with pass or fail, the diagnosed cause, the recommended next step, and the raw driver response where applicable. Tier-1 can triage most tickets from the report text alone; the ones that cannot (a genuine hardware failure or a weird vendor bug) get escalated with the report attached, which saves tier-2 the same investigation step.

Troubleshooting common false negatives

Scanner Test reports whitelist failure on machines you thought were seeded. Confirm the XML actually got distributed: on a target workstation, open %ProgramData%\FIS\WebScan\config\domain.xml and look for https://desktest.net in the origin list. If it is missing, your install package did not pick up the seed file. Check the MSI base name matched the XML base name and re-run the install.

Signature Pad Test passes in Chrome and Edge but fails reach in Firefox. The Topaz CA cert was not imported into Firefox's trust store. Either import it on the affected profile, push it via Firefox Enterprise Policy, or move the user to Chrome or Edge.

SiteLink Test fails the passive ping but staff confirm SiteLink Web Edition works fine in the browser. Expected. The passive ping is a no-cors request and is intentionally lenient (it cannot read the response body for privacy reasons). Trust the visual confirmation step.

Scanner Test reaches WebScan but the WebSocket fails on Edge UWP. Loopback isolation. Run CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe" in an admin command prompt. This is rare on modern Edge (Chromium) but still hits the old UWP build.

Related