Starting KCM Instance

This section describes how you can use the StartInstance.exe tool to start the KCM instance in your installation.

StartInstance.exe is a command-line tool intended to:

  • start Windows services of the instance including shared web services and sets their startup type to Automatic

    In KCM, shared web services (used by several KCM instances) are Windows services implemented on Tomcat web server.
  • finish the configuration of the instance

  • modify the configuration of the instance after installation

You can find the StartInstance.exe installation tool in the <deploy root>\KCM\Programs\<version>\Management folder.

Manual registration of KCM instances at the Contract Manager is possible. However, the preferred way is to have StartInstance.exe register the instance automatically, or use the instance registration file that StartInstance.exe generates. Any manual registration may get overridden by StartIntance.exe and StopInstance.exe.

Requirements

This section describes the requirements that must be satisfied before you run the StartInstance.exe tool.

  1. The account used to run StartInstance.exe must have the local Administrator permissions on the target server.

    The following steps are required only if you are starting the Contract Manager for the first time, or you are changing its configuration.

  2. License. For additional information, refer to the License section of this guide.

  3. KCM instance database. For additional information, refer to the "KCM Repository database" section below.

  4. Configuration import file if you plan to import the existing configuration of the KCM instance. For additional information, refer to Export functionality and initialization of new components topic.

  5. Database load if you plan to load the already existing content to the new database. For additional information, refer to the Dump and load the Repository database section of Kofax Communications Manager Repository Administrator's Guide.

  6. Contract information for registering this instance on the Contract Manager.

  7. Configure the TLS versions that are allowed for making SSL connections.

The installation will automatically create the KCM Designer Administrator account. You can change its password as described in the Change your password topic in KCM Designer Help.

KCM Repository database

KCM installation requires a database for KCM Repository.

Multiple KCM instances cannot use the same database for KCM Repository. If you plan to deploy multiple KCM instances, make sure you have a dedicated database prepared for each of them.

Whenever you use an Oracle or an SQL Server database for KCM Repository, you must supply an ODBC Connection String. A 64-bit ODBC driver is required.

To prepare the database, follow the steps below:

  1. Create an empty database or make sure one exists on the database server.
  2. For SQL Server database, consider the following:
    • If the database is not installed locally, Microsoft SQL Server Command Line Utilities have to be installed on the KCM server.

      64-bit DBMS drivers are not supported for DID connections. These drivers must be configured as the 32-bit DBMS drivers.

    • Database must be created with case-insensitive collation.
    • TCP/IP protocol for SQL Server must be enabled.
    • SQL Server authentication mode must be set to Mixed mode (both SQL Server and Windows Authentication).
    • Default authentication method is SQL Server authentication. SQL Server account for database access must satisfy the following conditions:
    • To enable Windows authentication, leave out the database user and password parameters, and if needed add Integrated Security=True to the connection string.
  3. For Oracle database, consider the following:
    • Minimum table space available for KCM Repository database is 60 MB.

    • 64-bit DSN configuration is required.

    • Oracle Client versions 11.02.00.01 and 11.02.00.02 are not supported for use with KCM Repository.
    • The Oracle user you plan to use for database access should have the following privileges:
      • Create Session

      • Create Table

    When creating a user in Oracle, do not use lowercase characters in a quoted user identifier. When logging on to Oracle, KCM extends the connection with a user identifier without quotes. This causes Oracle to interpret the user name as uppercase.

    For example, if you create KCM_USER in Oracle, KCM will be able to log in with this user, but if you create Kcm_User, KCM will not be able to log in, because Kcm_User is automatically interpreted as KCM_USER, and that user does not exist.

How the tool works

This section describes how the StartInstance.exe tool works.

  1. It compiles the KCM Core scripts.

  2. It starts all Windows services of the KCM instance and sets their startup type to Automatic.
  3. It verifies that the database is not connected to another KCM Instance. It happens when the database contains a validation id that differs from the validation id of the KCM Instance. This verification takes place every time, regardless of whether the database is changed or not.

    Sometimes the database has a validation id, but is not connected to another KCM Instance. This can happen if the other KCM Instance was not stopped properly or is a remnant of KCM 5.6 or earlier when validation ids were not cleared upon stopping. In this case, you can remove the validation id from the database by running the checkdatabase.exe tool with the /unlock option. You can find this tool in the Software/ITP Server/Bin folder of the extracted KCM 5.7 package.

  4. When the database is changed or configured for the first time, the following additional verifications also take place:
    • When the database mode is New, the database should be empty.

    • When the database mode is Check, the database should have repository content and the Partner and Customer of the KCM Instance are the same as the Partner and Customer in the database.

    • When the database mode is Overwrite, the database should have repository content and the Partner and Customer of the KCM Instance differ from the Partner and Customer in the database.

  5. It locks the database for the KCM Instance by writing the validation id of the instance into the database. This lock takes lace every time, regardless of whether the database is changed or not.
  6. When the database is changed or configured for the first time, the following additional database steps also take place:
    • When the database mode is New :

      • If a database file is specified, this file is loaded and then subsequently upgraded to the current KCM version if necessary.

      • Otherwise, the initial tables for the KCM/repository are created, optionally the InstallationTest project is loaded, and the repository Administrator user is created.

    • When the database mode is Check or Overwrite:

      • The database is upgraded to the current KCM version if necessary.

    • The partner and customer of the KCM Instance are written to the database.

    • The predefined channels are imported into the KCM Repository database on top of all the channels that already exist.

  7. Optionally: the previously exported configuration is imported.

  8. The instance is registered on the Contract Manager (unless Registration!ContractManagerLocation=None).
  9. If a contract does not exist, it will be created and associated with the KCM Instance.

This command also provides an option to install an example web application that you can use for testing purposes. For more information about this, refer to the following topic: Manage example web application.

Execution steps

To run the installed KCM instance, execute the following steps:

  1. Open the command line interface (CLI). It could be PowerShell or Command Prompt.

  2. In the CLI, navigate to the folder where the StartInstance.exe is located.

  3. Call the StartInstance.exe file with the necessary parameters.

    If you launch StartInstance.exe without any parameters, it will start the KCM instance with default configuration.

    If everything is correct, the process will run without errors. You will be able to follow the it by reading the CLI output.