Understanding Automated Licence Renewal
Modern Xi-Text and Xi-Batch installations can automate licence renewal through enhanced vwrite capabilities. Systems with Internet connectivity can renew licences without manual intervention, ensuring uninterrupted operation.
New vwrite Options
Serial number specification (-s) : Provide existing serial number on command line
Organisation name (-o) : Specify organisation name (quote if it contains spaces)
Non-interactive mode (-q) : Silent operation requiring no user input - requires both -s and -o
Internet download (-I) : Fetch licence from Xi Software server automatically
Basic Usage
Xi-Batch licence renewal:
bash
sudo /usr/local/bin/xb-vwrite -I -q -o "Your Organisation" -s 00000000
Xi-Text licence renewal:
bash
sudo /usr/local/bin/xt-vwrite -I -q -o "Your Organisation" -s 00000000
Replace "Your Organisation" with your registered organisation name and 00000000 with your actual serial number.
Automated Renewal Script
Create a scheduled renewal process:
bash
#!/bin/bash
# renew-xi-licences.sh
SERIAL="12345678"
ORG="Example Corporation"
# Renew Xi-Batch
/usr/local/bin/xb-vwrite -I -q -o "$ORG" -s "$SERIAL" && \
echo "Xi-Batch licence renewed successfully"
# Renew Xi-Text
/usr/local/bin/xt-vwrite -I -q -o "$ORG" -s "$SERIAL" && \
echo "Xi-Text licence renewed successfully"
Schedule via cron before licence expiration:
cron
# Renew licences 7 days before expiration 0 2 1 * * /usr/local/sbin/renew-xi-licences.sh
Checking Current Licence Status
Before automating renewal, verify current licence details:
Xi-Batch:
bash
xb-checklic
Xi-Text:
bash
xt-checklic
Output shows serial number, organisation, start/end dates, and network status. Use this information to configure automated renewal.
Requirements
Internet connectivity : System must reach Xi Software licence server
Valid serial number : Must have registered serial number
Correct organisation name : Must match registration exactly (case-sensitive)
Appropriate permissions : Typically requires root or sudo access
Rate Limiting and Security
Xi Software licence server implements rate limiting to maintain performance and prevent abuse. Excessive renewal requests from the same network will result in temporary blocking.
Best practices:
- Schedule renewals only when needed (monthly or before expiration)
- Avoid frequent testing against production server
- Use single renewal script for all products on a host
- Implement exponential backoff if renewal fails
Error Handling
Automated scripts should check return codes:
bash
if /usr/local/bin/xb-vwrite -I -q -o "$ORG" -s "$SERIAL"; then
logger "Xi-Batch licence renewed successfully"
else
logger "Xi-Batch licence renewal failed - manual intervention required"
# Send alert email
fi
When Automation Is Appropriate
Internet-connected systems : Servers with reliable Internet access
Production environments : Systems requiring continuous operation
Multiple installations : Organisations managing several Xi installations
Scheduled maintenance : Automated renewal during maintenance windows
When Manual Renewal Is Preferred
Air-gapped systems : No Internet connectivity available
High-security environments : Manual approval required for all changes
Test/development systems : Infrequent use doesn't justify automation
Trial licences : Evaluation systems with temporary licences
Troubleshooting
"Invalid serial number" error : Verify serial matches registration. Check for typos.
"Organisation name mismatch" error : Ensure exact match including capitalisation and spacing. Use quotes around name.
Connection timeout : Check firewall rules permit outbound HTTPS. Verify DNS resolution works.
Rate limit exceeded : Wait several hours before retry. Check for misconfigured scripts making excessive requests.