Installation and software requirements
Bot Control Center can be hosted on Microsoft Windows with either of the following services:
-
- Windows Service
- Internet Information Services (IIS)
1. Requirements
Hardware
Memory and CPU requirements depend on the number of robots connected to the Bot Control Center and the number of users using the management panel.
Minimal
-
- Operating system: Windows Server 2016, Windows 10
- Processor: Dual-core with Hyper-Threading support
- Memory: 8 GB RAM
Recommended
-
- Windows Server 2019 or later
- Processor: Quad Core or better
- Memory: 16 GB RAM or more
Software
Depending on hosting method - as a Windows Service, or under the control of IIS, different .Net software components will be required.
Windows Service
-
- .NET Runtime 8.x
IIS (Internet Information Services)
-
- ASP .NET Core Hosting Bundle 8.x
Find out more about installing the Hosting Bundle for IIS here https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/hosting-bundle?view=aspnetcore-8.0
All .Net 8.x software can be downloaded from https://dotnet.microsoft.com/en-us/download/dotnet/8.0
Database
-
- Microsoft SQL Server version 2012 or later (recommended)
- PostgreSQL version 9.6 or later
- MySQL version 5.7 or later
- Oracle DB version 11.2 or later
- SQLite version 3.7 or later
Web browser
-
- Google Chrome 80 or later
- Firefox 72 or later
- Opera 66 or later
- Microsoft Edge 79 or later
- Safari 13 or later
Note: JavaScript must be enabled
2. Initial configuration and Quick Start
This section describes how to successfully run BCC from the command line for testing and configuration purposes.
Before you start, make sure that the latest version of .Net 8 is installed, you have access to the selected database engine, and there is a user on the database server with a login, password and appropriate permissions.
The user should have permissions to connect to the server, edit tables and/or databases, and create new databases (if the target database has not already been created).
The server may also have to be configured to accept SQL authentication in addition to Windows one.
Quick Start
In order to configure BCC and launch it from the command line you'll need to:
1. Extract BCC software files to a selected location on your hard drive
2. In a text editor, open a configuration file called appsettings.json
3. Complete the required fields (Sql, GuiControlsDb, JwtToken, AdminAccess, see the Required Fields section below for more information)
4. Save your changes to the appsettings.json file
5. Start the BCC web app by running bcc.exe
6. Log in to the management panel by entering http://localhost:5000/ in your web browser.
Required fields
Complete the initial BCC configuration by filling out the required fields of the appsettings.json file.
Sql and GuiControlsDb
Complete the ProviderName and ConnectionString fields for both Sql (main BCC database) and GuiControlsDb (supporting database for GUI controls). The available provider names are: mssql, mysql, npgsql (PostgreSQL), oracle and sqlite
Note: When launching BCC in the command line without a proper certificate, depending on your database engine you may need to force a trusted connection for BCC to run.
Sample ConnectionString for Microsoft SQL Server:
If the database doesn't already exist it will be created, as long as the user has all the required permissions.
JwtToken
Replace the Key sections for User, Designer, Agent and Robot respectively with a unique GUID string. They can be generated in Power Shell with the command [guid]::NewGuid().
The JwtToken section is responsible for a secure connection between BCC and other Wizlink applications as well as for users logging in to BCC panel.
AccessTokenExpiration should be left as default.
Modify the RefreshTokenExpiration value to change maximum time between user/application logins before user/application needs to log in to BCC again, By default it's either 24h or 30 days (1440 and 43200 minutes respectively).
Robot registration does not expire.
Default values for Issuer and Audience can be left as-is while launching BCC from the command line. It is encouraged to change them to BCC's proper address when hosting them as service.
AdminAccess and PasswordRules
Fill out all the AdminAccess fields to create administrator login, which will be used to access the BCC panel.
Password needs to meet the requirements set out in PasswordRules section, by default it has to be a minimum of 6 characters long and contain at least one digit.
Additional configuration
In addition to required fields the following can also be configured.
HttpServer, AllowedHosts and AllowedOrigins
HttpServer section determines the web address to open to access the BCC control panel.
The Http endpoint determines the web address for a test command line launch.
The Https endpoint will be used by Windows Service's Kestrel server, but will be ignored if BCC is hosted with IIS.
AllowedHosts and AllowedOrigins can usually be left as-is, the value can be changed in case local network settings interfere with BCC access.
Logging and NLog
Logging and NLog sections determine logging level for internal BCC libraries as well as location, amount of data kept and maximum size of local directory where the logs will be stored.
\
See https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loglevel?view=net-8.0 for more information on logging levels.
TokenCleanupJob
TokenCleanupJob determines time when BCC clears its token data, by default the task runs at 1am.
EmailBoxSettings
The email address that will be used for BCC can be configured on startup as well as later on in main BCC panel using the EmailBoxSettings section.
3. Windows Service
Service installation
1. Copy Bot Control Center files to a path of your choice (e.g. C:\BotControlCenter)
2. Launch PowerShell as administrator with the location set to the folder with the Bot Control Center files
3. Execute the following Power Shell command - the command will create a Windows Service
New-Service -Name BotControlCenter -BinaryPathName "C:\BotControlCenter\BCC.exe" -DisplayName "Bot Control Center" -StartupType Automatic -Description "Wizlink Bot Control Center"
Command documentation for PowerShell 7.2:
Kestrel server configuration
The server configuration is contained in the appsettings.json file in the HttpServer section .
The web server when running the software as a Windows Service is the cross-platform Kestrel.
In the Endpoints subsection , we can configure a list of endpoints on which the server will listen.
Host - IP address or domain name of the host. By default, 0.0.0.0 means that the service is accessible from the outside.
Port - the port on which the listening will take place.
Scheme - HTTP, HTTPS. For HTTPS, certificate configuration is required.
Options available only for secure HTTPS connection
Loads the certificate from the Windows Certificate Store
subjectName – specifies the name of the certificate subject
StoreName - Specifies the name of the X.509 certificate store
Name | Description |
AddressBook | The X.509 certificate store for other users |
AuthRoot | The X.509 certificate store for third-party certificate authorities (CAs). |
CertificateAuthority | The X.509 certificate store for intermediate certificate authorities (CAs) |
Disallowed | The X.509 certificate store for revoked certificates |
We | The X.509 certificate store for personal certificates |
Root | The X.509 certificate store for trusted root certificate authorities (CAs) |
TrustedPeople | The X.509 certificate store for directly trusted people and resources |
TrustedPublisher | The X.509 certificate store for directly trusted publishers |
StoreLocation - Specifies the location of the X.509 certificate store
Name | Description |
CurrentUser | The X.509 certificate store used by the current user |
LocalMachine | The X.509 certificate store assigned to the local machine |
Loading certificate from file
FilePath - full path to the certificate file
Password - certificate security password
Starting the service
Execute the Power Shell command - the command will start the Windows service:
Start-Service BotControlCenter
Command documentation for PowerShell 7.2:
4. Internet Information Services (IIS)
IIS installation
Installation of Internet Information Services (IIS) for Windows Server 2012 R2: https://docs.microsoft.com/en-gb/iis/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2
Enabling the WebSocket protocol is required:
https://learn.microsoft.com/en-us/iis/configuration/system.webserver/websocket
1. Select the server name.
2. Select Add Website from the Sites context menu
3. Enter a name for the Bot Control Center service
4. Select the appropriate application pool or leave the default one
5. Select the location of the Bot Control Center files
6. In the Binding section , select the appropriate IP address, port and Type
7. For the HTTPS type, you must select an SSL certificate
8. confirm
App Pools settings
User profile loading must be enabled for the application pool to which the Bot Control Center service is assigned. This is necessary when we use the system's Credential Center to store logins and passwords.
To enable user profile loading for the application pool, select Advanced Settings from the context menu. In the Process Model group, set the Load User Profile setting to True .
To make changes, confirm with the OK button and restart the application pool.
Certificate setup
Manually adding a certificate file
1. Start Internet Information Service (IIS) Manager (inetmgr)
2. Select the name of the server on which you want Bot Control Center to run
3. Select the Server Certificates item available in the IIS group
4. Specify the certificate location and password
After completing the steps, the certificate should be available in the Bindings section for the selected service.
Last updated: January 29, 2024