Automated Licence Renewal

Script-based licence management for Internet-connected systems

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.

Platform-Specific Migration Considerations
Understanding differences between Unix and Linux platforms when deploying or migrating Xi-Text and Xi-Batch