Table of Contents

Installing HiNC on Windows

HiNC for Windows comes in two packages, each with an installer of its own, that differ in what licenses HiNC: the dongle package, licensed by a Sentinel key — usually a USB dongle — and the cloud package, licensed by a cloud account that HiNC signs in to when it starts. Either installer sets HiNC up for the Windows user who runs it and starts it, and from then on HiNC tells you when a newer version is out and installs it, from inside the application, when you choose to. This page covers the download, the first start, turning sign-in on, where settings and data live, reaching HiNC over HTTPS, and how to remove HiNC again. The other Getting Started pages build on it:

The computer needs 64-bit Windows 10 or later; the rest is on System Requirements. The installer carries the runtime HiNC needs; the one thing that may have to be installed first is the Sentinel run-time a red license dongle needs, version 10.33 or later (step 2). The cloud package needs nothing installed first, but it needs an internet connection to its license server.

Installing

  1. Download the installer:

    https://hinc-1.superhightech.com.tw/hinc-update/win/HiNC-2025-webservice-win-Setup.exe

    If that address does not answer, the same file is at the same path on each of these:

    That is the dongle package. The cloud package's installer, HiNC-2025-webservice-win-cloud-Setup.exe, is at the same hosts in the win-cloud folder instead of win:

    https://hinc-1.superhightech.com.tw/hinc-update/win-cloud/HiNC-2025-webservice-win-cloud-Setup.exe

  2. For the dongle package, plug the HiNC license dongle into the computer. With a red dongle, first run the one-click installer on License Update: it installs the Sentinel run-time the red dongle needs, or upgrades one older than HiNC needs, and asks for administrator rights to do so. The cloud package skips this step.

  3. Run the downloaded file. It needs no administrator rights and, on a computer without HiNC, asks no questions: it installs HiNC for the current Windows user, puts a HiNC shortcut on the desktop and in the Start menu, and starts HiNC. Where HiNC is installed already, either package, it first asks whether to repair it (the same version), update it or downgrade it, and then ends a running HiNC at once, without its usual stop: close HiNC first, and on the cloud package sign out first (see Signing In with a Cloud Account).

    If Windows shows Windows protected your PC, choose More info, then Run anyway.

  4. HiNC opens your web browser at its address, http://localhost:5000: the dongle package straight into the application, the cloud package on its Cloud account sign-in page, in Traditional Chinese with EN at its top right, until a cloud account is signed in (see Signing In with a Cloud Account). An installation asks for no sign-in of its own until you turn it on (see Signing in below). When the dongle package cannot get its license, it shows a message saying why instead, and closes once you answer it (see When the window closes by itself).

HiNC is installed for one Windows user. Another user who signs in to the same computer with their own Windows account installs it again for themselves.

Starting and stopping HiNC

Start HiNC from the HiNC shortcut. A console window opens, and once HiNC is ready it prints where to reach it:

========================================================================
 HiNC <version> is running (<environment>).
 Open in a browser: http://localhost:5000
 Settings file:     <data folder>\appsettings.local.json
 Data and logs:     <data folder>
 Closing this window stops HiNC.
========================================================================

The environment is Production unless the copy was started as a station of its own (see multi-station). The window title carries the version and the address too. Until a cloud account is signed in, the cloud package prints a shorter block, with HiNC <version>: sign in to the cloud licence to start. above the same Open in a browser: line, and leaves the window title alone; the block above follows in the same window once the sign-in succeeds.

  • The console window is HiNC. Closing it stops HiNC, and every browser tab on it loses its connection. Minimize it rather than close it.
  • Each start from the shortcut opens the browser at HiNC's address. The address answers on this computer only; opening HiNC to other computers takes sign-in and a wider address (see Signing in).

Signing in

This sign-in is HiNC's own, which keeps other people out of it. It is not the cloud account the cloud package signs in to before it starts (Signing In with a Cloud Account): that one licenses the computer, and turning this one on or off changes nothing about it. The cloud sign-in page comes before this sign-in and before the address rule below, and is not behind either: on the cloud package, sign in to the cloud account, with Remember this computer, before opening HiNC to other computers.

An installation asks for no sign-in. Its address answers on this computer only, so HiNC is used like any other program on it. While sign-in is off, HiNC also refuses what any web page but its own asks of it through your browser, whether the page comes from another site or from another program on this computer; a link that only opens HiNC still works. To make HiNC ask for a sign-in — above all before other computers can reach it — put "Enabled": true and accounts of your own under Auth in appsettings.local.json (see Changing a setting) and restart HiNC:

"Auth": { "Enabled": true, "Users": [ { "Username": "operator", "Password": "<set-your-own>" } ] }

HiNC ships with no account, so turning sign-in on without writing one lets no one in. Accounts live in the settings: there is no way to add an account or change a password inside the application. Signing In covers the sign-in card and what the gate closes.

Opening HiNC to other computers takes two settings: sign-in, on with accounts of your own, and an address that answers them, Kestrel:Endpoints:Http:Url (see Changing a setting). The address alone is not enough: while sign-in is off, HiNC answers only requests addressed to localhost, 127.0.0.1 or [::1], and other computers get 400 Bad Request.

Important

Earlier versions shipped with sign-in on and one account. An installation whose appsettings.local.json lists accounts under Auth without "Enabled": true runs with no sign-in once it is updated; add "Enabled": true beside its Users to keep it. Until then, other computers that reach it get 400 Bad Request unless AllowedHosts lists the names they use: with sign-in off, HiNC otherwise answers only requests addressed to localhost, 127.0.0.1 or [::1].

When the window closes by itself

If the console window disappears a moment after HiNC starts, before the browser opens, or HiNC shows a license message first, one of these stopped it:

  • The dongle package could not get its license. The dongle is not plugged in, or this computer lacks the Sentinel run-time, which a red dongle needs. HiNC then shows a message, HiNC licence, that says what it found — no dongle, no Sentinel run-time on this computer, a run-time older than HiNC needs, or a license on the dongle that has expired, among others — and gives the Sentinel status. For most causes it then offers to open the license update page, which has the one-click installer; HiNC closes once you answer it. Plug the dongle in and start HiNC again. If the message comes back, run the one-click installer on License Update: it installs the Sentinel run-time and brings the dongle's license up to date. The dongle package also checks the license every ten minutes while it runs, and stops when it can no longer get it; then the window closes without a message. Either way the service log records HiApi is not licensed. (see Settings and data) with the Sentinel status. On a computer meant for a cloud account, the dongle package is the wrong one: install the cloud package, whose installer's name carries win-cloud (see Signing In with a Cloud Account).
  • The Sentinel run-time is older than HiNC's. With a red dongle plugged into this computer, HiNC needs Sentinel run-time 10.33 or later. With an older one HiNC stops at start although the dongle and its license are fine: its message says the run-time is older than HiNC needs (the Sentinel status in it is often 42, which says the License Manager is too old), and the Sentinel admin page at http://localhost:1947 shows a License Manager older than 32.2 and no login at all. Run the one-click installer on License Update, which upgrades the run-time, then start HiNC again.
  • The address is taken. HiNC is already running (its window is still open, perhaps minimized to the taskbar), or another program listens on port 5000. Use the running HiNC, or give this one another address.
  • A setting is wrong. Right after appsettings.local.json was edited: a JSON mistake (a missing comma, a single backslash in a path), a projects folder on a drive that does not exist, or an https:// address without a certificate HiNC can read stops HiNC at once, usually before it writes the log. Undo the last edit, or start HiNC from a Command Prompt, where the window stays open and shows the error: "%LocalAppData%\HiNC-2025-webservice\current\HiNC-2025.exe".

The cloud package never closes for want of a license. With no cloud account signed in it shows its sign-in page, and while it runs it syncs with the license server about every ten minutes. Without a connection it carries on until its license runs out, at most an hour after the last successful sync, and then pauses the run until a sync succeeds again; see While HiNC runs.

Settings and data

HiNC keeps the program apart from your data. Three places matter, and under a cloud license a fourth:

Folder What it holds Survives an update?
%LocalAppData%\HiNC-2025-webservice The program itself. Every update replaces its contents. No — change nothing here, not even its appsettings.json or HiNC-2025.settings.json
%LocalAppData%\HiNC\webservice — the data folder appsettings.local.json (your settings); appsettings.local.<station>.json (a station's own settings, see multi-station); logs\ (the service log, one file per station per day); UserConfig.xml (preferences); update-state.json (the choices made in the update dialog) Yes; an uninstall leaves it too
C:/HiNC-Projects — the projects folder Your projects, the shared Resource library and the step cache. It is the Admin root of File Explorer. HiNC creates it on its first start. Yes; an uninstall leaves it too
%LocalAppData%\HiNC\cloud — under a cloud license only This computer's cloud sign-in — the account it is signed in to, not the password — and the cutting shapes fetched from the license server; see Signing In with a Cloud Account. A portable copy uses it too. HiNC-2025.exe --cloud-reset removes it together with the computer key. Yes; an uninstall leaves it too

To open a folder, paste its name — %LocalAppData%\HiNC\webservice, for example — into the address bar of Windows Explorer.

Changing a setting

appsettings.local.json in the data folder holds only the settings you change; each key there overrides the setting HiNC ships with. HiNC writes the file on its first start, with commented examples, and reads it only when it starts, so restart HiNC after editing it — close the console window and start HiNC from the shortcut again. The file accepts // comments.

{
  "Kestrel": { "Endpoints": { "Http": { "Url": "http://localhost:5010" } } },
  "ProxyConfig": { "AdminDirectory": "D:/HiNC-Projects" },
  "Auth": { "Enabled": true, "Users": [ { "Username": "operator", "Password": "<set-your-own>" } ] },
  "Launch": { "OpenBrowser": false }
}
Setting Shipped value What it does
Kestrel:Endpoints:Http:Url http://localhost:5000 The address HiNC listens on. localhost is this computer only. http://*:5000 also answers other computers, at this computer's name or IP address, once sign-in is on; while it is off they get 400 Bad Request (see AllowedHosts). The first start on such an address brings up a Windows Security Alert, and letting HiNC through Windows Defender Firewall needs an administrator. An https:// address needs a certificate; see Reaching HiNC over HTTPS or through your own reverse proxy.
AllowedHosts none The names HiNC answers to, separated by ; — localhost;127.0.0.1;[::1];MYPC;192.0.2.20, say — or * for any. Left unset, it follows sign-in: with sign-in off, HiNC answers only localhost, 127.0.0.1 and [::1], which keeps a web page from reaching it under a borrowed name; with sign-in on, it answers any name. A request addressed to a name HiNC does not answer gets 400 Bad Request, and the service log records the name. It is no access control — a program other than a browser can send any name it likes — and opening HiNC to other computers does not need it. Set it only to choose the names yourself; with sign-in off, listing the names other computers use lets them in with no sign-in at all. The list is used as written, so keep the loopback names in it if HiNC is also opened on this computer; one written for an earlier version still applies.
ProxyConfig:AdminDirectory C:/HiNC-Projects The projects folder. HiNC does not move what is already in the old folder; move it yourself.
Auth:Enabled false Whether HiNC asks for a sign-in. true puts every screen behind the sign-in card; turn it on before other computers can reach HiNC.
Auth:Users none The sign-in accounts, each a Username and a Password, read only while Auth:Enabled is true. Write both fields in every entry. A later settings file — a station's own, say — replaces the list entry by entry.
Auth:CookieName HiNC.Auth The name of the cookie that keeps a browser signed in, read only while Auth:Enabled is true. Several HiNC that browsers reach at one computer name on different ports — the stations of multi-station, say — each need a name of their own: a browser keeps one set of cookies per computer name, whatever the port, so with a shared name, signing in to one signs the browser in to the others, or out of them.
Launch:OpenBrowser true Whether a start by a user opens the browser. The restart after an update never does: its page is still open and reconnects by itself.
Update in HiNC-2025.settings.json in the program folder; see Updating HiNC on Windows Where updates come from and how often HiNC looks.
HiNC:LicenseSource SentinelFirst Which license HiNC starts on: the dongle package's Sentinel key or a cloud account; see Signing In with a Cloud Account.
Cloud in the cloud package's HiNC-2025.settings.json; see Signing In with a Cloud Account The license servers the cloud account signs in to.

Settings are read in this order, each later source overriding the keys it names:

  1. the shipped appsettings.json, then the shipped appsettings.<environment>.json, in the program folder;
  2. the shipped HiNC-2025.settings.json, which names the update servers — and, in the cloud package, the license servers — then HiNC-2025.settings.<environment>.json, also in the program folder;
  3. appsettings.local.json in the data folder;
  4. appsettings.local.<environment>.json in the data folder, for a station started under that environment name;
  5. environment variables;
  6. the command line.

Reaching HiNC over HTTPS or through your own reverse proxy

HiNC answers each address its settings name as it is. It never redirects http to https and sends no HSTS (Strict-Transport-Security) header; if you want either, set it in a reverse proxy of your own. To serve HTTPS only, give HiNC only an https:// address. Whichever way other computers reach HiNC, turn sign-in on first (see Signing in).

HTTPS from HiNC itself

Add an https:// address to appsettings.local.json, with the certificate HiNC is to show there — inside the Kestrel entry, if the file has one already:

"Kestrel": {
  "Endpoints": {
    "Https": {
      "Url": "https://*:5443",
      "Certificate": { "Path": "<folder>/hinc.crt", "KeyPath": "<folder>/hinc.key" }
    }
  }
}

Other computers then open https://<this computer's name>:5443; the first start on it brings up a Windows Security Alert, as for any address other computers reach.

  • Path and KeyPath are the certificate and its private key, as PEM files; for a .pfx file, give its Path and its Password instead. Write full paths with /, to a folder no update replaces: the data folder will do, the program folder will not.
  • Without a certificate, or with one it cannot read, HiNC does not start: its window closes at once (see When the window closes by itself).
  • The certificate has to carry the name the browsers open HiNC by — MYPC, say. One you make yourself (self-signed) works, but every browser shows a warning page the first time it opens HiNC, until the certificate is installed as trusted on that computer; one issued by a certificate authority the computers already trust avoids the warning.
  • The shipped http://localhost:5000 stays, for this computer only. To leave HiNC no plain address at all, write the https:// address and its certificate under Http instead of Https: the entry's name is only a label.

Through your own reverse proxy

A reverse proxy — IIS, nginx, Caddy or any other web server in front of HiNC — can take over the certificate, a public name, the redirect from http and HSTS. When it runs on the same computer, keep HiNC at http://localhost:5000, so that nothing but the proxy reaches HiNC directly, and set the proxy up to:

  • Serve HiNC at the root of its address, /. HiNC does not work under a folder such as /hinc/: its pages address everything from the root.
  • Pass WebSocket connections on, by forwarding the Upgrade and Connection headers. The 3D view, the message lists, the run's status and the charts reach the browser over them.
  • Tell HiNC which scheme the browser used, in X-Forwarded-Proto, so that behind HTTPS HiNC marks its sign-in cookie to travel over HTTPS only. Forwarding X-Forwarded-For as well lets the service log name the browser's address rather than the proxy's.
  • Let uploads through. A proxy that caps the size of a request — nginx does, at 1 MB, unless told otherwise — refuses larger files uploaded in File Explorer.

Turn sign-in on whenever other computers can reach the proxy: a proxy on this computer reaches HiNC as this computer does, so with sign-in off it can hand HiNC to anyone who reaches the proxy. Several HiNC behind one name, on different ports, each need an Auth:CookieName of their own (see Changing a setting). Keep that name, and its domain, for HiNC alone: a browser treats a page on another port of the same name, or on another host of the same domain, as the same site, and such a page could act with the session of a user signed in to HiNC.

Keeping HiNC up to date

The version mark at the left end of the menu bar, beside the HiNC logo, is also the update badge. It turns orange, v<running> → <newer>, when a newer version is offered to this computer, and red when the publisher has recalled the running one. HiNC only checks — within ten minutes of starting, then about once a day — and installs nothing by itself.

To update, click the badge, or choose Help › Check for Updates…, and press Update to version in the Software Update dialog. HiNC downloads the version, restarts into it, and the page reloads by itself — on the cloud package too, signed in as before, except after an update from 3.2.51 or earlier on a computer that is not remembered (Signing In with a Cloud Account). Updating HiNC on Windows covers the rest: every state of the badge, the dialog, recalled versions, the update servers, a classroom mirror, and updating a computer that runs several stations.

The HiNC shortcut starts the program, current\HiNC-2025.exe in the program folder. An update that changes the program file points the shortcuts that start HiNC at the new one and keeps their arguments — those directly on the desktop, in the Start menu, in the Startup folder and pinned to the taskbar, copies of the HiNC shortcut included. A .bat file, or a shortcut kept anywhere else, that still names HiNC-2025-webservice.exe has to be pointed at HiNC-2025.exe by hand. An installation that other computers reach may bring up the Windows Security Alert once more after such an update; let HiNC through Windows Defender Firewall again.

Portable copy

HiNC-2025-webservice-win-Portable.zip, in the same folder as the installer, is the same HiNC with nothing to install. Unpack it into a folder you can write to and start HiNC.exe. It updates itself like an installed copy and keeps its settings, logs and update choices in a data folder beside itself instead of %LocalAppData%\HiNC\webservice. It creates no shortcut and no entry in the Windows app list; delete its folder to remove it. Its projects folder is still C:/HiNC-Projects unless its own appsettings.local.json says otherwise. An update of a portable copy re-points no shortcut: point a shortcut or a .bat file of your own at HiNC.exe, which starts whichever version the folder holds. The cloud package's portable copy is HiNC-2025-webservice-win-cloud-Portable.zip, in the cloud installer's folder. Its cloud sign-in is kept in %LocalAppData%\HiNC\cloud, not in data, so deleting its folder does not sign the computer out.

Uninstalling

Open Windows Settings › Apps › Installed apps (on Windows 10, Apps & features), find HiNC and choose Uninstall. A running HiNC is closed, and the program folder and the shortcuts are removed. The data folder and the projects folder stay; delete them by hand for a clean removal. An installation made later picks up the settings it finds there. On the cloud package, sign out first — Help › Licence… › Sign Out — so that the account is free for another computer at once: uninstalling signs nothing out, and %LocalAppData%\HiNC\cloud stays as well.