Hotfix Instructions - Kentico 9

Hotfixes allow you to fix problems in your installation of Kentico. You can download hotfix packages and view the list of fixed bugs on the Kentico DevNet portal.

If you have the source code version of Kentico, please see Hotfix Instructions - Kentico 9 Source Code.

Note

Hotfixes are not tested for all possible scenarios, so you may experience issues after applying the hotfix.

Always back up your project files and database before applying a hotfix.

Table of Contents

Prerequisites

You can only apply the hotfix to complete Kentico projects that use the standard folder structure (the solution file, GlobalAssemblyInfo.cs, the CMS and Lib sub-folders). If you run your website as a deployment of the CMS folder, you need to hotfix the original complete project and then create a new deployment.

Installing the hotfix

  1. Download the installer for the required hotfix version from the Kentico DevNet portal.
  2. Run the Hotfix_<version>.exe file.
  3. Go through the hotfix installation procedure.

By default, the installer places the hotfix into the C:\Program Files\Kentico\<version>\Hotfix<version> folder.

Applying the hotfix to web site projects

Local installation

  1. If your system stores virtual objects on the file system (due to enabled Deployment mode or source control options), return the files to the database. You can re-enable deployment mode or source control after you apply the hotfix.
  2. Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix (C:\Program Files\Kentico\<version>\Hotfix<version> folder by default).
  3. Select your project folder using the Browse button or type in the path to the project manually.
  4. Use the utility to back up your project files and/or database if you have not already done so.
  5. Select which components you want to update. Click Switch to advanced mode if you wish to change the settings. We recommend updating all components.
    • Kentico files – the files of your web project
    • Setup files – the Kentico installer and external utilities (which are separate from the web project)
    • SQL script – the database structure and data
  6. Choose a method of taking the project offline and back online.
  7. Click Next to start the hotfix procedure.
  8. After the update finishes, click Next to view any problems that may have occurred and the instructions to solve them.

For more information, see Kentico Hotfix and Upgrade Utility.

Remote installation

If you cannot access your web project directly (for example when the project is located on a remote hosting server), you can use the Hotfix Utility to create the updated file structure and then upload them to your web project location. 

  1. Navigate to the location where you installed the hotfix (C:\Program Files\Kentico\<version>\Hotfix<version> folder by default).

  2. Run Hotfix.exe from the command line with the /deploy parameter. Set the parameter value based on the installation type you are using:

    • net45site – web site project using .NET version 4.5
    • net46site – web site project using .NET version 4.6Example: Hotfix.exe /deploy=net45site

    This launches the Hotfix Utility, which then creates the files and folders necessary for updating a project running on .NET version 4.5 and saves them into the folder chosen in the first step of the Hotfix Utility wizard.

    Additionally, you can provide the /path parameter to specify the location where the application creates the updated files. This way you do not need to set the path in the first step of the Hotfix Wizard. You can supply the /path parameter in two different formats – relative, which represents a folder in the location from which the utility was executed; or absolute, which can be any path to a local disk.

    Example: Hotfix.exe /deploy=net45site /path=Deploy

    This launches the Hotfix Utility, which then creates a folder named Deploy in the directory from which the utility was executed and copies all files and folders necessary for updating a project running on .NET version 4.5 into that folder.

  3. Once you have the update files ready, take your website offline. You can do this by copying the App_Offline.htm file from the hotfix installation directory into the root of the remote web project.

  4. Upload the update files created by the Hotfix Utility into your remote web project’s CMS folder (overwrite the original files).

    Important

    If you have previously modified some of the Kentico project files (such as web parts or administration interface files), DO NOT OVERWRITE these files. You could lose your modifications.

    You need to compare the modified files with the new versions and make appropriate changes manually.

  5. Manually execute the hotfix SQL scripts on your Kentico database.

    • If you do not use separated databases – run the Hotfix_separated.sql and Hotfix_default.sql script files located in the SQL folder of your hotfix installation directory. We recommend running the files in the described order.
    • If you use separated databases – run the Hotfix_separated.sql script file on the separated database and Hotfix_default.sql on your main database. The script files are located in the SQL folder of your hotfix installation directory.
  6. Bring your website back online (delete the App_Offline.htm file).

Applying the hotfix to web application projects

Local installation

  1. If your system stores virtual objects on the file system (due to enabled Deployment mode or source control options), return the files to the database. After you apply the hotfix, re-enable deployment mode or source control and rebuild the project.
  2. Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix (C:\Program Files\Kentico\<version>\Hotfix<version> folder by default).
  3. Select your project folder using the Browse button or type in the path to the project manually.
  4. Use the utility to back up your project files and/or database if you have not already done so.
  5. Select which components you want to update. Click Switch to advanced mode if you wish to change the settings. We recommend updating all components.
    • Kentico files – the files of your web project
    • Setup files – the Kentico installer and external utilities (which are separate from the web project)
    • SQL script – the database structure and data
  6. Choose a method of taking the project offline and back online.
  7. Click Next to start the hotfix procedure.
  8. After the update finishes, click Next to view any problems that may have occurred and the instructions to solve them.
  9. Open the project solution in Visual Studio and build the solution.

For more information, see Kentico Hotfix and Upgrade Utility.

Remote installation

If you cannot access your web project directly (for example when the project is located on a remote hosting server), you can use the Hotfix Utility to create the updated file structure and then upload them to your web project location. 

  1. Navigate to the location where you installed the hotfix (C:\Program Files\Kentico\<version>\Hotfix<version> folder by default).

  2. Run Hotfix.exe from the command line with the /deploy parameter. Set the parameter value based on the installation type you are using:

    • net45app – web site project using .NET version 4.5
    • net46app – web site project using .NET version 4.6Example: Hotfix.exe /deploy=net45app

    This launches the Hotfix Utility, which then creates the files and folders necessary for updating a project running on .NET version 4.5 and saves them into the folder chosen in the first step of the Hotfix Utility wizard.

    Additionally, you can provide the /path parameter to specify the location where the application creates the updated files. This way you do not need to set the path in the first step of the Hotfix Wizard. You can supply the /path parameter in two different formats – relative, which represents a folder in the location from which the utility was executed; or absolute, which can be any path to a local disk.

    Example: Hotfix.exe /deploy=net45app /path=Deploy
    This launches the Hotfix Utility, which then creates a folder named Deploy in the directory from which the utility was executed and copies all files and folders necessary for updating a project running on .NET version 4.5 into that folder.

  3. Once you have the update files ready, take your website offline. You can do this by copying the App_Offline.htm file from the hotfix installation directory into the root of the remote web project.

  4. Upload the update files created by the Hotfix Utility into your remote web project’s CMS folder (overwrite the original files).

    Important

    If you have previously modified some of the Kentico project files (such as web parts or administration interface files), DO NOT OVERWRITE these files. You could lose your modifications.

    You need to compare the modified files with the new versions and make appropriate changes manually.

  5. Manually execute the hotfix SQL scripts on your Kentico database.

    • If you do not use separated databases – run the Hotfix_separated.sql and Hotfix_default.sql script files located in the SQL folder of your hotfix installation directory. We recommend running the files in the described order.
    • If you use separated databases – run the Hotfix_separated.sql script file on the separated database and Hotfix_default.sql on your main database. The script files are located in the SQL folder of your hotfix installation directory.
  6. Open the project in Visual Studio and build the solution.

  7. Bring your website back online (delete the App_Offline.htm file).

Applying the hotfix to Microsoft Azure

In the case of websites hosted on Microsoft Azure, you need to apply the hotfix to your local copy of the web application and then redeploy.

  1. Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix (C:\Program Files\Kentico\<version>\Hotfix<version> folder by default).

  2. Select the folder containing your local version of the project using the Browse button or type in the path to the project manually.

  3. Use the utility to back up your project files and/or database in case you have not already done so.

  4. Select whether you want to update files, database or both. If your database is hosted on SQL Azure, you need to update it manually.

  5. Click Next to start the hotfix procedure.

  6. After the update finishes, click Next to view any problems that may have occurred and the instructions to solve them.

  7. Open the project’s solution in Visual Studio and rebuild it.

  8. Redeploy the application to Microsoft Azure.

  9. If your website’s database is hosted on SQL Azure, manually execute the hotfix SQL scripts against it.

    • If you do not use separated databases – run the Hotfix_separated.sql and Hotfix_default.sql script files located in the SQL folder of your hotfix installation directory. We recommend running the files in the described order.
    • If you use separated databases – run the Hotfix_separated.sql script file on the separated database and Hotfix_default.sql on your main database. The script files are located in the SQL folder of your hotfix installation directory.

Applying the hotfix to MVC projects

If your website runs as a separate ASP.NET MVC application (in addition to the Kentico administration application), use the following approach to apply the hotfix:

  1. Install the hotfix onto a local machine where you have your MVC and Kentico applications.
  2. Apply the hotfix to the Kentico application (and the database) according to the instructions in the relevant section above.
  3. Open your MVC application in Visual Studio.
  4. Right-click your MVC project in the Solution Explorer and select Manage NuGet Packages.
  5. Update the Kentico.Libraries NuGet package to the version that matches the applied hotfix.
  6. Redeploy the local applications to your hosting server.

After applying the hotfix

All users who work with the Kentico administration interface should clear the cache in their browsers after applying the hotfix. Otherwise, some features in the administration interface may not be displayed correctly.

Updating setup files and external utilities

Hotfixes provide bug fixes for all files related to the Kentico installation, which includes the installer and other external utilities, such as Kentico Installation Manager, Kentico Service Manager or the Kentico AD Import Utility.

To update these files and utilities, you need to apply the hotfix to the setup files:

  1. When running the hotfix utility, click Switch to advanced mode in the Change confirmation step.
  2. Select the Setup files checkbox.
  3. Click Next.
  4. In the Running applications step, stop any applications that are currently running from the setup files.
  5. Click Next and continue through the rest of the hotfix procedure.

The hotfix makes any required changes to the files in the directory where you installed your Kentico setup files.

Additional notes and workarounds

General

  • Installer - An error occurred during the Kentico installation when running on an operating system with the Turkish system language. To fix the problem, you need to re-download the installer from the Kentico website.
  • Email marketing - The Check bounced emails scheduled task does not work when executed using the external scheduling service. If you use the external scheduling service, either manually disable the Use external service property of the task in the Scheduled tasks application or apply hotfix 9.0.5 or newer, which disables the property for all instances of the task. You may need to manually disable the property for new instances of the task after creating or importing a new site.

9.0.3

  • E-commerce API - The ShoppingCartInfoProvider.CartCanBeUsedOnSiteInternal method now correctly returns a true value if the cart can be used on the specified site. You may need to update your custom code if you use this method.

9.0.7

  • Smart Search - The smart search crawler does not index pages  on HTTPS sites without a certificate from a trusted authority. If you need to use the search crawler with a self-signed certificate, you can override the certificate validation by adding the new <add key=“CMSSearchCrawlerAcceptAllCertificates” value=“true” /> key to your web.config. We advise using the key only in testing or development environments.

9.0.12

  • Macros - Before applying the hotfix, resigning macros with an Old salt value specified converted macro expressions containing open conditions or loops into an internal format that was difficult to read. If you have encountered this problem, you need to manually re-save any affected macros (after applying the hotfix).

9.0.26

  • Continuous integration - The serialized data created for inherited web parts by the continuous integration solution was different every time the web part was stored, even if the web part definition was not changed (new GUID values were generated for property definitions during every store operation). To fix the problem, you need to apply hotfix 9.0.26 and then manually re-save the property definitions for all inherited web parts:
    1. Open the Web parts application.
    2. Select the inherited web part.
    3. Switch to the Properties tab and click Save.

9.0.29

  • Continuous integration - The serialized data created by the continuous integration solution for inherited web parts was incomplete. As a result, certain property settings were incorrect after restoring inherited web parts from the repository. To fix the problem, you need to apply hotfix 9.0.29 and then serialize all objects:
    1. Disable running of scheduled tasks (using the Settings -> System -> Scheduled tasks enabled setting).

    2. Open the Continuous integration application in the Kentico administration interface.

    3. Click Serialize all objects.

    4. Wait until the serialization process finishes and then re-enable scheduled tasks.

      Note: The change may cause some web parts (including non-inherited ones) to have different ordering of properties in the serialized continuous integration data. You can resolve this issue and ensure alphabetical ordering by manually re-saving the property definitions of the given web parts.

9.0.30

  • Field editor - When editing inherited forms (for example properties of widgets or inherited web parts), the system incorrectly reported inherited fields as modified and the ‘Reset field’ button was active, even for fields that were unchanged from the original form. To fix the problem:
    1. Apply hotfix 9.0.30.
    2. Manually re-save any field in the original form.
    3. Re-save any field in the inherited form.

9.0.40

  • If you are applying the hotfix manually to a remote deployment, we recommend deleting the AWSSDK.dll file from the remote web project’s CMS\bin folder (the DLL is no longer used after applying the hotfix).

9.0.50

  • Contact management - When the deletion of inactive contacts took longer than 1 minute, the next run of the Delete inactive contacts scheduled task was not set, and the task did not execute again. To fix the problem, you need to apply hotfix 9.0.50 and then manually execute the scheduled task:

    1. Open the Scheduled tasks application.
    2. Select the (global) option in the Site selector.
    3. Click Execute next to the Delete inactive contacts scheduled task.

Fixed bugs

For a full list of bugs covered by the hotfix, open the Hotfixes page on DevNet and click Fixed bugs for the appropriate Kentico version.