This article explains how to manually install a SystemWeaver Server on Microsoft Windows. 

The assumption is that you will have only one SystemWeaver server running on the machine. For details about running several servers on one machine, please contact

Hardware and Software Requirements

Before installing SystemWeaver, you'll want to make sure the the server machine meets the minimum requirements for a SystemWeaver Server installation. These requirements are described in SystemWeaver Server - Software and Hardware Requirements and in the SystemWeaver Server Installation Manual.

Downloading the Software

The software is typically delivered via the SystemiteNAS file server as a zipped file.  

If you are having trouble downloading or accessing your delivery, contact

Installing the Server

SystemWeaver includes a number of server applications that can be configured and used depending on the needs of the user organization and the IT support organization. A list of all server applications can be found in the Overview of SystemWeaver Applications section of the SystemWeaver Server Installation Manual or in Summary of Main SystemWeaver Executables. This article covers the installation and configuration of the SystemWeaver main server application only.

  1. After downloading your delivery, move it from the Windows Download directory and place it on a local drive of the server machine, e.g., the C: drive.
  2. Extract the files from the zip file. 
  3. The server installation is in the directory called Server. The directory contains all of the files necessary to run the server. It is important that they remain in this location and are not modified in any way. 

Configuring the Server

The server consists of two executables - swDBServer.exe and Systemite.SystemWeaver.TcpSubServer.exe. 

The swDBServer.exe is the main executable. The configuration file for the server is swServer.ini. There is no configuration file for the TcpSubServer.

In addition, there are two files for configuration of server logs - swServer.props (for the main executable logging) and Systemite.SystemWeaver.TcpSubServer.exe.nlog (for the TcpSubServer logging). 

Note: If you do not see swServer.ini, swServer.props and Systemite.SystemWeaver.TcpSubServer.exe.nlog in the Server directory, you can find examples of them in the Configuration Files directory that is included in the delivery. Copy and paste them into the Server directory. They must be located in the same directory as the executables. 

Formatting the swServer.ini

The swServer.ini file has the following content: (values to the right of the equal sign are examples only to illustrate the used format). This example is for configuring the main server so the [MirrorServer] section should remain commented-out. 

  1. In the Server directory, open the swServer.ini in a text editor. 
  2. Configure the settings described below. 
  3. Save your changes. 



Required. Defines what type of database is being used. The following options are supported:

  • SQLite - SQLite databases
  • Oracle - Oracle databases
  • MS SQL Server - SQL Server databases


Required. Defines the file path to the database Note: The file path should not be written with quotation marks or apostrophes, even for paths including blank (space) characters.


Database TypeExample
OracleThe TNS alias of the Oracle server. Refer to Oracle documentation for details on TNS.

Note: If you do not have a database, you can create an empty SQLite database in less than a minute using the swDatabaseManager utility included in your delivery. However, often times Systemite will support you with initial meta modelling so there will likely be a database file already delivered.


This entry is required only if a mirror server is in use. Enter the file path and file name of the journal file. See How to Configure a Main Server for Mirroring for journal initialization. 


Only required if a file repository is in use. Defines the file path to the file repository. If the FileRepositoryType is 'Files' the path should identify the folder under which the files will be stored. If the type is 'DB', the path defines the SQLite database file. (Currently, SQLite is the only supported database file repository.)


Only required if file repository is in use. Defines the type of file repository. Possible values are 'DB' or 'Files'.


Required by some databases. The username for logging in to the database. This entry can be left empty in case no login is required.  If left blank, Windows authentication will be used. Windows authentication will only work if the user running the SwServer process is added as a user with sufficient authorization in the SQL. 


Required by some databases. The password used for login to the database. This entry can be left empty in case no login is required. Note that this password is not a SystemWeaver user password. If left blank, Windows authentication will be used. Windows authentication will only work if the user running the SwServer process is added as a user with sufficient authorization in the SQL. 


Required by some databases. The encrypted password used for login to the database. An example use case is when the SystemWeaver Server is located on one physical server and the database server on another* and security policies prohibit that unencrypted passwords are sent on the network between the severs. This entry may be left empty in case no login is required. The SystemWeaver tool EncryptString.exe may be used for generating an encrypted password for this purpose.


Optional. Turns on extended performance logging in the server. When logging is activated, a new log file is generated each time the server is started, with automatically defined file names. Alternatives are 'on' for standard logging, 'detailed' for extended logging, and none (or any invalid entry) for no logging at all. CallLogging is only recommended for troubleshooting purposes. 


Optional. Defines the file path to the CallLogging log file.


This section is for configuration related to the TcpSubServer. 


Required. Defines the TCP/IP port number to be used by the server. The port number for SystemWeaver has not been standardized. The Dynamic and/or private ports in the 49152-65535 range are allowed for use by the Internet Assigned Numbers Authority (IANA), but these may be in momentary conflict with other applications depending on the configuration of other applications on the server computer. Refer to e.g. for the use of port numbers.
In case there is no web server active on the SystemWeaver host computer, then the 443 port assigned to the https protocol can be used with no side effects for the SystemWeaver. In case a web browser tries to connect to the port, the request is simply ignored by the SystemWeaver server. Since the communication on 443 is assumed to be encrypted, no other network components should assume anything about the content of the communication. Note however that IANA does not approve the use of this number, likely due to the possibility of conflicts with any web server active on the host.
Port names must be unique on the host computer, and not used by any other application, including other SystemWeaver servers.
In case the access to the server from the user network will be through a proxy, the SystemWeaver client to server communication set up in SystemWeaver clients can be directed though the standard port (#8080) of the proxy. For access through firewalls and proxies, the server port 443 (https, see above) is useful since this port may offer remote access to SystemWeaver without the need to open new ports on the firewall.


Defines the IP address or domain name to be used by the SystemWeaver server. This entry should only be used for the case that the server uses multiple IP addresses or domain names.


Required if SSL Encryption is turned on (See UseSSL below). Used for authentication purposes in the SSL (Secure Socket Layer) so that the SystemWeaver clients can detect the legitimacy of the server. Enter the certificate password here. For intranet use, authentication is normally not required and SystemWeaver is therefore distributed with dummy certificates, with the dummy password "aaaa". If there is a need for specific certificates, the certificate files in the "cert" folder can be replaced by certificates generated by OpenSSL ( 


Optional. Enables the swTestServer to start and connect to the database immediately after the server application is started. Possible values are 'true' and 'false'. The value 'true' should normally be used only after the server configuration has been verified to be fully functional. The swDBServer.exe requires 'true' since this is the only way to start the server.


Optional. Defines whether SSL should be used or not. Alternatives are 'true' for SSL and 'False' for not using SSL. Within a closed network, 'false' could be used to improve robustness for network disturbances, while 'true' should be used for communications over Internet.


Defines whether a .dlq file should be generated (True) or not (False). The default setting is False, but it is recommended that it be set to True, at least initially, since its content allows for proper analysis should there be issues with server performance. IT administrators should be aware that a .dlq file can take some space depending on the size and activity level in the server (e.g., 10GB for very large and active systems).


Define the file path for the .dlq file location. If left blank, the file will generate in the same location as the server executables. Note that the system account running the server must have write permissions to the directory being written to and the directory must exist. Otherwise, the server will not start. 


This section can be ignored when configuring the main server. 

Configuring the Log Files

Since there are two server executables, you will want to configure a log file for each. The configuration files are: 

  • swServer.props for the main swDBServer executable
  • Systemite.SystemWeaver.TcpSubServer.exe.nlog for the Systemite.SystemWeaver.TcpSubServer executable

You can find examples of them in the Configuration Files directory included in the delivery or create your own. Instructions for how to configure these files can be found in How to Configure and Start Logging (for the main server) and How to Configure Logging for the TcPSubServer for the TcpSubServer.

Creating the Internal Database 

For non-SQLite databases only

If your organization is running an MS SQL or Oracle database, you will need to create the internal database that the SystemWeaver server uses. If you are using a SQLite database file, you can skip this step.

Open the swDatabaseManager.exe which you'll find in the Server directory. 

Select MS SQL Server or Oracle as the Type and enter the name of the server (See DSN above for format.)

Then click Create empty v1.XX. For installations using the latest SystemWeaver version, select the highest database version #. If you are unsure which version to use, contact

What's Next? 

The SystemWeaver server is now installed, configured and ready to be tested. See Testing a SystemWeaver Installation for instructions on how to use the swTestServer utility to run the server.

* The availability of the encryption option is restricted due to EU regulations. Please contact us for more information.