Orion License Server Resources
Getting Started With Orion License Server
Walk through the steps to get started with Orion.
Orion Application Integration Guide
Walk through integrating your application with the Orion Client Library.
Product Documentation
View product documentation online or download the documentation pdf.
White Papers
Tips and strategies on how to best license your software.
Webinars
Key strategies for using Orion across different licensing scenarios.
Demonstration Videos
Orion in action across different licensing scenarios.
Knowledge Base search grammar
- One word — e.g.
renewal. Fuzzy: matches the word, its stem variants (renew, renewing, renews), and words that start with it. - Two or more words — e.g.
license renewal. ANDed: every word must appear somewhere in the question or answer, each still matched fuzzily. - Quoted text — e.g.
"license server"or"checkout". Literal: matched exactly (case-insensitive), and multi-word quotes must appear as adjacent words. - Mixing — e.g.
renewal "Orion". All parts are ANDed together.
Click on a section header below to expand or collapse it. Or type a query above to search — multiple words are ANDed, and anything in double quotes is matched literally. Hover the ? icon for the full search grammar.
If you use the core library, you will need to write code for any dialog boxes as well as persistent storage management for the license activation record. You will also need to write code to adapt to scenarios where network connectivity is sparse or non-existent, as well as scenarios where license leases need to automatically be renewed.
These functions are automatically handled in the high-level-API Java Orion client library, which offers one-to-two-lines-of-code integration for a wide range of license models and licensing scenarios including named / anonymous-user product activation, named / anonymous-user floating licensing, leased licensing, offline activation and deactivation, and more. Although the library provides built-in dialog boxes and persistent storage mechanisms, these may be overridden by you if desired. The high-level library also provides built-in mechanisms for rendering forms and browser windows at the time of activation, for example to capture user registration data or display promotional messages.
Notwithstanding the high-level-API Orion client library’s built-in dialog boxes and one-line-of-code integration capabilities, it can be used in any context where the core Orion client library is used, including server applications where user interaction is not an option, and scenarios where some of the core client library’s API calls are needed.
It is therefore highly recommended that you use the high-level-API Orion client library unless you have compelling reasons to do otherwise.
There is also an explicit upQuotaUse() Orion client library API call that can bump the quota consumption up or down by a specified number of points. This what you want to use in your application logic in response to events pertaining to usage in your application (for example, timer ticks, to count hours of use).
To summarize: your application uses the upQuotaUse() Orion client library API call to manipulate quota consumption, and you configure the license in the Orion server with the ILS:CHECKOUT-NO-QUOTA system option to inhibit checkouts from consuming quota points.
- Identify and read the minimum viable amount of documentation.
- Identify the highest-functionality-level Orion client library available for your platform, and use this highest possible level of abstraction.
- Identify the demo application closest to your usage scenario, and use the source code as a head start for your application integration.
Reviewing the minimum viable documentation set:
- Orion server documentation: Concepts chapter. This is the very first and most essential stop, as it describes the core concepts that anyone working with Orion in any capacity needs to be aware of. As an application developer, you can access this documentation by logging on to your Orion server (which an administrator has already set up for you) and then clicking on the Documentation button towards the top right-hand corner of the screen.
- Orion client SDK documentation: ISV Application Development Guide chapter. The chapter describes client-side programming concepts and detailed steps for application integration for a number of scenarios, with available client libraries. The levels of client library and the criteria for selecting one are described here.
Selecting the appropriate client library:
- Java applications: most likely, the high-level client library will meet your needs. It is capable of handling a wide range of functionality, and substantially eliminates both the volume of coding and the level of integration know-how needed to accomplish the task. One line of code can handle all levels of network connectivity, product activation, floating licensing, offline activation and deactivation, and provides built-in dialog boxes and storage management for license activation records, as well as built-in dynamic form rendering and screen data capture at license activation time. For unique requirements, core library functionality is passed through ie. it is available with the high level client. In the rare instances that the high-level client cannot be used or is overkill for the most basic requirements (eg. very simple traditional floating licensing), you can resort to the core Java client library.
- C/C++ applications: on all but Windows platforms, the core library is the only available option. For Windows applications, the ActiveX client library may be used if high-level functionality with one-line-of-code integration similar to the Java high-level library is required.
- .NET applications on Windows: the high-level ActiveX client library is the only available option.
Selecting the most appropriate demo application as a role model or starting point:
Demo applications are available under the demo folder of the client SDK for a number of licensing scenarios and integration use cases (for brevity, filename suffixes are removed):
- Basic anonymous-user floating licensing with core client library: simpledemo.
- Basic online and offline product activation with core client library: sneakernetdemo (which can be run in two modes). To drive the demo through multiple phases, use the dosneakernetdemo command script and follow the prompts.
- Floating anonymous-user licensing of a long-running batch application of unknown duration with core client library: simplebatchdemo.
- Named-user registration with core client library: registeruserdemo.
- Operational aggregate report execution with core client library: reportdemo.
- Offline and online product activation with offline state management for secure offline metering with core client library: sneakernetdemoms
- One-line-of-code integration for any license model and network topology with high-level client library: HybridApiDemo.
In addition, the ActiveX client SDK includes demos for a range of .NET languages, as well as demos for license protecting Microsoft Office documents.
Resources for performing more advanced and / or nuanced integrations:
The test folder contains various tests that were originally designed for regression testing APIs by Agilis. They are included so that you can run them as well, for example to understand the behavior and semantics of various APIs. The source code for the tests are also included, and serve as a resource for showing how API’s can be used in their various nuances. The files of interest are:
- Running ad-hoc checkouts to experiment with various checkout modes: checkoutcheckin
- Using the fuzzy machine fingerprinting library: TestFingerprint
- Illustration of client library API usage with complete coverage of the API calls and their usage in various modes: BasicTest
- Running performance tests to measure scalability, throughput and response time: MultiuserTest
Externally visible functionality as experienced by the end user (assumes the end user’s email address is used as their userid):
The first time the user attempts to activate your software for trial licensing, they are required to enter their email address in a form / provide it in a configuration file. The activation succeeds, and the software continues to run until the expiration period. In the interim, or in parallel, if the end user attempts another installation and activation under the same email address, the activation fails, and your sales personnel are alerted in real time with details. Should your sales personnel decide to allow multiple evaluations, they can locate the evaluator’s license on the license server and enable it for multiple trials.
License schema: you would maintain a “trial licenses” named-user (not anonymous-user) domain that has a maximum checkout duration equal to the maximum trial period. The domain would have an administrator user account with a password known to your application.
Application: your application code would, at the time of trial activation, first attempt to register the customer email address or equivalent as a named user in the Orion server with a quota limit equal to the maximum number of serial trials permitted on that machine / email address (typically 1). This would be via the “registerUser” API call in the Orion client library, under the auspices of the domain’s administrator account. If registration fails because the user already exists, it is not (yet) an error; however, the current state of the user license is left unperturbed. Following registration, the trial license is activated via a “checkout” followed by a “saveCheckoutState” to save the activation record. The checkout will fail if the quota limit recorded in the server is exceeded.
The above protects against reusing an email address for multiple activations, but requires the user to input an email address. A simplification that does not require the user to input anything is to introspect the user machine’s machine fingerprint and use that as the named-user name instead. Then, multiple serial activations on the same machine are prevented.
Of course, none of the above approach will prevent a determined serial evaluator from simply using different email addresses on multiple machines; the intent is to make it harder for serial evaluators and to limit their ability to do so, as well as utilize a mechanism that enables tracking and accountability (the email address).
There are a couple of points to be aware of:
- If no explicit username is provided by the application, the Orion server invents a unique name beginning in “anon”.
- In the application, if you are using the default domain name, normally you’d pass in a null value for the domain name. However, in this scenario, since there are two default domains (one for named-user and one for anonymous-user), Orion assumes you mean the default named-user domain if you specify an explicit username. Therefore, when specifying explicit usernames for checkouts from the default anonymous-user domain name, it is necessary to explicitly provide the default anonymous-user domain’s name (“default_nuser”).
- If feasible and realizable, use the host access control mechanism. Your application can qualify the machine name with an identifier that is uniquely associated with your enterprise customer. A simple example is to qualify the machine name with the network domain name (works only for on-site users), or with a designated and configured enterprise customer ID. On the server, your administrator can define a host access control rule that permits access to an enterprise customer’s domain only for machine ID’s having the enterprise customer’s network domain name or enterprise customer ID.
- Use an encoded domain name that is hard to guess – in essence a “password” known only to your administrator and your end customer’s administrator.
- Define an auxiliary “pool authorization” named-user domain and register under the domain a named user together with a password. Your application can be coded to first perform a password-qualified named-user checkout from the domain’s representative named user under “pool authorization”, and only if that succeeds, proceed with the anonymous-user checkout. Of course this only solves the problem of access from your specific application.
Of course, if you’re offering a floating named-user model to your customers, the named user can have a password for authentication. Nevertheless, even in this scenario, it is desirable to have an enterprise-wide identification / authentication mechanism.
If you want to define a soft limit and alert your customer / be alerted in the event the soft limit is exceeded without preventing the user from continuing to use your product or service, you can configure the license to be quota limited, and set the quota limit value to the soft limit, and define a generous quota expiration grace parameter. Then configure your event alerter to email the necessary alerts in the event that the soft user limit is exceeded.
Of course, this also means your customer’s sole resort for recovering from a corrupted database is to reinstall the Orion database from a gold master and obtain a new license from you.
It is far more convenient and secure to offer usage based enterprise licensing as a hosted license pool.
Normally, updating the product license does not reset the cumulative usage count, so ordinarily you’d have to issue subscription licenses with progressively higher quota limits, which is both cumbersome and inaccurate because you don’t know what the usage count was at the end of the prior subscription.
The problem with quota limits is avoided by specifying the ILS:RESET-QUOTA-USAGE-ON-PROD-UPD system option to true in the product license. This will automatically reset the quota usage to 0 at the product license and default domain levels. Your end customer’s administrator has the appropriate privileges to reset current quota usage levels of individual domains and named users.
Similarly, you can define domains used for floating licensing to be relative-time-limited, so that the expiration date for a specific domain is determined upon occurrence of the first checkout from it.
Because your devices connect to your server application, all you need to do is to integrate your server with the appropriate Orion client library, and perform the appropriate checkouts by proxy. The Orion client library allows you to specify a logical machine name (ie. it is not required that the parameter be derived from the machine on which the server is running) as well as a logical user name (ie. it is not required that the parameter be derived from the operating system user account under which the server is running). Therefore, for fully connected mobile applications, anything that would ordinarily be done on the mobile device can be done on the server by proxy. This includes specification of a machine name corresponding to the remote device, which could map to its IP address or server-side session handle.
Of course, the first place to check is the machines’ system clocks themselves, to verify that they are in fact in sync. In particular, verify that you are checking the combination of the time and timezone settings. Note also that system clock checking is not sensitive to time zones. For example, if your application is running on a machine whose clock shows noon Pacific Standard Time, and the license server is running on a machine whose clock shows 3pm. Eastern Standard Time, nothing is amiss and the time tolerance is not required to be greater than 3 hrs merely owing to the timezone differences. But if either machine has the above times with the wrong timezone setting (eg. both are at Pacific Standard Time but the machine in San Francisco shows noon and the machine in New York City shows 3pm.) then you will of course encounter the error.
The remedy is to assign a separate session identifier parameter for each distinct user. This could be the operating system thread ID, for example. Alternatively, if you have the information available, you can specify the user’s remote client machine as the machine ID. In either case, you’re defining a unique (machine ID, session ID) parameter pair for each distinct user.
- the end customer’s administrator attempts to change the value of a string-valued option in any way
- the end customer’s administrator attempts to increase the value of an integer-valued option
- the end customer’s administrator attempts to add a new option of their own
The restriction is intentional. The product options control available features. Integer-valued product options define feature levels (the higher the value, the higher the functionality level). The above restrictions enable you to prevent your end customers from upgrading the functionality you have defined for them, and at the same time permits your redistributed-Orion end customers to define more-restricted sub-policies for domains that they set up (which they are allowed to do).
The backup files are conventional zip files ending in “.zip”, in the designated database backup directory. Files ending in “.backup” are part of the set of files comprising a live database instance – notwithstanding their name, they are not backups! Please do not copy or overwrite such database files (or any other database files for that matter), or you will end up with a corrupt database.
In the event that you need to recover from a database corruption due to media failure or any other reason, take the latest “.zip” database backup file, and unzip it in place in the database file directory, taking care to specify to the unzip utility the appropriate directive to disregard the directory path information that is recorded in the zip file in the event that you are relocating the database location to a different directory path / different machine (assuming the licenses installed in the database permit you to do so). In other words, restoring from a database backup is a simple unzip using any zip-compatible utility.
Orion didn’t provide a password recovery / reset mechanism.
Do they have a database backup going back to a date when they had a password they do remember?
If so, they should bring the Orion server to a quiescent state by having all customers checkin licenses if any, then shut down the server, and restore the database to the old state. Note that they will be able to do this provided you did not issue your product licenses with the ILS:INHIBIT-DB-RESTORE system option set to true.
If not, they will have to bring the Orion server to a quiescent state, reinstall Orion and obtain a fresh set of floating license keys from you.
In either case, audit trail and registered-user data is lost.
Effective Orion 2.5:
A system operator (an individual with operating system access to the account under which the Orion server is running) can run the ilssyspwdutil password management utility to retrieve or update the system administrator password.
Effective Orion 2.5.10:
The system operator can use the newly-introduced ilssvcutil service database management utility to retrieve or update the system administrator password. ilssyspwdutil is still supported.
For further details, please refer to the section on the License Expiration Checker job daemon in the “Job Control System Administration Guide” chapter of the product documentation.
The simplest solution to bypass the issue is to configure the database for access in server mode, as explained in the “Setup, Management and Deployment Guide” chapter of the Orion server product documentation. There is however a drawback to configuration in server mode – the Orion server’s backup management job will be unable to perform backups on such a database. It is therefore preferable to architect the system to avoid the need for multiple processes to access a common Orion database.
It should also be noted that sometimes abnormal termination of an Orion server process, especially on Windows, leaves a spawned Java process running and maintaining its lock on the database. When this happens, attempting to start and use a new Orion server instance will produce this error as well. The remedy is to identify the zombie process (a “java” process) and force-kill it, or at worst reboot the server machine.
The root cause for the out-of-memory condition may be any of the following:
- A straightforward out-of-Java-memory condition owing to insufficient memory for your user license population and / or audit trail retention period. For your workload, the default Java virtual memory setting (or a setting you explicitly specified) for the Tomcat servlet engine or other J2EE application server on which you have deployed the Orion server application needs to be increased. Refer to the “Setup, Management And Deployment Guide” chapter of the Orion server documentation for instructions on how to tune the Java virtual machine memory setting. Ensure that your Java virtual memory setting is comfortably below the available physical memory on the machine. For extremely large user license populations in the millions, a 1GByte virtual memory setting is ample. For more common user license populations in the 1000′s or 10′s of 1000′s, a 256 Mbyte virtual memory setting suffices. And for simple low-end configuration (for example what you’d use for conventional enterprise floating licensing), the default memory configuration is ample provided your audit trail cleaner job is enabled to run on a reasonable schedule (see below).
- A disabled or mis-configured audit trail cleaner job. If the audit trail cleaner job is disabled or its frequency is curtailed, or the audit retention period is set to an excessively long duration (eg. years), audit trail entries accumulate over time until any attempt to perform searches or run reports on the audit trail bring the server to a grinding halt. The remedy is to enable the audit trail and ensure it is configured to run with an appropriate frequency. Also ensure that the cleaner does not retain an excessive number of records online. Note that the audit trail cleaner can be configured so that cleaned-out audit trail entries can be archived in sequential files, and that the archive retention period is limited only by the amount of disk space available.
The root cause for the symptom is that in instance the environment was set up correctly for loading the C/C++ fuzzy fingerprinting library and in the other case it wasn’t. For example, the fingerprinting utility may have generated a complete fingerprint because the logged-in user had the correct environment, whereas the Orion server may not have been able to find the fingerprinting library because its operating environment may not have been configured correctly. Check both environments, and verify the node-lock fingerprint file that you receive from your customer prior to generating their floating license key.
Of course, if you use Orion product activation technology for distributing floating licenses to your customers (available with the latest Orion server release), the above will not be an issue since node locking is hidden and automatic.
The recommended fix is to configure the servlet engine so that everything is under Orion’s “ils” servlet application context, per standard J2EE procedures. If for some reason this is not an option, the issue can be worked around by configuring the database to operate in server mode – instructions for how to do so are in the “Setup, Management And Deployment Guide” chapter of the Orion server product documentation.
The remedy is to either wait for the checked-out users to check their licenses back in, or (if it is an option) perform the administration operation with a higher level privilege that is permitted to cancel checkouts.
The remedy is to wait for all checked-out users to check their licenses back in before retrying.
For complete details on the syntax and semantics of license server URL specifications as they pertain to HTTP proxy servers and / or Orion license proxy servers, please see your product documentation, or (if this information didn’t make into your product documentation) ask your developers to see the “ISV application development guide” and “Orion client library API reference” chapters of the respective client library SDK. If using the Orion license proxy server, also see the “License proxy server user guide” chapter of the Orion server product documentation.
If the audit trail is growing too quickly and / or you need to maintain an unusually long online audit trail retention period, you can slow the population of the audit trail by enabling auditing for just the products, domains and named users of interest, and turning it off for all others. See the “License administration user guide” chapter of the Orion server product documentation for details on how / where to set the ILS:AUDIT system option to achieve this objective.
Another possible explanation is if a service with name “default” was defined in the wdoprops.ini configuration file in the user home folder, but its mapping was incorrectly specified eg. to a non-existent folder.
The above is when the Orion server is license-protected with EasyLicenser. If it is license-protected with a hosted Orion server using product activation technology, a node-locked installation can be relocated by disabling the product(s) prior to shutting down and relocation, and then re-enabling the product(s). The rest is automatic.
With Orion’s administration APIs, you’re completely shielded from low-level mechanics such as SQL, database connectivity parameters, etc., and at the same time using the administration API’s enable you to pull tabular data in the expected format, with search predicates and higher-level abstractions. Furthermore, the license database stores certain fields in encrypted format and includes a number of internal structures that you don’t want to know about because they aren’t pertinent at your level of abstraction.
You can of course import the exported Orion data into any analytic tool including Excel for thorough analytics – you just won’t be able to do get at Orion’s data using SQL.
Click on a section header below to expand or collapse it.
Download Orion Server – Minimal-distribution Edition: Version 2.5.14-042719
The Orion License Server Minimal Distribution includes the elements of the Orion license server necessary for deploying to a J2EE application server, including a WAR file and standalone utilities and product documentation. The same download is used for a new installation as well as for upgrades from previous versions.
Review the What’s New In Orion 2.5 and Orion 2.5.x Release Notes chapters in the product documentation for a description of new features and bug fixes. Orion server packaging does not include the client library SDK’s – these are available as separate downloads.
Note that this download does not bundle the built-in Tomcat servlet engine. if you wish to perform a zero-configuration installation, use the full / upgrade edition downloads instead.
Download Orion Server – Full Edition: Version 2.5.14-04/27/19
Notes: Review the What’s New In Orion 2.5 and Orion 2.5.x Release Notes chapters in the product documentation for a description of new features and bug fixes. Orion server packaging does not include the client library SDK’s – these are available as separate downloads. The common Orion server packaging is used for redistribution to end customers, as a license proxy server at ISV and end customer sites, as well as for hosted licensing and internal development by the ISV.
This download is required if the Orion server is being installed for the first time and the default preconfigured Tomcat server is used (the default). The download is optional if the ISV deploys the Orion server application to a different J2EE application server or servlet engine installation – the upgrade-edition Orion server may be downloaded instead. The download should not be used if upgrading an existing Orion server installation that utilizes the default preconfigured Tomcat server, otherwise the existing default license database and Tomcat server configuration will be overwritten – use the upgrade-edition Orion server download instead.
You do not have to use the download if deploying the Orion server to a third party J2EE application server – instead, you can use the more compact “Minimal Installation” download, which includes a WAR file.
Download Orion Server – Upgrade Edition: Version 2.5.14-04/27/19
Notes: Review the What’s New In Orion 2.5 and Orion 2.5.x Release Notes chapters in the product documentation for a description of new features and bug fixes. Note that Orion 2.5.12 is a maintenance release, and Orion 2.5.10 is a new release with major new features. Before upgrading your production system, be sure to perform a test-upgrade in your development environment and confirm there are no regressions. Orion server packaging does not include the client library SDK’s – these are available as separate downloads. The common Orion server packaging is used for redistribution to end customers, as a license proxy server at ISV and end customer sites, as well as for hosted licensing and internal development by the ISV.
This download is required if upgrading an existing Orion server installation that utilizes the default preconfigured Tomcat server – if the full-edition download is used, the default license database and Tomcat server configuration will be overwritten. The download is optional if the ISV deploys the Orion server application to a different J2EE application server or servlet engine installation – the full-edition Orion server may be downloaded instead.The download should not be used if the Orion server is being installed for the first time and the default preconfigured Tomcat server is used – otherwise the default database and Tomcat web configuration will not be set up.
Do not use the download if upgrading an existing Orion server installation that is deployed to a third party J2EE application server – instead, use the “Minimal Installation” download.
Download Orion Java Client Library SDK: Version 2.5.12-01/11/18
Notes: Review the product documentation for a description of new features and bug fixes. Note that the Orion Java client SDK is packaged separately from the Orion server.
Download Orion Multiplatform Orion C/C++ Client Library SDK: Version 2.5.12-08/08/2018
Notes: Review the README and Release Notes in the product documentation for a description of new features and bug fixes. Note that the Orion C/C++ client SDK is packaged separately from the Orion server. Note also that as of version 2.5.12, the standard distribution no longer includes Solaris on Intel / SPARC, or Mac OS X on PowerPC (Intel continues to be supported). If you wish to use a platform that is no longer supported, please continue to use version 2.0.11 version of the Orion client library.
Download Orion Multiplatform C/C++ Client Library SDK: Version 2.0.11-02/05/09
Notes: This is the older release of the Orion C/C++ client library, and is posted for the benefit of customers who wish to continue using the Solaris and PowerPC-MacOS platforms whose support has been discontinued in subsequent releases. Review the README and Release Notes in the product documentation for a description of new features and bug fixes. Note that the Orion C/C++ client SDK is packaged separately from the Orion server.
Download Orion ActiveX Client Library SDK: Version 2.0.10-01/21/08
Notes: Review the product documentation for a description of new features and bug fixes. Note that the Orion ActiveX client SDK is packaged separately from the Orion server, and is compatible with all versions of the Orion server starting with Orion server version 2.0.10.
Important Licensing Note: Support for this download is subject to inclusion of the ActiveX client library in the definition of Licensed Product in your license agreement with Agilis.
Download Orion Administration Web Services SDK: Version 2.0-03/03/08
Notes: Note that the Orion Administration Web Services SDK is packaged separately from the Orion server, and is compatible with all versions of the Orion server starting with Orion server version 2.0.10.
Important Licensing Note: Support for this download is subject to inclusion of the Orion Administration Web Services in the definition of Licensed Product in your license agreement with Agilis.
**Important Note: You will need the downloads below for the purpose of generating floating license keys if you are redistributing Orion to your enterprise customers, and you are using EasyLicenser license key method instead of the activation method introduced in Orion 2.0.10. It is not needed if you are using a hosted Orion server installation and / or you use a host activation service for managing your redistributed Orion server floating licenses.
Click on a section header below to expand or collapse it.
Download EasyLicenser eCommerce Installation: Version: 2.5.11
Notes: Use the eCommerce installation if you want to install or upgrade your existing eCommerce EasyLicenser installation with the latest version of the software. The eCommerce distribution has just the code required for Java-API-based key generation, and does not include the Java or C/C++ SDK’s, sample code or HTML documentation. Your existing data files are preserved, and an ezlic2.5 or other root directory is not created.
After downloading the upgrade file ezlicmgrecom.zip, unzip it directly into your eCommerce working directory. Follow the instructions in readme to run the license manager GUI or use the programmatic API’s to recharge the installation with production keys to enable key generation.
If you are using EasyLicenser to generate network license keys, you will need the Orion Network Licensing Platform for your runtime environment. Please contact us directly to obtain a copy of Orion.
Please see the readme file for further instructions and late-breaking news.
Download EasyLicenser Upgrade Installation: Version: 2.5.11
Notes: Use the upgrade installation if you want to upgrade your existing non-eCommerce EasyLicenser installation with the latest version of the software. The upgrade distribution has code but no data, and preserves your existing data files. It does not create an ezlic2.5 or other root directory. Important note: if you were an EasyLicenser 2.0 customer and you do not have a subscription license agreement in effect with Agilis, do not upgrade your installation to EasyLicenser 2.5, otherwise you may lose some of your license units.
After downloading the upgrade file ezlicmgrupgrd.zip, unzip it directly into your existing product installation root directory. Please see the readme file for further instructions and late-breaking news.
For technical support, please email techsupport@agilis-sw.com or call +1 415-890-6834.



