Hotfix Instructions - Kentico 8 Source Code

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

To obtain source code hotfixes, please contact your Kentico sales representative.

The following instructions apply only to the source code version of Kentico. For standard installations, please see Hotfix Instructions - Kentico 8.

Note

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

Always backup your project files and database before applying a hotfix.

Table of Contents

Applying the hotfix to a local project

  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 solution.
  2. Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix.
  3. Select your project installation folder using the Browse button or type in the path to the project manually.
  4. Use the application to back up your project files and/or database if you haven’t already done so.
  5. Select whether you want to update source files, database, CMS project files or all of them. We recommend updating all components.
  6. Choose a method of taking the project offline and back online.
  7. Click Next to start the update 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 follow the compilation instructions.
  10. Rebuild the solution.

For more information, see Kentico Hotfix and Upgrade Utility.

Applying the hotfix to a remote project

If you cannot access your web project directly (e.g. 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. Run Hotfix.exe from the command line with the /deploy=net45app parameter.
    Example: Hotfix.exe /deploy=net45app
    This launches the Hotfix Utility, which then creates the files and folders necessary for updating the source code project and saves them into the folder chosen in the first step of the Hotfix Utility wizard.

    Additionally, you can provide the /path parameter, which tells the application where to create the file structure. This way you won’t have 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 source code project into that folder.

  2. 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.

  3. Upload the update files created by the Hotfix Utility into your remote web project (overwrite the original files).

    Important

    If you have previously modified some of the Kentico project 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.

  4. 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.
  5. Open the project in Visual Studio, follow the compilation instructions, and rebuild the solution.

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

Updating setup files and external utilities

This hotfix contains bug fixes for all the files in the Kentico installation. This includes the Web Installer with its associated files and external utilities, such as Kentico Installation Manager or Kentico Service Manager. In order to update these files and utilities, you need to launch the Hotfix utility with an additional parameter - /setuppath - which specifies the location where you installed Kentico (typically the Program Files folder).

When launched with the parameter, the Hotfix utility offers the option of updating the setup files in the Change confirmation step.

Example: *Hotfix.exe /setuppath=**“c:\Program Files (x86)\Kentico\8.0”* launches the Hotfix utility, which then tries to update all original files in the default installation directory.

Source code compilation instructions

After applying the hotfix, please perform the following steps in Visual Studio to ensure that the source code works correctly and can be compiled:

Hotfix 8.0.23

  • Add a reference to ~\Lib\Microsoft.SqlServer.TransactSql.ScriptDom.dll in the DataEngine project.

Additional notes and workarounds

General

  • Custom skin styling - If you use skin files to style tables in the administration interface or on the live site (for example in Reporting tables), replace the asp:GridView control with cms:UIGridView.

Hotfix 8.0.1

  • Geolocation - geolocation might not have worked properly when using the Publish function in Visual Studio to publish the website to a server (including Windows Azure). To fix this issue:
    1. In the Solution Explorer in Visual Studio, navigate to the CMS/App_Data/CMSModules/WebAnalytics/MaxMind/GeoLiteCity.dat file.
    2. Set the file’s Build action to Content.

Hotfix 8.0.4

  • Groups - hotfix 8.0.4 overwrites the URL of the View tab in the editing interface of group forum groups. If you use custom content for this tab, you need to reconfigure the given UI element after you apply the hotifx.

Hotfix 8.0.5

  • Scheduled tasks - to ensure that the Windows service for executing scheduled tasks works correctly, apply hotfix 8.0.5 and use the Kentico Service Manager utility to reinstall the scheduler service.

Hotfix 8.0.6

  • Macros - if you experience problems with macro rules not working correctly after you re-sign macros in the system, apply hotfix 8.0.6. To fix the broken expressions, you need to add the macro rules again into the given fields. You can find the problems using the System -> Macros -> Report interface (enable the Report problems option).

Hotfix 8.0.9

  • Macros - re-signing macros after applying hotfix 8.0.6 caused macros inside field validation rules to become invalid. Applying hotfix 8.0.9 fixes both the macro re-signing process and all occurrences of broken field validation macros.

Hotfix 8.0.10

  • After applying hotfix 8.0.10, you need to manually include the following new files into the CMSApp project in Visual Studio:
    • CMSScripts\CMSModules\AdminControls\DocumentsGrid.js
    • CMSScripts\CMSModules\CMS\GridActions.js
    • CMSScripts\CMSModules\CMS.Blogs\BlogsGrid.js
    • CMSScripts\CMSModules\CMS.EventManager\EventsGrid.js
    • CMSScripts\CMSModules\CMS.MessageBoards\MessageBoardsGrid.js

Hotfix 8.0.12

  • After applying hotfix 8.0.12, you need to open Visual Studio and manually include the following files:

    CMSApp project:

    • CMSModules\Groups\Tools\Group_Edit_CustomFields.aspx
    • CMSModules\Groups\Tools\Group_Edit_CustomFields.aspx.cs
    • CMSModules\Groups\Tools\Group_Edit_CustomFields.aspx.designer.csCMSApp_AppCode project:
    • Old_App_Code\CMSModules\Groups\GroupEditTabsExtender.cs

Hotfix 8.0.14

  • Passwords - after applying hotfix 8.0.14, form fields using the Password form control validate input according to the password policy settings in Settings -> Security & Membership -> Passwords. If you wish to create a password field that does not enforce the password policy, use the Encrypted password or Form password form controls.

Hotfix 8.0.15

  • E-commerce - The ShoppingCartContainsAllOfProducts and ShoppingCartContainsAnyOfProducts macro methods were added, and can be used to check whether multiple products were added to the shopping cart. You can use the methods to create a variation of the default Shopping cart contains product Order discount macro rule, which does not work for more than one product.

Hotfix 8.0.19

  • Facebook integration - Hotfix 8.0.19 provides an update for the Facebook comments web part, which allows enforcement of a specific URL protocol to avoid separation of comment threads. To import the new version of the web part:
    1. Apply hotfix 8.0.19.
    2. Open the Sites application.
    3. Click Import site or objects.
    4. Import the FacebookComments_WebPart package (select the appropriate version for your web project type) and overwrite the original web part.

Hotfix 8.0.21

  • Web analytics - After applying hotfix 8.0.21, the system is able to log the Referrals and Referring sites statistics with query string parameters preserved in the URLs. To enable this behavior, use the CMSWebAnalyticsRemoveReferralQuery web.config key and set it to ‘false’. The system then no longer aggregates Referrals and Referring sites from the same source with different query string parameters into a single URL.

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.