AV License Server — Manuale
Indice
1. Cos'è e come funziona
AV License Server gestisce le licenze "a postazioni concorrenti" (concurrent seats): ogni prodotto (es. SPC, SPP) ha un numero massimo di postazioni utilizzabili contemporaneamente, configurato nel codice di attivazione del cliente. Non è legato a un singolo PC: qualunque client della rete può usare una postazione libera, finché non le esaurisce tutte.
Il sistema è composto da due programmi, installati sullo stesso PC (il server):
- AV_LicenseServer.exe — gira come Servizio Windows in background, sempre attivo (anche senza utenti loggati). È lui che risponde ai client sulla rete. Non ha interfaccia grafica.
- AV_LicenseManager.exe — la console di amministrazione: si usa per avviare/fermare il servizio, consultare il log, e gestire il file di attivazione. Non serve che resti aperta: il server funziona indipendentemente da essa.
I Client (SPC, SPP, ecc., installati su altri PC della rete) si collegano al server via rete (TCP) all'avvio, chiedono una licenza, e la mantengono attiva inviando un segnale periodico ("heartbeat") finché restano aperti.
2. Requisiti
- Windows con privilegi di Amministratore per l'installazione (serve per registrare il Servizio Windows e scrivere in Program Files).
- Il PC scelto come server deve avere un indirizzo IP fisso o riservato sulla rete locale (se cambia, tutti i client vanno riconfigurati). Consigliato assegnarlo via DHCP reservation sul router, o impostarlo statico.
- Nessun altro prerequisito software: l'installer include tutto il necessario.
3. Installazione
- Copiare l'installer
<yyyymmdd>_AV_LicenseServer_x64.exe(generato dal kit inKit\Output\; il nome inizia con la data di generazione, es.20261010_AV_LicenseServer_x64.exe) sul PC scelto come server ed eseguirlo. - Confermare la richiesta di privilegi di Amministratore (UAC).
- Nel wizard, nella pagina delle attività opzionali:
- "Install and start the AV License Server Windows service" — selezionata di default. Lasciarla attiva per avviare subito il servizio; deselezionarla solo se si vuole installare i file senza attivare ancora il servizio.
- "Create a desktop icon for AV License Manager" — deselezionata di default, comoda se si amministra spesso da quel PC.
- Completare l'installazione. Se il servizio è stato installato, l'installer:
- lo registra e lo avvia (nome interno
AV_LicenseServer, visibile inservices.msccome "AV License Server"); - apre automaticamente l'eccezione nel Windows Firewall per
AV_LicenseServer.exe, limitata ai profili di rete Dominio e Privata (non Pubblica) — senza questa eccezione i client su altri PC non riuscirebbero a raggiungere il server (vedi §8).
- lo registra e lo avvia (nome interno
- File installati in
C:\Program Files\AV License Server\:AV_LicenseServer.exe(il servizio)AV_LicenseManager.exe(la console — le sue scorciatoie da Menu Start/Desktop sono impostate per partire già come Amministratore, necessario per controllare il servizio)AV_LicenseServer.ini— configurazione di esempio con i valori di default (Port=7788, ecc.); non viene mai sovrascritto da un aggiornamento successivo.AV_LicenseServer_Manual.html— questo manuale, apribile anche dal menu Start ("AV License Server Manual").
- A questo punto il server è attivo ma senza nessuna licenza abilitata: bisogna installare il file
Code.txtdi attivazione del cliente (§4) prima che i client reali possano ottenere una licenza. Fino a quel momento, i client tentano comunque la connessione e ottengono automaticamente un periodo di prova di 30 giorni (vedi §7).
4. Attivazione: il file Code.txt
Code.txt è il file che stabilisce quali prodotti sono abilitati su questo server, quante postazioni concorrenti e fino a quando. È specifico per cliente ed è legato all'hardware del PC server (non funziona se copiato su un altro PC).
4.1 Richiedere il codice di attivazione
Nella scheda Licenses di AV License Manager, il pulsante "Code request" rileva automaticamente i due identificativi hardware di questo PC (SystemID e NetworkID) e apre il browser sulla pagina Arolo per richiedere il codice, passandoli già compilati nella richiesta. Non serve trascriverli a mano.
4.2 Installare il codice ricevuto
Una volta ricevuto il file Code.txt (via email o altro canale) da chi genera l'attivazione:
- Aprire AV License Manager, scheda Licenses.
- Cliccare "Select Code.txt..." e scegliere il file ricevuto: viene validato e copiato automaticamente nella cartella del server.
- I dati (cliente, prodotti abilitati, postazioni, scadenze) compaiono subito nella lista, in sola lettura.
- Riavviare il servizio (scheda Service → Stop, poi Start, oppure il pulsante Refresh status per controllare lo stato):
Code.txtviene letto dal server solo all'avvio — installarlo con l'app aperta non ha effetto sulle licenze già in corso finché il servizio non riparte.
Il pulsante "Remove license file" rimuove l'attivazione corrente (da usare solo per sostituirla; senza Code.txt nessuna licenza reale può essere concessa, solo il periodo di prova).
4.3 Cosa contiene
Per ciascun prodotto: nome, versione massima autorizzata, numero di postazioni concorrenti, data di emissione e data di scadenza (o "nessuna scadenza"), e quali funzioni opzionali del prodotto sono abilitate (opzioni, es. ResidualAnalysis e CutOptimization per SPC; tutte o nessuna). Il file è cifrato su disco: aprendolo con un editor di testo non si vede nulla di leggibile.
5. AV License Manager: uso quotidiano
Tre elementi principali, tutti nella scheda Service:
- Etichetta di intestazione — mostra nome, versione di AV License Server installato, e l'indirizzo IP:porta a cui i client devono collegarsi (es.
Service: AV_LicenseServer (AV License Server) v26.10.28.0 - 192.168.0.31:7788). È il valore da usare per configurare ogni client (§6). - Stato del servizio (Running / Stopped / not installed), aggiornato ogni 2 secondi, con i pulsanti:
- Start / Stop — avvia o ferma il servizio.
- Install service / Uninstall service — registra o rimuove il servizio Windows (normalmente già fatto dall'installer; serve solo per reinstallazioni manuali).
- Refresh status — aggiorna subito lo stato senza aspettare il timer.
- Log — le ultime righe di
AV_LicenseServer.log, con refresh manuale o automatico ogni 2s, e un pulsante per aprire la cartella del log in Esplora risorse. Utile per capire perché un client non riceve una licenza (il motivo esatto del rifiuto viene sempre scritto qui).
Tutte le operazioni sul servizio richiedono privilegi di Amministratore: se negate, l'app propone di riavviarsi elevata.
La scheda Licenses mostra i dati del Code.txt attivo e i pulsanti per richiederne uno nuovo o installarne uno ricevuto (vedi §4). La colonna Available indica, per ogni prodotto, quante licenze sono libere in questo momento: postazioni meno le licenze in uso e quelle in prestito (vedi §7.1). Viene letta dal servizio in esecuzione all'apertura della scheda o con Refresh e mostra, per esempio, 3 of 5 o 2 of 5 (1 borrowed); 0 (expired) se la licenza del prodotto in Code.txt è scaduta; n/a (service not running) a servizio fermo; n/a (restart the service) per un prodotto di un nuovo Code.txt non ancora caricato dal servizio (§4.2). La colonna Options mostra le funzioni opzionali di ciascun prodotto abilitate da Code.txt: All (tutte), None (nessuna) oppure il loro elenco (es. ResidualAnalysis, CutOptimization).
La scheda Borrowed elenca le licenze attualmente in prestito (vedi §7.1): prodotto, utente, computer, data del prestito, scadenza e giorni rimanenti. È in sola lettura — un prestito termina solo quando il client lo restituisce o alla sua scadenza — e si aggiorna all'apertura della scheda o con Refresh.
6. Configurare i Client (SPC, SPP, ...)
Ogni applicazione client ha un file di impostazioni (es. settings.xml) con un nodo tipo:
<License Server="192.168.0.31" Port="7788" Product="SPC"/>
- Server: l'indirizzo IP del PC server, quello mostrato nella scheda Service di AV License Manager (vedi §5) — mai
127.0.0.1/localhostse il client gira su un PC diverso da quello del server (funzionerebbe solo se client e server sono sulla stessa macchina, per puro caso: vedi §8). - Port: la porta configurata sul server (
AV_LicenseServer.ini, default7788) — deve combaciare. - Product: il nome prodotto atteso in
Code.txt(case-insensitive).
Se l'indirizzo IP del server dovesse cambiare in futuro (nuovo PC, rete riconfigurata), va aggiornato su tutti i client.
7. Come vengono gestite le licenze dei Client
- All'avvio, il client si collega al server e chiede una licenza per il proprio prodotto/versione. Se una postazione è libera (e il prodotto è abilitato in
Code.txt), la ottiene; altrimenti riceve un errore (es. "nessuna postazione disponibile"). - Mentre è in uso, il client invia un segnale ("heartbeat") ogni 30 secondi per confermare che è ancora attivo e mantenere la licenza.
- Alla chiusura (normale), il client rilascia esplicitamente la licenza, che torna subito disponibile per un altro utente.
- In caso di crash, blackout o cavo di rete staccato: se la connessione TCP cade, il server rilascia subito la licenza; se invece la connessione resta "appesa" senza che il client invii più heartbeat, il server la rilascia comunque dopo
HeartbeatTimeoutSec(default 90 secondi, configurabile inAV_LicenseServer.ini). In pratica una postazione non resta mai bloccata a lungo per un client che è sparito senza disconnettersi correttamente. - Periodo di prova: se il prodotto richiesto non risulta abilitato per qualunque motivo (nessun
Code.txt, prodotto non elencato, hardware non corrispondente, scaduto...), il client ottiene comunque un accesso di prova per 30 giorni dalla data di compilazione del proprio eseguibile, senza limite di postazioni. Non è "resettabile" installando/rimuovendoCode.txt: il riferimento è fisso alla build del client. - Avviso di scadenza imminente: una licenza reale (non in prova) che sta per scadere (soglia configurabile, default 15 giorni) genera un avviso non bloccante nel client — la licenza viene comunque concessa.
- Intestatario: una licenza reale espone anche il nome del cliente a cui è intestata (dal
Code.txt), che il client può mostrare in interfaccia. - Opzioni del prodotto: una licenza reale comunica al client anche quali funzioni opzionali del prodotto sono abilitate (Options di
Code.txt, vedi §4.3); l'applicazione client attiva solo quelle. Durante il periodo di prova tutte le opzioni sono attive. Una licenza in prestito mantiene le opzioni che aveva al momento del prestito.
Server fermato o riavviato: lo stato delle licenze è tenuto in memoria dal servizio, quindi dopo un riavvio non ricorda le postazioni occupate. I programmi client già in esecuzione continuano a funzionare (la licenza viene controllata solo all'avvio) e al successivo heartbeat (entro 30 secondi) rifanno da soli il login riprendendosi una postazione, senza intervento manuale. Perché la ritrovino, per 40 secondi dopo il riavvio il server tiene riservate le postazioni dei client che erano connessi prima: un client nuovo che si avvia in quella finestra riceve l'invito a riprovare tra qualche secondo. Se non è disponibile una licenza valida (il server resta irraggiungibile per circa 90 secondi, oppure nel frattempo altri utenti hanno occupato tutte le postazioni), SPC e SPP mostrano un messaggio: SPC disabilita poi i controlli, esattamente come all'avvio con una licenza non valida, e li riabilita da solo appena la licenza torna disponibile (il client riprova ogni 30 secondi); SPP si chiude. Per evitarlo, riavviare il server fuori dall'orario di lavoro.
7.1 Lavorare fuori rete: licenze in prestito
Un utente che deve lavorare fuori ufficio (portatile presso un cliente, a casa, in viaggio) può prendere una licenza in prestito prima di uscire:
- Prestito (ancora in rete): dall'applicazione client scegliere il comando di prestito e il numero di giorni. Il server tiene riservata una postazione a quel computer per quel periodo e gli consegna un ticket firmato, salvato sul computer. Il server concede al massimo
MaxBorrowDaysgiorni (default 30, chiave diAV_LicenseServer.ini;0disattiva i prestiti) e mai oltre la scadenza della licenza inCode.txt. Le licenze in prova non si possono prendere in prestito. - Fuori rete: il client si avvia e lavora normalmente senza raggiungere il server, fino alla scadenza del prestito. Il ticket vale solo sul computer per cui è stato emesso, non può essere modificato e smette di valere se l'orologio di sistema viene spostato indietro.
- La postazione resta occupata: finché la licenza è in prestito, il server conta quella postazione come in uso, anche dopo un riavvio del servizio, quindi non è disponibile per altri utenti. Le licenze in prestito sono elencate in AV License Manager, scheda Borrowed.
- Rientro in rete: il client torna da solo sul server, sulla stessa postazione del prestito. Per liberare prima la postazione usare il comando di restituzione del client (il server deve essere raggiungibile).
- Scadenza: se la licenza non viene restituita, alla fine del prestito il server libera la postazione da solo e, nello stesso momento, il ticket smette di valere sul computer. Un computer perso o guasto tiene quindi la sua postazione fino alla scadenza del prestito: non c'è modo di liberarla prima, perciò scegliere il numero di giorni con attenzione.
7.2 Senza License Server: licenza stand-alone
Un singolo computer che non usa un License Server (per esempio un'azienda con un solo PC) può essere licenziato con una licenza stand-alone: un file (.lic) che autorizza un prodotto solo su quel computer, senza server, rete né postazioni.
- Richiesta: nella finestra License dell'applicazione client, riquadro Stand-alone license, il pulsante Copy copia negli appunti il Computer code: inviarlo al fornitore, che emette il file
.lic(prodotto, versione massima, opzioni, data di emissione e scadenza o nessuna scadenza). - Installazione: nello stesso riquadro, cliccare Import license... e scegliere il file ricevuto. Viene verificato (questo computer, questo prodotto, date, versione) e salvato in
%ProgramData%\AV_License\, valido per tutti gli utenti del computer; è in uso subito e l'eventuale postazione di rete occupata viene rilasciata. Viene usato anche un file<prodotto>.licmesso accanto all'eseguibile del client. - Uso: all'avvio il client cerca prima la licenza stand-alone; se non c'è o non è utilizzabile, contatta il License Server come sempre (licenza di rete, prestito, prova). Con una licenza stand-alone l'avviso di scadenza imminente, l'intestatario e le opzioni del prodotto funzionano come con una licenza di rete; il prestito non serve e viene rifiutato.
- Protezione: il file vale solo sul computer e per il prodotto per cui è stato emesso, non può essere modificato e smette di valere se l'orologio di sistema viene spostato indietro. Se è presente ma non utilizzabile (scaduto, emesso per un altro computer...), il client ne mostra il motivo.
- Rimozione: Remove license lo elimina dal computer; il client torna quindi al License Server.
8. Rete e Firewall
Il server si mette in ascolto su tutte le interfacce di rete del PC (non su un singolo indirizzo), per questo:
- da un client sullo stesso PC del server, funzionano sia l'IP di rete (es.
192.168.0.31:7788) sia127.0.0.1:7788(loopback); - da un client su un PC diverso, funziona solo l'indirizzo IP di rete del server — mai
127.0.0.1, che punterebbe al client stesso.
Il Windows Firewall sul PC server deve permettere le connessioni in ingresso su questa porta, altrimenti i client remoti non riescono a collegarsi (vedi §10 per i sintomi). L'installer crea automaticamente questa eccezione (limitata alle reti Dominio/Privata, non Pubblica — coerente con un servizio pensato solo per la LAN aziendale). Va ricreata manualmente solo se:
- il servizio è stato installato senza passare dal kit ufficiale;
- l'eccezione è stata rimossa manualmente o da un reset del firewall;
- il PC server risulta collegato a una rete classificata "Pubblica" invece di "Privata"/"Dominio" (in tal caso l'eccezione non si applica: verificare il profilo di rete in Windows, Impostazioni > Rete e Internet).
Comando per (ri)crearla manualmente, da eseguire come Amministratore sul PC server (sostituire il percorso se installato altrove):
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. Aggiornamento
Eseguire il nuovo installer (<yyyymmdd>_AV_LicenseServer_x64.exe) sul PC server come per una prima installazione: sovrascrive gli eseguibili ma non tocca AV_LicenseServer.ini né Code.txt esistenti (configurazione e attivazione del cliente restano intatte). Il servizio viene fermato, i file aggiornati e il servizio riavviato automaticamente se il task relativo resta selezionato.
10. Risoluzione dei problemi
| Sintomo nel client | Causa più probabile | Cosa verificare |
|---|---|---|
Communication error with the License Server: Connect timed out |
Il pacchetto non arriva a destinazione: il Windows Firewall sul PC server blocca la porta, oppure IP/rete sbagliati. | Da un PC client: Test-NetConnection <IP server> -Port 7788. Se False, controllare l'eccezione firewall sul server (§8) e che client e server siano sulla stessa rete/subnet raggiungibile. |
Communication error with the License Server: Socket Error #10061 - Connection refused |
Il PC risponde, ma nessun servizio è in ascolto su quella porta/IP: servizio fermo, o porta configurata diversa tra client e server. | Sul PC server: netstat -an | findstr 7788 (deve comparire LISTENING); controllare lo stato del servizio in AV License Manager (scheda Service) e che Port= in AV_LicenseServer.ini combaci con quanto configurato nel client. |
NO_SEATS_AVAILABLE / "nessuna postazione disponibile" |
Tutte le postazioni concorrenti per quel prodotto sono già in uso. | Controllare quanti utenti hanno il programma aperto; se serve aumentare le postazioni, richiedere un nuovo Code.txt con NumberOfLicense più alto. |
LICENSE_EXPIRED |
Il prodotto è elencato in Code.txt ma la sua data di scadenza è passata. |
Richiedere un rinnovo (nuovo Code.txt) da chi gestisce le attivazioni. |
VERSION_NOT_LICENSED |
La versione del client è più recente della versione massima autorizzata per quel prodotto in Code.txt. |
Richiedere un nuovo Code.txt che copra la nuova versione, oppure continuare a usare una versione del client non superiore a quella autorizzata. |
TRIAL_EXPIRED |
Il prodotto non ha una licenza valida (nessun Code.txt, prodotto non elencato, hardware non corrispondente) ed è terminato il periodo di prova di 30 giorni del client. |
Installare il Code.txt del cliente (§4) e riavviare il servizio; il motivo esatto è scritto nel log. |
SERVER_STARTING |
Il servizio è appena stato riavviato: per 40 secondi tiene le postazioni dei client che erano collegati prima (§7). | Attendere qualche secondo e riavviare il client. |
BORROW_DISABLED / BORROW_NOT_ALLOWED |
I prestiti sono disattivati sul server (MaxBorrowDays=0), oppure il prodotto ha solo una licenza di prova, che non si può prendere in prestito. |
Impostare MaxBorrowDays a un valore maggiore di 0 in AV_LicenseServer.ini e riavviare il servizio; per una licenza di prova, installare prima il Code.txt del cliente. |
| "The stand-alone license has expired" / "...was issued for another computer" / "...is not valid" | La licenza stand-alone (§7.2) presente sul computer non è utilizzabile: scaduta, emessa per un altro computer o prodotto, danneggiata o modificata, oppure l'orologio di sistema è stato spostato indietro. | Se serve, ripristinare data e ora corrette; altrimenti chiedere al fornitore un nuovo file .lic per il codice di questo computer e importarlo (§7.2). Nel frattempo il client usa il License Server, se configurato. |
Il client mostra "Trial version expires in: N days" anche con Code.txt installato |
Il servizio non è ancora stato riavviato dopo aver installato il nuovo Code.txt (letto solo all'avvio), oppure SystemID/NetworkID nel file non corrispondono a questo PC. |
Riavviare il servizio dalla scheda Service; controllare nel log (AV_LicenseServer.log) il motivo esatto scritto all'avvio. |
| AV License Manager non riesce ad avviare/fermare/installare il servizio | Mancano i privilegi di Amministratore. | Rispondere "Sì" alla richiesta di riavvio elevato proposta dall'app, oppure avviarla con "Esegui come amministratore". |
11. Riferimento rapido
- Porta di default: TCP 7788 (configurabile in
AV_LicenseServer.ini, chiavePort). - Nome servizio Windows:
AV_LicenseServer(visualizzato come "AV License Server" inservices.msc). - Cartella di installazione tipica:
C:\Program Files\AV License Server\. - File principali:
AV_LicenseServer.exe,AV_LicenseManager.exe,AV_LicenseServer.ini,Code.txt,AV_LicenseServer.log. - Timeout heartbeat: 90 secondi di default (chiave
HeartbeatTimeoutSec). - Periodo di prova: 30 giorni dalla build del client, fisso, non configurabile.
- Avviso scadenza imminente: 15 giorni di default (chiave
ExpiryWarningDays). - Conservazione log: 15 giorni di default (chiave
LogRetentionDays). - Licenze in prestito: al massimo 30 giorni di default (chiave
MaxBorrowDays,0= disattivate); stato salvato inAV_LicenseServer.borrows. - Licenza stand-alone:
%ProgramData%\AV_License\<prodotto>.lic(oppure accanto all'eseguibile del client); nessun License Server necessario (§7.2).