Skip to main content

Update guide

This guide covers the process of updating Creatio application to the latest available version. Our team at Creatio is constantly working to deliver advanced capabilities to automate your sales, service and marketing processes. You can learn more about the new features included in the Creatio latest version in the release notes.

These instructions are universal for Creatio 7.11.0 and later. You can use them to update to the latest version of Creatio.

If you are using version 7.11.0 and lower, contact Creatio technical support for further instructions.

note

To update Creatio, you need .NET Framework of version 4.7.2 and Runtime. Update them first if required: download .NET Framework 4.7.2. Update the Developer pack: download Developer pack.

Starting from version 7.16.0 you need to download and install .NET Core SDK 3.1 x64 to ensure correct compilation: download .NET Core SDK 3.1 x64. After you install the SDK, restart the host.

If your Creatio instance has installed cultures that are not used by company employees, we recommend removing these cultures before starting the update. This reduces the amount of data that needs to be downloaded as part of the update.

Also, before starting the update, go to the Configuration section and run the Generate source code for all items action, then run the Compile all items action. If taking these steps causes any errors, fix them before starting the update. Learn more in a separate article: Clean up the drive space.

note

Some of the steps of the process are different for Microsoft SQL Server, Oracle Database and PostgreSQL.

How to update

We recommend updating in two stages:

  1.  First, perform the update on a pre-production website using a copy of your current Creatio database.

  2.  If the first stage completes successfully, perform the update of the production Creatio website of the application.

    Important

    Carry out the update of the production version outside of during business hours, as the site will be unavailable.

The update process consists of the following steps:

  1. Copy the database and the binary files of the production website that will be required to deploy the pre-production site. To back up the binary files, archive them in any other directory. You can find out more about DB backups below – “Creating database backup.”
  2. Create a new pre-production website in IIS. Application deployment is described in the “Deployment procedure” article.
  3. Install the update into the pre-production website. For more information, see “Installing updates”.
  4. Verify that the pre-production website is fully operational. If the primary and frequently used functionality runs without errors, you can begin updating the production site. For more information, see “Website compilation and verification.”
  5. Create copies of the database and application. You will need them to return to a working version in case of problems. For more information, see “Creating database backup.”
  6. Install the update into the production website. For more information, see “Installing updates”.
  7. Verify that the updated version is operational. For more information, see “Website compilation and verification.”

If your application operates in the web farm mode, perform additional steps after you complete the update of the pre-production website and one of the production websites:

  1. Set the Data Source and Initial Catalog values in the Terrasoft.Tools.WorkspaceConsole.exe.config file.

  2. Disable all websites except for websites that were updated.

  3. Copy the contents of the myapp\webapp\conf folder from the updated website to the disabled sites.

  4. Enable all websites.

    note

    To enable domain-based authentication in Creatio, transfer Windows authentication settings to the updated application. Learn more in the “How to setup Windows authentication” article.

Learn more about the web farm mode in the user documentation: Application server web farm.

Install updates

To install the update:

When your application server is not connected to the Internet

You need a machine that is connected to the Internet to run the update process. Follow the instructions below up to and including step 3 on that machine. After you complete step 3, switch to the application server.

  1. Get the distribution downloading service: download the service.

    note

    You need a Nexus account to download the update package. If you do not have an account, contact Creatio support.

  2. Open the downloader.json script file to edit. Fill out its parameters with the corresponding values:

    Example of a downloader.json script file configuration:

    {
         "webRootDirectory": "c:\\inetpub\\wwwroot\\delivery",
         "WorkDirectory": "c:\\temp\\delivery",
         "Site": "<name of your site in IIS>",
         "Product": "Studio",
    "DbEngineType": "MSSQL",
         "VersionBuild": "8.0.0.5476",
    "HubUser": "j.smith",
    "HubPassword": "12345678"
    }
    • WebRootDirectory: path to the website root folder. Do not specify this parameter if your application server is not connected to the Internet and you are downloading data from another computer.
    • WorkDirectory: path to the directory where all installation packages and the update utility will be stored.
    • Site: name of your website in IIS.
    • Product: name of the product where the website is deployed. Copy the needed name from the enum Product block in the Downloader.ps1. file.
    • DbEngineType: type of the DBMS. Copy the needed name from the enum DbEngineType block in the Downloader.ps1. file.
    • VersionBuild: current version of your application.
    • SkipBinary: if you already have distribution files and do not want to download them again, you can add this parameter value manually to the downloader.json file (if not already included) and set it to “true”.
    • ConnectionString: database connection string. Copy this string from your connection to the database. Do not specify this parameter if your application server is not connected to the Internet and you are downloading data from another computer.
    • CurrentSchemaName: current database schema. It is “dbo” for Microsoft SQL, “public” for PostgreSql and your schema for Oracle .
    • RedisServer: Redis server.
    • RedisDB: the number of Redis database.
    • RedisPort: Redis port.
    • RedisPassword: Redis password.
    • UseAWS: if you use AWS, add this parameter manually and set it to “true”.
    • HubUser: Nexus username (login).
    • HubPassword: Nexus password.

    The parameters below are not required. If you do not specify them in downloader.json, they will be defined automatically by the WebRootDirectory path.

    • ConnectionString
    • CurrentSchemaName
    • DbEngineType
    • RedisServer
    • RedisDB
    • RedisPort
    • RedisPassword

    Example of the downloader.json file:

    {
    "WebRootDirectory": "c:\\inetpub\\wwwroot\\delivery",
    "WorkDirectory": "c:\\temp\\delivery",
    "Site": "site name in IIS",
    "Product": "Studio",
    "DbEngineType": "MSSQL",
    "VersionBuild": "7.14.1.935",
    "HubUser": "j.smith",
    "HubPassword": "12345678"
    }
    When your application server is not connected to the Internet

    Use the following example of the downloader.json file if your application server is not connected to the Internet and you are transferring data from another machine.

    {
    "WorkDirectory": "c:\\temp\\delivery",
    "Site": "<name of your site in IIS>",
    "Product": "Studio",
    "DbEngineType": "MSSQL",
    "VersionBuild": "7.14.1.935",
    "CurrentSchemaName": "dbo",
    "RedisServer": "localhost",
    "RedisDB": 1,
    "RedisPort": 6379,
    "HubUser": "j.smith",
    "HubPassword": "12345678"
    }
    Important

    Please note that the “\” character is escaped with an extra backslash. It should look like this: “\\”.

  3. Run the Downloader.ps1 Powershell script. Powershell 5.1 or later must be installed to run the script.

    When you run the script, the following elements are created in the directory that you specified in the workDirectory: an “InstallPackages” directory containing a set of update packages, a directory that contains the Updater utility.

    The following folder/file structure will be used in the InstallPackages folder:

    • A separate directory appears for each version in alphabetical order as per the update schedule.
    • Each version directory contains an archive that has files of the corresponding version (the archive will be unpacked automatically to the App and Pkg folders during the update process) and a “Scenario” folder.
    Fig. 2 Example of the file structure
    Fig. 2 Example of the file structure
    When your application server is not connected to the Internet

    Before you take step 4, switch to the application server. To do this:

    1.  Copy the created folder (the one that contains the InstallPackages set of update packages, the folder with the Updater utility and the Start.bat file) and transfer it to the server where your application is placed.

    2.  Open the install.xml script file from the Updater folder for editing. Populate its parameters with the corresponding values:

      • WebRootDirectory – path to the website root folder.
      • InstallPackagesPath – path to the folder where all installation packages and the update utility are stored.
      • ConnectionString – database connection string. Copy this string from your connection to the database.
    3.  Save the changes.

  4.  We recommend revising “prerequisites” container in the Updater.dll.config file (located in the Updater directory) before running the update.

    <prerequisites>
    <add name="NetFramework" version="4.7.2" appType="netfx" />
    <add name="NetCore" version="3.1.0" />
    <add name="VisualCpp" version="Microsoft Visual C++ 2013 Redistributable (x64);Microsoft Visual C++ 2015-2022 Redistributable (x64)" appType="netfx" />
    <add name="Database" version="mssql=2016;oracle=19.0;postgresql=11.0" />
    <add name="IISPrerequisite" version="7.0.0" appType="netfx" />
    </prerequisites>

    Each entry corresponds to the minimum required version of a Creatio component:

    • NetFramework: .NET Framework version
    • NetCore: .NET Core version
    • VisualCpp: Visual C++ version
    • Database: database version
    • IIS: IIS server version

    The Updater utility runs version checks based on the “version” values of these entries.

  5.  Find and run the Updater.exe file in the directory that contains installation packages and the update utility (your “workDirectory” directory) as an administrator.

    The user must have permission to modify the directories for an update to run smoothly.

    note

    To run the file as an administrator, right-click it and select «Run as administrator» in the context menu.

    During the update, multiple commands will be run sequentially. Wait for the entire process to complete.

    If the update completes successfully, flush the Redis server cache.

    Make sure you are using the latest versions of microservice components after the successful update. If not, update them as well.

    If you receive the “ Installed components/software have an outdated/incorrect version. In order to start the Creatio update, please upgrade it " error, check the list of software components (above the error text) for missing software and install it.

    If the update process has failed, stop the procedure and contact the customer support. Provide the folder with update log: The Updater catalog\InstallPackages\%Version%\Log.

Update together with product upgrade

note

To perform a product upgrade, e.g., from Sales Creatio Enterprise edition to the CRM product lineup, use the distribution files of the new product of the same version as the current product.

  1. Locate the Updater.dll.config file in the Updater folder.

  2. Add the following entry to the appSettings block:

    <add key="Feature-ExtendProduct" value="true"/>
  3. Update Creatio as per the standard procedure. The old product will be upgraded to a new product.

Compile and verify the website

After the update process is complete, open the Creatio website in browser, compile the application and test whether the website functions as intended.

  1. Open the web site using the Browse command in the Actions area (Fig. 3).

    Fig. 3 Open a test website in a web browser
    Fig. 3 Open a test website in a web browser
    Important

    If the update process fails, stop the procedure and check the update logs located at: the CreatioUpdater directory \InstallPackages\%Version%\Log. If you receive the “Error:Error” type of a bug in base packages, contact support and provide the folder that contains log records. If errors occur in custom packages, contact the developers of these packages.

  2.  To re-generate client static content, run the Compile all items action in the Configuration section.

  3.  Open the application in a web browser and verify that your routine operations function correctly.

    note

    If ISS session state settings were upset by the changes you implemented this makes it impossible to log in to the mobile application. After an update, make sure the “Use Cookies” mode is enabled in the ISS cookies settings.

  4.  If everything works properly, you can delete the backup application and database.

Roll back the Creatio application before re-updating

  1. Delete all application files.
  2. Copy the binary files to the directory from the backup that you made before the update.
  3. Restore the database using the database backup that you made before the update.
  4. Go to the InstallPackages directory. Collect files in the Logs folder if you plan to send them to support. In child directories that have the version numbers, delete the App, Log, Pkg, Temp directories if they exist.
  5. Make the necessary corrections recommended by the Creatio technical support.

After you complete all the steps above, you can restart the system update process.

Special features of version updates

Update to 7.11.1 (for Creatio Financial Services, lending edition)

note

Take these steps before you update from Creatio version 7.11.0 to version 7.12.0 as well.

If you are using Financial Services Creatio, lending edition and have a custom application page (FinApplicationPage), take the following steps after the base update scenario is complete.

  1. Update packages from SVN.

  2. Run the UpdateFinAppLendingPage utility.

    Running the UpdateFinAppLendingPage from Windows command prompt: UpdateFinAppLendingPage.exe "Path to the downloaded operational copy of svn".

    Example: UpdateFinAppLendingPage.exe C:\MyPackagesFromSvn\.

  3. Commit changes to SVN.

  4. Update the configuration from SVN by running the Restore from repository command in the Configuration section.

Update to 7.15.2 - 7.18.3 (if you use Redis Sentinel)

If your Redis configuration is fail-proof, please contact Creatio support for more information about Redis Sentinel (that ensures Redis remains reliable) before updating to version 7.15.2 and later.

The Redis Sentinel mechanism was retired in Creatio version 7.18.3. We recommend switching to Redis Cluster after updating Creatio to version 7.18.0 and later.

Update to version 7.15.3

note

Take these steps before you update from Creatio version 7.15.0 to version 7.16.0 as well.

Before you update to version 7.15.3, make sure no ReportService customization has been performed in your configuration.

To do this, download and execute one of the following scripts depending on which DBMS you use: download the script for Microsoft SQL, download the script for PostgreSQL, download the script for Oracle.

If the script returns no results, proceed with the following update steps.

If the script returns a list of replaced schemas, compare them with the out-of-the-box schema.

  1. Check which packages contain the schemas from the selection below:

    • If the selection contains any of the schemas from the base packages: verify whether the base package is blocked. The "Maintainer" value of the base package should be "Terrasoft".
    • If the selection only contains schemas from custom packages, analyze the selection schemas.
  2.  If the custom schema contain "using Terrasoft.Reports:", delete "using" (the action is recommended but will not affect the update).

  3.  If the replaced schema references other report designers, but the logic of using it does not change as compared to the out-of-the-box logic, use the instruction.

  4.  If the replaced schema references other report designers and the logic of issuing the reports is changed, analyze the replaced schemas and adapt them to work with the package (the package is part of your configuration starting from version 7.15.0).

Update to 7.16.0

After you update to version 7.16.0, deploy the Exchange Listener synchronization service to make sure the IMAP/SMTP and Exchange services work correctly.

Update to 7.16.1 and 7.16.2

note

Take these steps before you update from Creatio version 7.16.0 to version 7.17.0 as well.

Before you update to versions 7.16.1 and 7.16.2 make sure you do not have any customization using the obsolete library and the Terrasoft.Mail.SmtpClient class in your configuration.

To do this, run the script.

Script for Microsoft SQL:

SELECT SysSchema.Name AS SchemaName FROM SysSchema (NOLOCK)

WHERE SysSchema.Id IN (

SELECT SysSchemaId FROM SysSchemaSource

WHERE SysSchemaId IN (

SELECT

ss.Id

FROM SysSchema ss WITH (NOLOCK)

INNER JOIN SysPackage sp WITH (NOLOCK) ON ss.SysPackageId = sp.Id

WHERE sp.Name NOT IN ('Base', 'ProcessDesigner', 'NUI', 'SSP')

AND sp.Maintainer != 'Terrasoft'

AND ss.ManagerName NOT IN ('ClientUnitSchemaManager', 'DcmSchemaManager', 'PageSchemaManager')

)

AND (Source LIKE '%MailBe%' OR (Source like '%SmtpClient%' AND Source like '%Terrasoft.Mail%'))

)

Scripts for Oracle:

First, run the below script to create a procedure:

BEGIN
EXECUTE IMMEDIATE 'CREATE OR REPLACE FUNCTION blob_to_clob (blob_in IN BLOB)
RETURN CLOB
AS
v_clob CLOB;
v_varchar VARCHAR2(32767);
v_start PLS_INTEGER := 1;
v_buffer PLS_INTEGER := 32767;
BEGIN
IF blob_in IS NULL THEN
RETURN NULL;
END IF;
DBMS_LOB.CREATETEMPORARY(v_clob, TRUE);

FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer)
LOOP

v_varchar := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in, v_buffer, v_start));
DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar);
v_start := v_start + v_buffer;
END LOOP;

RETURN v_clob;

END blob_to_clob;';
END;

 Afterward, run the main script:

SELECT "SysSchema"."Name" AS "SchemaName" FROM "SysSchema"
WHERE "SysSchema"."Id" IN (
SELECT "SysSchemaId" FROM "SysSchemaSource"
WHERE "SysSchemaId" IN (
SELECT
ss."Id"
FROM "SysSchema" ss
INNER JOIN "SysPackage" sp ON ss."SysPackageId" = sp."Id"
WHERE sp."Name" NOT IN ('Base', 'ProcessDesigner', 'NUI', 'SSP')
AND sp."Maintainer" != 'Terrasoft'
AND ss."ManagerName" NOT IN ('ClientUnitSchemaManager', 'DcmSchemaManager', 'PageSchemaManager')
)
AND (blob_to_clob("Source") LIKE '%MailBe%'
OR (
blob_to_clob("Source") LIKE '%SmtpClient%'
AND blob_to_clob("Source") LIKE '%Terrasoft.Mail%'
)
)
);

If the script does not return anything, proceed with the following update steps.

If the script returns a list of schemas:

  1. Check the packages for the schemas from the selection:

    • If the selection contains base package schemas, check whether the base package is blocked and if the "Maintainer" value of the base package is set to "Terrasoft".

    • If the selection only contains the custom package schemas, analyze the selection schemas.

  2. If the custom schema contains the "using" directive but does not involve its types, delete "using".

  3. If the custom schema contains obsolete directives, change the mechanism as per the following instructions:

Update to 7.17.1

note

Take these steps before you update from Creatio version 7.17.0 to version 7.18.0 as well.

If your application contains Marketing Creatio, make sure you re-license your web site before you update to version 7.17.1. Otherwise, the update can lead to errors in the calculation of active contact licenses. this might affect sending marketing emails. Learn more: Creatio licensing.

Update to version 7.18.0 and later

You need to re-order licenses with every update to version 7.18.0 and later. Order and upload licenses after updating to version 7.18.0. You can also order and upload licenses before initiating the update to version 7.18.1 and later. Learn more: Creatio licensing.

If you previously made additional changes in your web.config files (e.g., integrations or external services), transfer these changes after a successful update manually.

Enjoy the new version of Creatio!