Hotfix Instructions - Kentico 8.1
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 8.1 Source Code.
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
- Prerequisites
- Applying the hotfix to web site projects
- Applying the hotfix to web application projects
- Applying the hotfix to Microsoft Azure
- After applying the hotfix
- Updating setup files and external utilities
- Additional notes and workarounds
- Fixed bugs
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.
Applying the hotfix to web site projects
Local installation
- 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.
- Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix.
- Select your project installation folder using the Browse button or type in the path to the project manually.
- Use the application to back up your project files and/or database if you haven’t already done so.
- Select whether you want to update files, database or both. It is recommended to update both the project files and the database.
- Choose a method of taking the project offline and back online.
- Click Next to start the update procedure.
- 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 (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.
Run Hotfix.exe from the command line with the /deploy parameter. Set the parameter value based on the installation type you’re using:
- net40site - web site project using .NET version 4.0
- net45site - web site project using .NET version 4.5
Example: Hotfix.exe /deploy=net40site
This launches the Hotfix Utility, which then creates the files and folders necessary for updating a project running on .NET version 4.0 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=net40site /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.0 into that folder.
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.
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 (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.
Manually execute the hotfix SQL scripts on your Kentico database.
- If you do not use separated databases - run the Hotfix_separated.sqland 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.
Bring your website back online (delete the App_Offline.htm file).
Applying the hotfix to web application projects
Local installation
- 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.
- Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix.
- Select your project installation folder using the Browse button or type in the path to the project manually.
- Use the application to back up your project files and/or database if you haven’t already done so.
- Select whether you want to update files, database or both. It is recommended to update both the project files and the database.
- Choose a method of taking the project offline and back online.
- Click Next to start the update procedure.
- After the update finishes, click Next to view any problems that may have occurred and the instructions to solve them.
- 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 (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.
Run Hotfix.exe from the command line with the /deploy parameter. Set the parameter value based on the installation type you’re using:
- net40app - web site project using .NET version 4.0
- net45app - web site project using .NET version 4.5
Example: Hotfix.exe /deploy=net40app
This launches the Hotfix Utility, which then creates the files and folders necessary for updating a project running on .NET version 4.0 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=net40app /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.0 into that folder.
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.
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 (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.
Manually execute the hotfix SQL scripts on your Kentico database.
- If you do not use separated databases - run the Hotfix_separated.sqland 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.
Open the project in Visual Studio and build the solution.
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.
Run Kentico Hotfix Utility (Hotfix.exe) from the location where you installed the hotfix.
Select the folder containing your local version of the project using the Browse button or type in the path to the project manually.
Use the application to back up your project files and/or database in case you haven’t already done so.
Select whether you want to update files, database or both. If your database is hosted on SQL Azure, you need to update it manually.
Click Next to start the update procedure.
After the update finishes, click Next to view any problems that may have occurred and the instructions to solve them.
Open the project’s solution in Visual Studio and rebuild it.
Redeploy the application to Microsoft Azure.
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.sqland 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.
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
The hotfix contains bug fixes for all files in the Kentico installation. This includes the 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.1” launches the Hotfix utility, which then tries to update all original files in the default installation directory.
Additional notes and workarounds
Hotfix 8.1.2
- WYSIWYG editor - Hotfix 8.1.2 adds the CKEditor:DefaultToolbarSet web.config key. The key allows you to set the default toolbar when using the ‘default’ option for toolbar sets on a page.
- AD Import - After applying hotfix 8.1.2 to the Kentico setup files, the import settings in the AD Import utility provide the Import all users from selected groups and ignore other users option, which allows more efficient import of users from specific AD groups.
Hotfix 8.1.6
- Microsoft account authentication - To ensure that users can log out correctly when using Microsoft account authentication, add the URL of your website’s default page (Home page) as a Redirect URL of your application in the Microsoft account Developer Center. The site’s default page URL depends on the Content -> Default alias path and URLs and SEO -> Default page settings.
Hotfix 8.1.8
Macros - Hotfix 8.1.8 resolves the issues with context macros in Online marketing:
- Contact groups, Marketing automation, Personas, Scoring - Macros and rules that require the request context do not work (you can only use macros using contact, current time or current date data). The system now hides macro rules that require context from such conditions. To prevent false positives in existing conditions, you need to remove occurrences of macros and rules that require context.
- Marketing automation triggers - The Contact is in persona macro rule didn’t work.
- If you created your condition using the Rule designer, you need to click Edit next to the condition field and then update the condition by clicking Save & Close in the opened dialog. Finally, you need to save the trigger.
- If you wrote the macro manually (for example on the Code tab), you need to replace your macro condition with the updated version. For example, replace Contact.IsInPersona(GetObject(“personas.persona”, “f4c665b8-980e-4d6a-ade7-329b34543659”, CurrentSite.SiteID)) with Contact.IsInPersona(“f4c665b8-980e-4d6a-ade7-329b34543659”).
Hotfix 8.1.11
- Macros - Hotfix 8.1.11 changes how macros check permissions for page collections. When a page collection (TreeNodeCollection) is accessed in a macro expression (for example through the Children property of a page), the permission check is now performed for the user who signed the macro, instead of the user viewing the page. To get a collection of pages filtered according to the permissions of the current user, use the WithPermissionsCheck property of the collection.
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.