Getting Started with ADOxx
This guide provides you with the major information necessary to get ADOxx or an ADOxx based tool running.
This page documents all steps required for Windows, MacOS, Linux comprehensively. Installation guides (for each system) are available on the respective sub-pages.
OS specific Installation Guides
Summary: Guided installatios
To have a guided installation:
- on Windows start
install_on_windows.msi
.- Tested on: Windows 10, Windows 11
- When the Microsoft Visual C++ Redistributable asks for a restart, then restart the computer and execute
install_on_windows.msi
again.
- on Linux open a terminal window, navigate to the extracted download package and execute
./install_on_linux.sh
.- Tested on: Ubuntu 22.04
- on macOS open a terminal window, navigate to the extracted download package and execute
./install_on_macos.sh
.- Tested on: macOS 14.0 Sonoma
To be able to execute a
.sh
file on Linux or macOS it is necessary to first give it execution permissions. This can generally be achieved by running the commandchmod +x ./install_on_linux.sh
orchmod +x ./install_on_macos.sh
respectively.
A guided uninstallation is also available:
- on Windows uninstall via the Windows Settings.
- on Linux open a terminal window, navigate to the extracted download package and execute
./uninstall_on_linux.sh
. - on macOS open a terminal window, navigate to the extracted download package and execute
./uninstall_on_macos.sh
.
Manual installation
The following describes the steps necessary to manually install and set up the ADOxx platform on Windows. It can be roughly described by the following steps:
- Install necessary 3rd party redistributable libraries.
- Install the database management system.
- Copy the ADOxx application files.
- Set up the ADOxx database.
- Create shortcuts for the Development Toolkit and the Modelling Toolkit.
For Linux and macOS this is similar, with a few differences:
- Install Wine, which already resolves the 3rd party redistributable libraries.
- On macOS it is recommended to use Homebrew to install and manage Wine.
- Create a Wine-prefix and copy the ADOxx application into that Wine-prefix and use the executables from there.
- The application is located in a
.zip
file in theinstall-support
subfolder. - On macOS it is also necessary to set the application files to trustworthy. For example with a command like:
sudo xattr -r -d com.apple.quarantine
followed by the path to the extracted ADOxx application.
- The application is located in a
- Run the ADOxx executables through Wine, setting the following variables accordingly:
LANG=en_US WINEARCH=win64 WINEPREFIX=... WINEDEBUG=-all
- The
tool_config.env
file in theinstall-support
folder contains the various values used for the scripts and commands. - The use of a Microsoft SQL Server is possible, but requires the use of Docker, a Docker container ("mcr.microsoft.com/mssql/server:2017-latest" or "mcr.microsoft.com/azure-sql-edge:latest"), the necessary drivers and a configured ODBC connection.
Install redistributable libraries
Previously older Visual C++ redistributable were also needed, but should no longer be necessary. In case you encounter any errors about missing DLL files like MSVCR120.dll
, MSVCP120.dll
, VCOMP140.dll
or similar, try installing the following redistributable packages:
- For missing
...120.dll
: Microsoft Visual C++ 2013 Redistributable (x64) - For missing
...140.dll
: Microsoft Visual C++ 2015 Redistributable (x64)
Install database management system
SQLite
The current version of ADOxx uses SQLite for managing a simple database file. No special installation is needed to use this (necessary files are provided with ADOxx). By default the database files are located in the folder %APPDATA%\ADOxx\sqlitedbs\
. The environment variable ADO_SQLITE_DBFOLDER
can be used to specify a path to a folder for storing the database files at a different location. Alternatively, the adbinst.exe
, aadma.exe
and areena.exe
tools can be started with a -Portable
parameter, which will cause them to create / look in the relative folder sqlitedbs\
for the database files, providing a more portable solution. However, currently it still requires an installation of the redistributable libraries.
The more portable solution will fail with an error, like
[alogin-05]
when the application files are placed in a folder that does not give them write permissions into that folder, e.g. anywhere underC:\Program Files\
.
Microsoft SQL Server
If necessary, it is also possible to use a Microsoft SQL Server to manage the database. This requires additional steps to set up the entire system, which are described below.
Some screenshots of the Microsoft SQL Server 2019 installation wizard are located in the
doc/installation/MS SQL Server/
folder. The folder also contains aSqlInstallConfig.ini
file with configuration settings and information on how to perform a mostly unattended installation.
- Download and start the installer for Microsoft SQL Server 2019 Express.
- Start the installer and select "Custom" installation.
- Specify where the SQL Server setup files should be stored ("SQL Server media download target location") and select "Install".
- After it finished downloading the setup files, a new window should appear, titled "SQL Server Installation Center". There, select "New SQL Server stand-alone installation or add features to an existing installation".
Following only the steps of the installation which require specific changes will be addressed. For all the other steps leave them as they are or perform reasonable selections. - At the "Installation Type" step select "Perform a new installation of SQL Server 2019". This step is skipped if no previous installation is present.
- At the "Feature Selection" step select at least the "Database Engine Services", "Client Tools Connectivity", "Client Tools Backwards Compatibility" and "SQL Client Connectivity SDK".
- At the "Instance Configuration" step select "Named instance", specify a meaningful name for the DBMS instance, e.g.
ADOXX_SQL2019
, and use the same value for "Instance ID". - At the "Server Configuration" step leave the values in the "Service Accounts" tab as they are. In the "Collation" tab specify for the "Database Engine" the value
SQL_Latin1_General_CP1_CS_AS
. Through the "Customize..." button it is located under "SQL collation, used for backwards compatibility". - At the "Database Engine Configuration" ensure that your user is part of the "Specify SQL Server Administrators" and select "Mixed Mode". As the password for the SQL Server system administrator (sa) enter
12+*ADOxx*+34
. Thesa
user is necessary for creating the ADOxx specific database users. - Let the installation finish.
- Once the installation is complete the "SQL Server Installation Center" window can be closed.
Copy ADOxx application files
- Copy the contents of the folder with the built ADOxx files (in this project
bin\release-x64\
) to a folder on your hard drive, e.g.C:\Program Files\BOC\ADOxx_1_8_0\
.
Set up database
SQLite
- Run the
asetlic.exe
tool from the ADOxx installation directory with the arguments"-plicense.ini" "-Lalicdat.ini"
and specify the customer number and license number. If an ADOxx-based tool already comes with a pre-defined license, then this step is not necessary. - Run the
adbinst.exe
tool from the ADOxx installation directory. - In the dialog specify:
- the "Database name", which should be between 3 and 8 characters long and should only use ASCII letters and numbers,
- the "License number",
- select "SQLITE" as the "Database system",
- select "WITHOUT Single-Sign-on" for "Single-Sign-on installation option",
- mark "Create new database"
- Click "OK".
Microsoft SQL Server
- Run the
asqladm.exe
tool from the ADOxx installation directory. - Select "Create new ADOxx database" and click "Next >".
- Specify a database name that is not yet in use and click "Next >". The database name should be between 3 and 8 characters long and should only use ASCII letters and numbers.
- Enter your "Customer number" and "License number" and click "Ok"
- If the "Customer number" is greyed out, then cancel out of the wizard (
asqladm.exe
), delete thealicdat.ini
andlicense.ini
files in the ADOxx installation directory and start the wizard (asqladm.exe
) again.
- If the "Customer number" is greyed out, then cancel out of the wizard (
- Wait for the database creation to finish and confirm the dialog at the end.
- Close the wizard (
asqladm.exe
).
An alternative to the asqladm.exe
tool is to create the empty database, database user etc. through other means (e.g. manually) and then use the adbinst.exe
tool to initialize all the tables. A command like the following can perform this with reduced user interaction: adbinst.exe -d[database] -l[license-number] -sSQLServer -iNO_SSO -lang2057
Create shortcuts
It is recommended to create shortcuts for the Development Toolkit (aadma.exe
) and Modelling Toolkit (areena.exe
) at a location of your choosing, e.g. Desktop, Start Menu etc. These shortcuts can also use various arguments to pre-fill some of the login information and directly start the tool, e.g. C:\Program Files\BOC\ADOxx_1_8_0\aadma.exe -u[user] -p[password] -d[database] -s[db-system]
, will directly start the Development Toolkit with the [user]
and [password]
logged into the [database]
using the [db-system]
(e.g. SQLITE
or SQLSERVER
). It is also possible to only use some of these arguments, like leaving out the -u[user]
and -p[password]
.
Starting the tool
It is recommended to use the shortcuts to start the tool on any system. Should the shortcuts not be available, then it is also possible to start the tools through their executables.
On Windows directly use the areena.exe
file from the location where it is installed.
On Linux open a terminal and run the following command:WINEARCH=win64 WINEPREFIX="${HOME}/.wine_adoxx18" wine64 start /d "C:\\Program Files\\BOC\\ADOxx_1.8.0\\" "C:\\Program Files\\BOC\\ADOxx_1.8.0\\areena.exe"
Adapt the two paths ("C:\\Program Files\\BOC\\ADOxx_1.8.0\\"
) according to the used tool.
On macOS open a terminal and run a command like the following:PATH="/opt/homebrew/bin:/usr/local/bin:${PATH}" FREETYPE_PROPERTIES="truetype:interpreter-version=35" WINEARCH=win64 WINEPREFIX="${HOME}/.wine_adoxx18" wine64 start /d "C:\\Program Files\\BOC\\ADOxx_1.8.0\\" "C:\\Program Files\\BOC\\ADOxx_1.8.0\\areena.exe" 2>/dev/null
Adapt the two paths ("C:\\Program Files\\BOC\\ADOxx_1.8.0\\"
) according to the used tool.
In any case the default username is Admin
and the password is password
. The name of the database depends on the installed tool or changes made during the installation. On Windows the database files can usually be located under %APPDATA%/ADOxx/sqlitedbs
. On Linux and macOS they are located inside the Wine prefix folder (default ${HOME}/.wine_adoxx18
) under drive_c/users/[username]/AppData/Roaming/ADOxx/sqlitedbs/
. The name of the database is the name of the file, without the .sqlite3
at the end.
Troubleshooting
- Starting the Modelling Toolkit shows a warning message like "No standard printer is currently assigned!"
- This mostly happens when using the tool through Wine and indicates that Wine has no access to any printers. One solution that has worked so far on Linux was to also install the package
printer-driver-cups-pdf
to provide a default PDF printer.
- This mostly happens when using the tool through Wine and indicates that Wine has no access to any printers. One solution that has worked so far on Linux was to also install the package
- Creation of database throws error: [adbinst-10] User "ADOxx" does not exist or insufficient privilages.
- This is most likely because the Microsoft SQL Server 2019 instance has been installed WITHOUT "Mixed Mode". Mixed mode is necessary to allow users to log in using SQL Server authentication. To change this after the SQL Server instance has been created you have to install and start SQL Server Management Studio, connect to the SQL Server instance with your administrator user, open the context-menu (right-click) of the server in the "Object Explorer" and select "Properties" and in the "Security" page change the "Server authentication" to "SQL Server and Windows Authentication mode". It also seems to be necessary to activate the System Administrator user (
sa
), because some internal ADOxx scripts use it to create theADOxx
user.
- This is most likely because the Microsoft SQL Server 2019 instance has been installed WITHOUT "Mixed Mode". Mixed mode is necessary to allow users to log in using SQL Server authentication. To change this after the SQL Server instance has been created you have to install and start SQL Server Management Studio, connect to the SQL Server instance with your administrator user, open the context-menu (right-click) of the server in the "Object Explorer" and select "Properties" and in the "Security" page change the "Server authentication" to "SQL Server and Windows Authentication mode". It also seems to be necessary to activate the System Administrator user (
Acknowledgements
- This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details. FreeImage is used under the FIPL, version 1.0.
- This software is based in part on the work of the Independent JPEG Group.
- This software uses a RegEx library created by Henry Spencer ("libregex").
- This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
- This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
- This software uses a built version of the Xerces-C project without any modifications. Details and source code can be found on the Xerces project page.
Dependencies
Dependencies are installed as necessary during the guided installation. Details on how to install the dependencies manually are described in the Manual installation section.
ADOxx and ADOxx based tools require the Visual C++ Redistributables to be installed:
- Microsoft Visual C++ 2015-2022 Redistributable (x64) It places the necessary runtime DLL files in the
windows/system32
folder, e.g.vcruntime140_1.dll
and some others.
Additionally the tool requires a database to store the data. Currently the default database system used is SQLite.
Note on the use ADOxx with an SQLite database: SQLite only allows to perform one write-operation for a database (file) at a time. If two processes, e.g. DevTk and ModTk, access the same database, and one performs a long write operation, e.g. importing a library or import many models, then the other process will have to wait for the first one to finish before it can write to the database. Performing read-operations is not influenced by this. Also, the "one write-operation" limit is per database (file), so processes that use separate databases should not get in each other's way. It is however discouraged to log in with the DevTk or ModTk to a database when another process is importing a library or models into the same database.
Alternatively Microsoft SQL Server can be used. The following versions have worked so far:
- Microsoft SQL Server 2014 Express (64-bit)
- Microsoft SQL Server 2019 Express (64-bit)
Based on the selected DBMS the deployment architecture looks a bit different.