Create directory C:\Program Files\Litexn\Exolution\ and copy the following files from Exolution installer.
C:\Program Files\Litexn\Exolution\Litexn.BackupApplication.exe
C:\Program Files\Litexn\Exolution\ExolutionPrimaryService.exe
C:\Program Files\Litexn\Exolution\ExolutionViewer.dll
C:\Program Files\Litexn\Exolution\RuntimeParams.xml
C:\Program Files\Litexn\Exolution\Settings.xml
C:\Program Files\Litexn\Exolution\Flattener\Flattener.exe
C:\Program Files\Litexn\Exolution\AIConfig.xml
C:\Program Files\Litexn\Exolution\ExolutionLib.dat
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<SQLServer Value="REPLACE_WITH_SQL_SERVER_NAME" />
<PortalDB Value="REPLACE_WITH_EXOLUTION_PORTAL_DB_NAME" />
<ESConnStr Value="http://REPLACE_WITH_ES_CONNECTION_STRING:9200" />
<Port1 Value="443" />
<Port2 Value="8443" />
<DNS Value="REPLACE_WITH_CERTIFICATE_DNS_NAME" />
<IsCertificateSelfSigned Value="true" />
<CertificateThumbprint Value="REPLACE_WITH_CERTIFICATE_THUMBPRINT" />
<IntegrationPlatform Value="Standalone" />
<ReviewPlatformEndpointURI Value="http://localhost:6050/HostGatewayService.svc" />
<IntegrationGatewayType Value="Embedded" />
<EnableExoAI Value="false" />
</Settings>
IntegrationPlatform Value="Standalone"
IntegrationGatewayType Value="Embedded"
SQLServer: It is the name of the SQL Server where a master database and all casebook databases will be created.
PortalDB: It is the name of the master database where all metadata related to casebooks, users, and permissions will be stored.
DNS: It is the Issued to value from the certificate.
ESConnStr: If ElasticSearch is installed on the Exolution server computer, then use the value http://elastic:ES_PASSWORD@localhost:9200 in ESConnStr tag. Replace ES_PASSWORD with encrypted elasticsearch password. Encrypted password can be created using Exolution Primary service as below.
- Open command prompt with admininistrative privileges.
- Go to the directory where ExolutionPrimaryService.exe is placed.
- Type the following command
ExolutionPrimaryService.exe encryptstring
The prompt will ask for string, provide it.Enter string: Somestring
Encrypted String: 48ZpQUlXZ6H2PxHZCl2ubQ== - Copy the encrypted string and use use it to replace ES_PASSWORD.
{
"name" : "ES2023",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "T-J9G630QGiPFWZQUW4e2w",
"version" : {
"number" : "8.11.1",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "6f9ff581fbcde658e6f69d6ce03050f060d1fd0c",
"build_date" : "2023-11-11T10:05:59.421038163Z",
"build_snapshot" : false,
"lucene_version" : "9.8.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
Port1 and Port2: Port1 is HTTPS port that intakes user connection requests. Once user is connected, the communication is moved to Port2. The ports 443 and 8443 recommended ports, but any other ports can be used.
Check the port number availability with the following command in the command prompt prior to assigning ports. If the command returns nothing then the port is available, or else it is already in use. Please configure and use another port if any port is not available for Exolution.
netstat –ano | findstr 443
netstat –ano | findstr 8443
If the command returns no result, the port is available for use. If there is output, the port is in use, and you'll need to assign another port for Exolution.
The result should look like the below.
Use the provided certificate and install it into the following stores using Microsoft Management Console (MMC)
Personal > Certificates
Trusted Root Certification Authorities > Certificates
Open a command prompt with administrative privileges. Register the certificate to be used by Exolution using the following command in the command prompt.
Replace REPLACE_WITH_CERTIFICATE_THUMBPRINT with the certificate's Thumbprint value.
netsh http add sslcert ipport=0.0.0.0:443 certhash=REPLACE_WITH_CERTIFICATE_THUMBPRINT appid={b7acddf8-7452-44ab-829c-4f59762d34aa}
This certificate installation is required to associate the certificate with Exolution Primary service since Windows do not provide UI to perform this action.
If you are planning to configure
EnableExoAI: It is a flag indicating if the AI feature of Exolution (it is called ExoAI) should be enabled or not. If this tag XML tag is missing, or it has value "false" then Exolution is not configured to use AI. Exolution uses ChatGPT as AI engine. If you decided to not use Exolution AI capabilities then you can skip to the next session.
AIConfig.xml is configuration file for ExoAI. It looks as the following.
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<Model Value="gpt-4o" />
<APIURL Value="https://api.openai.com/v1/chat/completions" />
<APIKey Value="REPLACE_WITH_APIKEY" />
</Settings>
Leave Model and APIURL values, and update APIKey value with encrypted string of APIKey. The APIKey can be encrypted using the following command as explained in the encryption of Elasticsearch password.
ExolutionPrimaryService.exe encryptstring
The APIKey is a key generated by ChatGPT by an authenticated user at https://platform.openai.com/api-keys
ExoAI can be disabled later by changing value of ExoAI to "false" in Settings.xml
Exolution Primary Service installation: In the command prompt, go to C:\Program Files\Litexn\Exolution\ and run the following command.
ExolutionPrimaryService -install
The command prompt should display response like the following.
On successful installation, Check the service recovery is set to auto-start.
Open the Services console, right-click on Exolution Primary Service, and click Properties.
Set the service's logon account to the Exolution Service Account, and set the recovery option to restart the service The Exolution Service Account is a user account with local Exolution server administrator rights and the SQL Server access with the following roles.
dbcreator
public
sysadmin
Restart the service. Verify that the service is functional by opening the link http://localhost:443 in a web browser. It should display a page like the one below: