InstallManager
CaseTalk Manager Installation
The CaseTalk Manager requires a SQL Server installation to upload and download project files. This is a manual and multi-step process.
Database Script
The Team and Enterprise (Server) editions install a subdirectory called SCRIPTS containing ct_database_scripts.zip and install.txt: everything needed to build a new CaseTalk database on SQL Server, or to upgrade an existing one to the latest version. Read install.txt first; it describes the fresh install, the upgrade, and the check and repair scripts that prove a database is complete.
Two accounts
- Owner - the login that runs the scripts. It must own the database (or be a member of db_owner): installing, upgrading and repairing are all schema changes.
- Application - the login CaseTalk and the Manager connect with day to day. It only reads and writes data, so membership of db_datareader and db_datawriter is enough; it cannot change the schema.
One account may play both parts, but a separate application account is the safer setup: a CaseTalk user then cannot damage the schema, and the version upgrade is a deliberate act of the DBA with the owner account.
Schema
The scripts do not create a SQL Server schema and do not name one. Every table lands in the default schema of the login that runs the scripts' - normally dbo. Do not create a schema for CaseTalk, and do not give the login a default schema of its own: CaseTalk, connecting with another login, would then not find the tables and report Invalid object name 'ctk_setting.
Order
The scripts are organised in three modules that must be run in dependency order - ctprj, then ctmdl, then ctmsg - and within a module layer by layer (01 up to 06). This is not the alphabetical order the folders sort in. Every script repeats this order in its header.
Database Setup wizard
Instead of running the scripts by hand, start CaseTalk Database Setup from the Start menu. It reads the connection from CaseTalkManager.ini (see below), takes the script package from the SCRIPTS folder, and walks you through a fresh install, an upgrade to the latest version, or maintenance of an existing database. Run it with the owner account.
Connection Configuration
The first time the CaseTalk Manager is started it'll prompt for connection details. As system administrators it is possible to configure these through the CaseTalkManager.ini file, located in the roaming profile folder %APPDATA%\CaseTalk12.
[Settings] Server=0 [CaseTalk] Application=Y:\CaseTalk.XE\develop\apps\CaseTalk\build\CaseTalk.exe [db|0] name=Default dbuser$=ADDECC dbpwd$=ADC0CCDED9C8DFC6C8D4 DataSource=ARIES5WIN7 Catalog=CaseTalk OdbcParams=MARS_Connection=yes;AnsiNPW=yes OdbcDriver=ODBC Driver 17 for SQL Server active=True [db|1] name=TCIP dbuser$=ADDECC dbpwd$=ADC0CCDED9C8DFC6C8D4 DataSource=10.211.55.14\SQLEXPRESS Catalog=CASETALK OdbcParams=MARS_Connection=yes;AnsiNPW=yes OdbcDriver=ODBC Driver 17 for SQL Server active=False [db|2] name=Azure dbuser=CaseTalk dbpwd=mypassword DataSource=my.database.windows.net Protocol=tcp Port=1433 Catalog=CASETALK OdbcParams=Persist Security Info=Fals;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False OdbcDriver=ODBC DRIVER 17 FOR SQL SERVER OdbcLibrary=msodbcsql17.dll active=False
The configration file consists of a few sections:
- Settings: The default active server connection to be used
- CaseTalk: File reference to be able to find and start the Modeler
- db|<n>: One of N connection configurations
The DB<N> sections contain the following options:
- name: The connection name as displayed in the user interface
- dbuser: The database username (The examples show a $ at the end indicating the value is encoded. This can be a plain text line which require the $ to be absent).
- dbpwd: Database login password
- DataSource: The SQL Server instance location
- Protocol: This can be empty to let the driver decide, or set to tcp or np.
- Port: Default (and if empty) this is 1433, but can be another configured port on the server.
- Catalog: The database instance name in SQL Server
- OdbcParams: Optional driver parameters (see Encryption Settings below)
- OdbcDriver: SQL Server driver name to be used
- active: This is a legacy parameter and a duplicate of the settings section.
SQL Server Driver
Please consult the microsoft webpage to find the appropriate driver with your SQL Server installation:
Possible standard names for OdbcDriver, through already installed drivers, are:
- ODBC Driver 18 for SQL Server
- ODBC Driver 17 for SQL Server
- ODBC Driver 13 for SQL Server
- SQL Server
- SQL Server Native Client 10.0
- SQL Server Native Client 11.0
To use a specific ODBC DLL, edit the CaseTalkManager.ini file and add the line ODBCLibrary to refer to the DLL instead:
[db...] ... OdbcDriver= OdbcLibrary=msodbcsql17.dll ...
Encryption Settings
Starting with ODBC Driver 18, Microsoft changed the default connection encryption from optional to mandatory. This means connections to SQL Server are encrypted by default. When the server uses a self-signed certificate (common for on-premises installations), this can cause connection failures such as:
SSL Provider: The certificate chain was issued by an authority that is not trusted.
CaseTalk handles this automatically: when ODBC Driver 18 or newer is detected and no explicit encryption settings are present in OdbcParams, CaseTalk adds Encrypt=yes;TrustServerCertificate=yes to ensure connections succeed with self-signed certificates. Connections using ODBC Driver 17 or older are not affected and retain their existing behavior.
To override the automatic defaults, add Encrypt and/or TrustServerCertificate to the OdbcParams line in CaseTalkManager.ini:
| Scenario | OdbcParams value |
|---|---|
| On-premises with self-signed certificate (default for Driver 18+) | MARS_Connection=yes;AnsiNPW=yes;Encrypt=yes;TrustServerCertificate=yes
|
| On-premises with CA-signed certificate | MARS_Connection=yes;AnsiNPW=yes;Encrypt=yes;TrustServerCertificate=no
|
| Disable encryption (not recommended) | MARS_Connection=yes;AnsiNPW=yes;Encrypt=no
|
| Azure SQL (always encrypted, CA-signed) | Encrypt=True;TrustServerCertificate=False
|
Note: If Encrypt or TrustServerCertificate is already present in OdbcParams, CaseTalk will not modify the connection and your explicit settings take precedence.
32 bit OS
The ODBC Drivers are tight to the 32/64 bit of the OS. Default the 64 bit drivers are deployed with CaseTalk. If you are running it in a 32 bit OS, you may need the 32 bit drivers. The portable app distribution contains the 32 bit driver in a subfolder called odbc32. Please copy these into the root folder of CaseTalk to be used instead.
