AV License Server — Manuel
Sommaire
1. Présentation et fonctionnement
AV License Server gère des licences « à postes concurrents » (concurrent seats) : chaque produit (ex. SPC, SPP) dispose d'un nombre maximal de postes utilisables simultanément, défini dans le code d'activation du client. Il n'est pas lié à un seul PC : n'importe quel poste du réseau peut utiliser une licence libre, jusqu'à épuisement.
Le système comprend deux programmes, installés sur le même PC (le serveur) :
- AV_LicenseServer.exe — s'exécute en tant que Service Windows en arrière-plan, toujours actif (même sans utilisateur connecté). C'est lui qui répond aux clients sur le réseau. Il n'a pas d'interface graphique.
- AV_LicenseManager.exe — la console d'administration : sert à démarrer/arrêter le service, consulter le journal, et gérer le fichier d'activation. Il n'est pas nécessaire de la laisser ouverte : le serveur fonctionne indépendamment.
Les Clients (SPC, SPP, etc., installés sur d'autres PC du réseau) se connectent au serveur via le réseau (TCP) au démarrage, demandent une licence, et la maintiennent active en envoyant un signal périodique (« heartbeat ») tant qu'ils restent ouverts.
2. Prérequis
- Windows avec des privilèges Administrateur pour l'installation (nécessaires pour enregistrer le Service Windows et écrire dans Program Files).
- Le PC choisi comme serveur doit avoir une adresse IP fixe ou réservée sur le réseau local (en cas de changement, tous les clients doivent être reconfigurés). Il est recommandé de l'attribuer via une réservation DHCP sur le routeur, ou de la définir en statique.
- Aucun autre prérequis logiciel : l'installateur inclut tout le nécessaire.
3. Installation
- Copier le programme d'installation
<yyyymmdd>_AV_LicenseServer_x64.exe(généré par le kit dansKit\Output\; le nom commence par la date de génération, ex.20261010_AV_LicenseServer_x64.exe) sur le PC choisi comme serveur et l'exécuter. - Confirmer la demande de privilèges Administrateur (UAC).
- Dans l'assistant, sur la page des tâches optionnelles :
- « Install and start the AV License Server Windows service » — cochée par défaut. La laisser cochée pour démarrer le service immédiatement ; la décocher seulement pour installer les fichiers sans encore activer le service.
- « Create a desktop icon for AV License Manager » — décochée par défaut, pratique si l'administration se fait souvent depuis ce PC.
- Terminer l'installation. Si le service a été installé, l'installateur :
- l'enregistre et le démarre (nom interne
AV_LicenseServer, visible dansservices.mscsous « AV License Server ») ; - ouvre automatiquement l'exception dans le pare-feu Windows pour
AV_LicenseServer.exe, limitée aux profils réseau Domaine et Privé (pas Public) — sans cette exception, les clients situés sur d'autres PC ne pourraient pas atteindre le serveur (voir §8).
- l'enregistre et le démarre (nom interne
- Fichiers installés dans
C:\Program Files\AV License Server\:AV_LicenseServer.exe(le service)AV_LicenseManager.exe(la console — ses raccourcis Menu Démarrer/Bureau sont configurés pour démarrer déjà en Administrateur, nécessaire pour contrôler le service)AV_LicenseServer.ini— configuration d'exemple avec les valeurs par défaut (Port=7788, etc.) ; elle n'est jamais écrasée par une mise à jour ultérieure.AV_LicenseServer_Manual.html— ce manuel, également accessible depuis le menu Démarrer (« AV License Server Manual »).
- À ce stade, le serveur est actif mais sans aucune licence activée : il faut installer le fichier d'activation
Code.txtdu client (§4) avant que les clients réels puissent obtenir une licence. En attendant, les clients tentent quand même la connexion et obtiennent automatiquement une période d'essai de 30 jours (voir §7).
4. Activation : le fichier Code.txt
Code.txt est le fichier qui détermine quels produits sont activés sur ce serveur, combien de postes concurrents, et jusqu'à quand. Il est spécifique au client et lié au matériel du PC serveur (il ne fonctionne pas s'il est copié sur un autre PC).
4.1 Demander le code d'activation
Dans l'onglet Licenses d'AV License Manager, le bouton « Code request » détecte automatiquement les deux identifiants matériels de ce PC (SystemID et NetworkID) et ouvre le navigateur sur la page Arolo pour demander le code, déjà pré-remplie. Il n'est pas nécessaire de les recopier à la main.
4.2 Installer le code reçu
Une fois le fichier Code.txt reçu (par e-mail ou un autre canal) de la part de celui qui génère l'activation :
- Ouvrir AV License Manager, onglet Licenses.
- Cliquer sur « Select Code.txt... » et choisir le fichier reçu : il est validé et automatiquement copié dans le dossier du serveur.
- Les données (client, produits activés, postes, dates d'expiration) apparaissent immédiatement dans la liste, en lecture seule.
- Redémarrer le service (onglet Service → Stop, puis Start, ou le bouton Refresh status pour vérifier l'état) :
Code.txtn'est lu par le serveur qu'au démarrage — l'installer alors que l'application est ouverte n'a aucun effet sur les licences déjà en cours tant que le service n'est pas redémarré.
Le bouton « Remove license file » supprime l'activation actuelle (à utiliser uniquement pour la remplacer ; sans Code.txt, aucune licence réelle ne peut être accordée, seulement la période d'essai).
4.3 Contenu du fichier
Pour chaque produit : nom, version maximale autorisée, nombre de postes concurrents, date d'émission et date d'expiration (ou « sans expiration »), ainsi que les fonctions optionnelles du produit activées (options, ex. ResidualAnalysis et CutOptimization pour SPC ; toutes ou aucune). Le fichier est chiffré sur le disque : l'ouvrir avec un éditeur de texte n'affiche rien de lisible.
5. AV License Manager : usage quotidien
Trois éléments principaux, tous dans l'onglet Service :
- Étiquette d'en-tête — affiche le nom, la version d'AV License Server installée, et l'adresse IP:port à laquelle les clients doivent se connecter (ex.
Service: AV_LicenseServer (AV License Server) v26.10.28.0 - 192.168.0.31:7788). C'est la valeur à utiliser pour configurer chaque client (§6). - État du service (Running / Stopped / not installed), actualisé toutes les 2 secondes, avec les boutons :
- Start / Stop — démarre ou arrête le service.
- Install service / Uninstall service — enregistre ou supprime le Service Windows (normalement déjà fait par l'installateur ; utile seulement pour des réinstallations manuelles).
- Refresh status — actualise immédiatement l'état sans attendre le minuteur.
- Log — les dernières lignes de
AV_LicenseServer.log, avec actualisation manuelle ou automatique toutes les 2s, et un bouton pour ouvrir le dossier du journal dans l'Explorateur. Utile pour comprendre pourquoi un client ne reçoit pas de licence (la raison exacte d'un refus est toujours consignée ici).
Toutes les opérations sur le service nécessitent des privilèges Administrateur : en cas de refus, l'application propose de redémarrer en mode élevé.
L'onglet Licenses affiche les données du Code.txt actif et les boutons pour en demander un nouveau ou en installer un reçu (voir §4). La colonne Available indique, pour chaque produit, combien de licences sont libres en ce moment : postes moins les licences utilisées et les licences empruntées (voir §7.1). Elle est lue auprès du service en cours d'exécution à l'ouverture de l'onglet ou avec Refresh et affiche, par exemple, 3 of 5 ou 2 of 5 (1 borrowed) ; 0 (expired) si la licence du produit dans Code.txt a expiré ; n/a (service not running) service arrêté ; n/a (restart the service) pour un produit d'un nouveau Code.txt pas encore chargé par le service (§4.2). La colonne Options affiche les fonctions optionnelles de chaque produit activées par Code.txt : All (toutes), None (aucune) ou leur liste (ex. ResidualAnalysis, CutOptimization).
L'onglet Borrowed liste les licences actuellement empruntées (voir §7.1) : produit, utilisateur, ordinateur, date de l'emprunt, date d'expiration et jours restants. Il est en lecture seule — un emprunt ne se termine que lorsque le client le restitue ou à son expiration — et se met à jour à l'ouverture de l'onglet ou avec Refresh.
6. Configurer les Clients (SPC, SPP, ...)
Chaque application cliente possède un fichier de paramètres (ex. settings.xml) avec un nœud du type :
<License Server="192.168.0.31" Port="7788" Product="SPC"/>
- Server : l'adresse IP du PC serveur, celle affichée dans l'onglet Service d'AV License Manager (voir §5) — jamais
127.0.0.1/localhostsi le client s'exécute sur un PC différent de celui du serveur (cela ne fonctionnerait que par coïncidence si client et serveur sont sur la même machine : voir §8). - Port : le port configuré sur le serveur (
AV_LicenseServer.ini, par défaut7788) — doit correspondre. - Product : le nom du produit attendu dans
Code.txt(insensible à la casse).
Si l'adresse IP du serveur venait à changer (nouveau PC, réseau reconfiguré), elle doit être mise à jour sur tous les clients.
7. Gestion des licences côté Client
- Au démarrage, le client se connecte au serveur et demande une licence pour son produit/version. Si un poste est libre (et que le produit est activé dans
Code.txt), il l'obtient ; sinon il reçoit une erreur (ex. « aucun poste disponible »). - Pendant l'utilisation, le client envoie un signal (« heartbeat ») toutes les 30 secondes pour confirmer qu'il est toujours actif et conserver la licence.
- À la fermeture (normale), le client libère explicitement la licence, qui redevient immédiatement disponible pour un autre utilisateur.
- En cas de plantage, coupure de courant ou câble réseau débranché : si la connexion TCP tombe, le serveur libère immédiatement la licence ; si la connexion reste « suspendue » sans nouveaux heartbeats, le serveur la libère quand même après
HeartbeatTimeoutSec(90 secondes par défaut, configurable dansAV_LicenseServer.ini). En pratique, un poste ne reste jamais bloqué longtemps à cause d'un client disparu sans se déconnecter correctement. - Période d'essai : si le produit demandé n'est activé pour aucune raison (pas de
Code.txt, produit non listé, matériel non correspondant, expiré...), le client obtient quand même un accès d'essai de 30 jours à partir de la date de compilation de son propre exécutable, sans limite de postes. Elle ne peut pas être « réinitialisée » en installant/supprimantCode.txt: la référence est fixée à la version compilée du client. - Avertissement d'expiration proche : une licence réelle (non d'essai) sur le point d'expirer (seuil configurable, 15 jours par défaut) déclenche un avertissement non bloquant côté client — la licence est quand même accordée.
- Titulaire de la licence : une licence réelle expose aussi le nom du client auquel elle est enregistrée (depuis
Code.txt), que le client peut afficher dans son interface. - Options du produit : une licence réelle indique aussi au client quelles fonctions optionnelles du produit sont activées (Options de
Code.txt, voir §4.3) ; l'application cliente n'active que celles-ci. Pendant la période d'essai, toutes les options sont activées. Une licence empruntée conserve les options qu'elle avait au moment de l'emprunt.
Serveur arrêté ou redémarré : l'état des licences est conservé en mémoire par le service ; après un redémarrage, il ne connaît donc plus les postes occupés. Les programmes clients déjà en cours d'exécution continuent de fonctionner (la licence n'est vérifiée qu'au démarrage) et, au heartbeat suivant (sous 30 secondes), se reconnectent automatiquement et reprennent un poste, sans intervention manuelle. Pour qu'ils la retrouvent, pendant 40 secondes après le redémarrage le serveur garde en réserve les postes des clients qui étaient connectés avant : un nouveau client qui démarre dans cette fenêtre est invité à réessayer dans quelques secondes. S'il n'y a pas de licence valide (le serveur reste injoignable pendant environ 90 secondes, ou entre-temps d'autres utilisateurs ont occupé tous les postes), SPC et SPP affichent un message : SPC désactive alors ses commandes, exactement comme au démarrage avec une licence non valide, et les réactive tout seul dès que la licence est de nouveau disponible (le client réessaie toutes les 30 secondes) ; SPP se ferme. Pour l'éviter, redémarrer le serveur en dehors des heures de travail.
7.1 Travailler hors réseau : licences empruntées
Un utilisateur qui doit travailler hors du bureau (ordinateur portable chez un client, à domicile, en déplacement) peut emprunter une licence avant de partir :
- Emprunt (encore sur le réseau) : depuis l'application cliente, choisir la commande d'emprunt et le nombre de jours. Le serveur réserve un poste à cet ordinateur pour cette période et lui remet un ticket signé, enregistré sur l'ordinateur. Le serveur accorde au maximum
MaxBorrowDaysjours (30 par défaut, clé deAV_LicenseServer.ini;0désactive les emprunts) et jamais au-delà de l'expiration de la licence dansCode.txt. Les licences d'essai ne peuvent pas être empruntées. - Hors réseau : le client démarre et fonctionne normalement sans joindre le serveur, jusqu'à la fin de l'emprunt. Le ticket n'est valable que sur l'ordinateur pour lequel il a été émis, ne peut pas être modifié et cesse d'être valable si l'horloge système est reculée.
- Le poste reste occupé : tant que la licence est empruntée, le serveur compte ce poste comme utilisé, même après un redémarrage du service ; il n'est donc pas disponible pour d'autres utilisateurs. Les licences empruntées sont listées dans AV License Manager, onglet Borrowed.
- Retour sur le réseau : le client revient de lui-même sur le serveur, sur le même poste emprunté. Pour libérer le poste plus tôt, utiliser la commande de restitution du client (le serveur doit être joignable).
- Expiration : si la licence n'est pas restituée, à la fin de l'emprunt le serveur libère automatiquement le poste et, au même moment, le ticket cesse d'être valable sur l'ordinateur. Un ordinateur perdu ou en panne conserve donc son poste jusqu'à la fin de l'emprunt : il est impossible de le libérer avant ; choisir le nombre de jours en conséquence.
7.2 Sans License Server : licence autonome
Un ordinateur isolé qui n'utilise pas de License Server (par exemple une entreprise avec un seul PC) peut être licencié avec une licence autonome (stand-alone) : un fichier (.lic) qui autorise un produit sur cet ordinateur uniquement, sans serveur, réseau ni postes.
- Demande : dans la fenêtre License de l'application cliente, cadre Stand-alone license, le bouton Copy copie le Computer code dans le presse-papiers : l'envoyer à votre fournisseur, qui émet le fichier
.lic(produit, version maximale, options, date d'émission et date d'expiration ou sans expiration). - Installation : dans le même cadre, cliquer sur Import license... et choisir le fichier reçu. Il est vérifié (cet ordinateur, ce produit, dates, version) et enregistré dans
%ProgramData%\AV_License\, valable pour tous les utilisateurs de l'ordinateur ; il est utilisé immédiatement et l'éventuel poste réseau occupé est libéré. Un fichier<produit>.licplacé à côté de l'exécutable du client est également utilisé. - Utilisation : au démarrage, le client cherche d'abord la licence autonome ; s'il n'y en a pas ou si elle n'est pas utilisable, il contacte le License Server comme d'habitude (licence réseau, emprunt, essai). Avec une licence autonome, l'avertissement d'expiration prochaine, le titulaire et les options du produit fonctionnent comme avec une licence réseau ; l'emprunt n'est pas nécessaire et est refusé.
- Protection : le fichier n'est valable que sur l'ordinateur et pour le produit pour lesquels il a été émis, ne peut pas être modifié et cesse d'être valable si l'horloge système est reculée. S'il est présent mais inutilisable (expiré, émis pour un autre ordinateur...), le client en affiche la raison.
- Suppression : Remove license le supprime de l'ordinateur ; le client revient alors au License Server.
8. Réseau et Pare-feu
Le serveur écoute sur toutes les interfaces réseau du PC (pas sur une seule adresse), c'est pourquoi :
- depuis un client sur le même PC que le serveur, l'IP réseau (ex.
192.168.0.31:7788) et127.0.0.1:7788(loopback) fonctionnent tous les deux ; - depuis un client sur un PC différent, seule l'adresse IP réseau du serveur fonctionne — jamais
127.0.0.1, qui pointerait vers le client lui-même.
Le pare-feu Windows sur le PC serveur doit autoriser les connexions entrantes sur ce port, sinon les clients distants ne peuvent pas se connecter (voir §10 pour les symptômes). L'installateur crée automatiquement cette exception (limitée aux réseaux Domaine/Privé, pas Public — cohérent avec un service destiné uniquement au réseau local de l'entreprise). Elle ne doit être recréée manuellement que si :
- le service a été installé sans passer par le kit officiel ;
- l'exception a été supprimée manuellement ou par une réinitialisation du pare-feu ;
- le PC serveur est connecté à un réseau classé « Public » au lieu de « Privé »/« Domaine » (dans ce cas l'exception ne s'applique pas : vérifier le profil réseau dans Windows, Paramètres > Réseau et Internet).
Commande pour la (re)créer manuellement, à exécuter en tant qu'Administrateur sur le PC serveur (ajuster le chemin si installé ailleurs) :
netsh advfirewall firewall add rule name="AV License Server" dir=in action=allow program="C:\Program Files\AV License Server\AV_LicenseServer.exe" enable=yes profile=domain,private
9. Mise à jour
Exécuter le nouveau programme d'installation (<yyyymmdd>_AV_LicenseServer_x64.exe) sur le PC serveur comme pour une première installation : il écrase les exécutables mais ne touche pas le AV_LicenseServer.ini ni le Code.txt existants (la configuration et l'activation du client restent intactes). Le service est arrêté, les fichiers mis à jour, puis le service redémarré automatiquement si la tâche correspondante reste cochée.
10. Dépannage
| Symptôme côté client | Cause la plus probable | Que vérifier |
|---|---|---|
Communication error with the License Server: Connect timed out |
Le paquet n'atteint jamais sa destination : le pare-feu Windows sur le PC serveur bloque le port, ou l'IP/réseau est incorrect. | Depuis un PC client : Test-NetConnection <IP serveur> -Port 7788. Si False, vérifier l'exception pare-feu sur le serveur (§8) et que client et serveur sont sur le même réseau/sous-réseau joignable. |
Communication error with the License Server: Socket Error #10061 - Connection refused |
Le PC répond, mais rien n'écoute sur ce port/IP : service arrêté, ou port configuré différent entre client et serveur. | Sur le PC serveur : netstat -an | findstr 7788 (doit afficher LISTENING) ; vérifier l'état du service dans AV License Manager (onglet Service) et que Port= dans AV_LicenseServer.ini correspond à ce qui est configuré côté client. |
NO_SEATS_AVAILABLE / « aucun poste disponible » |
Tous les postes concurrents pour ce produit sont déjà utilisés. | Vérifier combien d'utilisateurs ont actuellement le programme ouvert ; si davantage de postes sont nécessaires, demander un nouveau Code.txt avec un NumberOfLicense plus élevé. |
LICENSE_EXPIRED |
Le produit est listé dans Code.txt mais sa date d'expiration est dépassée. |
Demander un renouvellement (nouveau Code.txt) à celui qui gère les activations. |
VERSION_NOT_LICENSED |
La version du client est plus récente que la version maximale autorisée pour ce produit dans Code.txt. |
Demander un nouveau Code.txt couvrant la nouvelle version, ou continuer à utiliser une version du client non supérieure à celle autorisée. |
TRIAL_EXPIRED |
Le produit n'a pas de licence valide (pas de Code.txt, produit non listé, matériel non correspondant) et la période d'essai de 30 jours du client est terminée. |
Installer le Code.txt du client (§4) et redémarrer le service ; la raison exacte est écrite dans le journal. |
SERVER_STARTING |
Le service vient d'être redémarré : pendant 40 secondes, il réserve les postes des clients qui étaient connectés avant (§7). | Attendre quelques secondes et relancer le client. |
BORROW_DISABLED / BORROW_NOT_ALLOWED |
Les emprunts sont désactivés sur le serveur (MaxBorrowDays=0), ou le produit n'a qu'une licence d'essai, qui ne peut pas être empruntée. |
Définir MaxBorrowDays à une valeur supérieure à 0 dans AV_LicenseServer.ini et redémarrer le service ; pour une licence d'essai, installer d'abord le Code.txt du client. |
| « The stand-alone license has expired » / « ...was issued for another computer » / « ...is not valid » | La licence autonome (§7.2) présente sur l'ordinateur n'est pas utilisable : expirée, émise pour un autre ordinateur ou produit, endommagée ou modifiée, ou l'horloge système a été reculée. | Si nécessaire, rétablir la date et l'heure correctes ; sinon demander à votre fournisseur un nouveau fichier .lic pour le code de cet ordinateur et l'importer (§7.2). En attendant, le client utilise le License Server, s'il est configuré. |
Le client affiche « Trial version expires in: N days » même avec Code.txt installé |
Le service n'a pas encore été redémarré après l'installation du nouveau Code.txt (lu uniquement au démarrage), ou les SystemID/NetworkID du fichier ne correspondent pas à ce PC. |
Redémarrer le service depuis l'onglet Service ; vérifier dans le journal (AV_LicenseServer.log) la raison exacte inscrite au démarrage. |
| AV License Manager ne parvient pas à démarrer/arrêter/installer le service | Privilèges Administrateur manquants. | Répondre « Oui » à la demande de redémarrage en mode élevé proposée par l'application, ou la lancer avec « Exécuter en tant qu'administrateur ». |
11. Référence rapide
- Port par défaut : TCP 7788 (configurable dans
AV_LicenseServer.ini, cléPort). - Nom du service Windows :
AV_LicenseServer(affiché comme « AV License Server » dansservices.msc). - Dossier d'installation type :
C:\Program Files\AV License Server\. - Fichiers principaux :
AV_LicenseServer.exe,AV_LicenseManager.exe,AV_LicenseServer.ini,Code.txt,AV_LicenseServer.log. - Délai d'expiration du heartbeat : 90 secondes par défaut (clé
HeartbeatTimeoutSec). - Période d'essai : 30 jours à partir de la compilation du client, fixe, non configurable.
- Avertissement d'expiration proche : 15 jours par défaut (clé
ExpiryWarningDays). - Conservation des journaux : 15 jours par défaut (clé
LogRetentionDays). - Licences empruntées : 30 jours au maximum par défaut (clé
MaxBorrowDays,0= désactivées) ; état conservé dansAV_LicenseServer.borrows. - Licence autonome :
%ProgramData%\AV_License\<produit>.lic(ou à côté de l'exécutable du client) ; aucun License Server nécessaire (§7.2).