This commit is contained in:
2026-09-09 17:35:23 +08:00
parent 2a98ae7556
commit 161af68fe3
1271 changed files with 58251 additions and 98639 deletions
@@ -87,11 +87,12 @@
<article data-uid="">
<h1 id="delegated-authorization-for-multi-host-deployment">Delegated Authorization for Multi-Host Deployment</h1>
<p>If multi-host licensing is enabled, download and extract <a href="https://superhightech.com.tw/download2/DelegateAuthorization.zip">DelegateAuthorization.zip</a>, then follow the two PDF guides inside to configure the license server and the authorized clients respectively.</p>
<p>If multi-host licensing is enabled, one machine acts as the license server and the others are authorized clients. Both sides have to be configured, and every machine involved needs the Sentinel Run-time Environment installed.</p>
<p>The quickest way to get the Sentinel Run-time Environment onto each machine is the one-click installer on the <a href="license-update.html#the-one-click-installer">license activation page</a> — it installs the run-time and updates that machine's license in one step. Contact us for the server-side and client-side configuration guides.</p>
<p>The license server may be blocked by the Windows firewall. You can allow it through as shown below:</p>
<p><img src="delegate-auth-img/sentinel-firewall.jpg" alt="sentinel-firewall"></p>
<blockquote>
<p>When using a red license dongle, the <code>win_install.bat</code> script included in the archive must also be run for standalone operation to install the required license runtime.</p>
<p>When using a red license dongle, the Sentinel Run-time Environment is required for standalone operation as well, not only for multi-host setups.</p>
</blockquote>
</article>
@@ -0,0 +1,164 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Updating Your License | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Updating Your License | HiAPI-C# 2025 ">
<link rel="icon" href="../../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../../public/docfx.min.css">
<link rel="stylesheet" href="../../public/main.css">
<meta name="docfx:navrel" content="../../toc.html">
<meta name="docfx:tocrel" content="../toc.html">
<meta name="docfx:rel" content="../../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../../index.html">
<img id="logo" class="svg" src="../../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<h1 id="updating-your-license">Updating Your License</h1>
<p>Your HiNC license lives inside the USB dongle (Sentinel key) plugged into your computer. When a license is renewed, extended, or has modules added, the new entitlement has to be written into that dongle. Everything you need is on one page:</p>
<p><a href="https://superhightech.com.tw:20443/license/">https://superhightech.com.tw:20443/license/</a></p>
<p>The page is available in English and 繁體中文. Use the switch at the top right, or open the address with <code>?lang=en</code> or <code>?lang=zh-Hant</code>.</p>
<p>Before you start, plug the USB dongle into the computer you are going to work on, and make sure that computer can reach the internet.</p>
<h2 id="the-one-click-installer">The one-click installer</h2>
<p>This is the way to do it unless you have a reason not to. Download the installer from the top of the activation page and double-click it. Windows asks whether to allow it to make changes — choose <strong>Yes</strong>. From there it runs on its own:</p>
<ul>
<li>it checks whether this computer has the Sentinel driver, and installs it if not;</li>
<li>it finds the USB dongle;</li>
<li>it fetches your license update and writes it into the dongle;</li>
<li>it reports, line by line, what it did.</li>
</ul>
<p>There is nothing to configure, no folder to prepare, and no command to type. When it says the update is complete, you are done. Keys on the computer that are not HiNC keys are recognized and skipped, so seeing one listed as skipped is normal.</p>
<p>If it reports that no key was found, plug the dongle in and press the button in the window to run it again.</p>
<h2 id="updating-from-the-browser-instead">Updating from the browser instead</h2>
<p>The activation page can also do the update itself, with nothing to download. This route needs the browser's permission to reach the Sentinel service running on your own computer, which some company networks and browser settings block — that is the only reason the installer above exists.</p>
<ol>
<li>Press <strong>Start online update</strong>.</li>
<li>If the browser asks for permission to access the local network, choose <strong>Allow</strong>.</li>
<li>Wait for <strong>License update complete</strong>.</li>
</ol>
<p>If the page reports that no update is waiting, your license is already up to date. If it reports that it cannot reach the Sentinel service on your computer, use the one-click installer, or <a href="#manual-update">Manual update</a> below.</p>
<h2 id="manual-update">Manual update</h2>
<p>The manual route depends on nothing at all — no permission, and no access from the browser to your machine — so it always works. Open <strong>Manual update</strong> on the page and follow the three steps:</p>
<ol>
<li><p>Press <strong>Open Sentinel admin page</strong>, click <strong>Sentinel Keys</strong> on the left, find the row for your key, and press <strong>C2V</strong> to download the <code>.c2v</code> file.</p>
<blockquote>
<p>If that row has no C2V button: <strong>Configuration</strong> → <strong>Basic Settings</strong> → tick &ldquo;Generate C2V file for HASP key&rdquo; → <strong>Submit</strong>, then go back to the Sentinel Keys page.</p>
</blockquote>
</li>
<li><p>Back on the activation page, choose the <code>.c2v</code> file and press <strong>Generate license file</strong>. A <code>.v2c</code> file is downloaded.</p>
<p>Tick the <strong>reissue</strong> box only when you are recovering — after a reinstall, on a replacement computer, or after an update that failed to apply.</p>
</li>
<li><p>In the Sentinel admin page, click <strong>Update/Attach</strong> → choose the <code>.v2c</code> file → <strong>Apply File</strong>. Once it reports success, return to the activation page and press <strong>I have applied it successfully</strong>, so the update is closed on our side as well.</p>
</li>
</ol>
<h2 id="installing-the-sentinel-run-time-on-its-own">Installing the Sentinel run-time on its own</h2>
<p>The one-click installer already does this for you. Install the run-time by hand only when you need it without a license update — for example when preparing a machine ahead of time. The activation page offers the plain Thales installer at the bottom, behind a download password:</p>
<pre><code>hi
</code></pre>
<p>Move the installer into a folder of its own before running it, and run it with administrator rights, allowing the system permission prompt.</p>
<blockquote>
<p>The installer also applies any <code>.v2c</code> file sitting in the same folder. If you run it from a downloads folder that already holds license files, it ends with <code>V2C Error: key to be updated not found</code> — that message is about one of those old files, not about the installation. The driver still installed correctly; a folder of its own avoids the message entirely.</p>
</blockquote>
<blockquote>
<p>The Sentinel run-time is required for the browser route in every case. With a red dongle it is also required for normal standalone operation, and for <a href="delegate-auth.html">multi-host delegated authorization</a> it is required on every machine involved.</p>
</blockquote>
<h2 id="if-it-still-fails">If it still fails</h2>
<p>Contact your usual service contact. Include your key number and the messages shown on the page or in the installer window — they name the exact step that failed, and the installer window has a <strong>Copy messages</strong> button for exactly that.</p>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>
@@ -33,19 +33,19 @@
"Users": [
{
"Name": "admin",
"Pw": "00000",
"Pw": "<set-your-own>",
"Role": "Admin",
"IsFixedUser": true
},
{
"Name": "worker",
"Pw": "111111",
"Pw": "<set-your-own>",
"Role": "Collaborator",
"IsFixedUser": false
},
{
"Name": "guest",
"Pw": "22222",
"Pw": "<set-your-own>",
"Role": "Guest",
"IsFixedUser": false
}
@@ -33,19 +33,19 @@
"Users": [
{
"Name": "admin",
"Pw": "00000",
"Pw": "<set-your-own>",
"Role": "Admin",
"IsFixedUser": true
},
{
"Name": "worker",
"Pw": "111111",
"Pw": "<set-your-own>",
"Role": "Collaborator",
"IsFixedUser": false
},
{
"Name": "guest",
"Pw": "22222",
"Pw": "<set-your-own>",
"Role": "Guest",
"IsFixedUser": false
}
@@ -96,6 +96,10 @@
</ul>
<p>Run the following command to launch a specific profile:</p>
<p><code>dotnet run HiNcServer.dll --environment &lt;profile-name&gt;</code></p>
<div class="IMPORTANT">
<h5>Important</h5>
<p>The <code>Users</code> entries in the examples below carry placeholder passwords. Set your own before putting a station into service.</p>
</div>
<blockquote>
<p><strong>Configuration Examples</strong></p>
<ul>
@@ -89,6 +89,7 @@
<p>This section covers how to set up and launch the HiNC system in different environments, including basic installation on Windows, single-machine multi-station configuration, multi-host authorization setup, and tutorial videos.</p>
<ul>
<li><a href="license-update.html">License Update</a></li>
<li><a href="multi-station.html">Single-Machine Multi-Station Configuration</a></li>
<li><a href="delegate-auth.html">Multi-Host Delegated Authorization</a></li>
<li><a href="tutorial.html">Tutorial Videos</a></li>
@@ -112,13 +113,10 @@ If non-system modifications exist in the HiNC folder, the download or update may
<p>If the default download mirror is too slow, you can first use <code>HiNC-update-gitcode.bat</code> to download from the gitcode mirror, then run <code>HiNC-loop-with-update.bat</code>.</p>
</blockquote>
<p>Inside the HiNC subfolder you will find the <code>appsettings.json</code> file, which is used to configure HiNC settings such as the web address, user credentials, etc. The following explains the default values.</p>
<p>By default, each time HiNC starts it connects to the license server to check for license updates. The default license update settings are shown below. To disable automatic license updates, change <code>AutoLicenseUpdate</code> to <code>DoNothing</code>.</p>
<p>HiNC does <strong>not</strong> check for license updates on startup. The <code>LicenseManager</code> section below is used by the standalone license tool; the shipped HiNC server does not read it, so leave <code>Command</code> as <code>DoNothing</code>.</p>
<pre><code>&quot;LicenseManager&quot;: {
//Available Command: &quot;DoNothing&quot;,&quot;AutoLicenseUpdate&quot;,&quot;GetC2V&quot;,&quot;GenV2C&quot;,&quot;ApplyV2C&quot;,&quot;WriteInfo&quot;
&quot;Command&quot;: &quot;AutoLicenseUpdate&quot;,
&quot;Server&quot;: {
&quot;URI&quot;: &quot;http://superhightech.com.tw:20201&quot;,
}
&quot;Command&quot;: &quot;DoNothing&quot;
}
</code></pre>
<p>The <code>appsettings.json</code> file creates <code>../HiNC-Root</code> by default as the storage location for data and projects.</p>
@@ -129,9 +127,11 @@ If non-system modifications exist in the HiNC folder, the download or update may
<li><p>Open a web browser and navigate to the default URL:
http://localhost:4330</p>
</li>
<li><p>Log in with the default credentials.
Username: <code>admin</code>
Password: <code>00000</code></p>
<li><p>Sign in with the administrator account issued for your installation.</p>
<div class="IMPORTANT">
<h5>Important</h5>
<p>A fresh installation ships with a fixed default administrator password. Change it at first sign-in — a station left on the factory default is reachable by anyone who can open its URL.</p>
</div>
</li>
</ol>