We've done hundreds if not thousands of hotfix applications and I can't stress what Juraj says enough.
In a multi-environment setup with CI/CD processes in place, we've found this to be the easiest approach to apply a hotfix to the CMS application:
DEV
- Make sure the website is stopped and app pool is stopped.
- Take a back up of your database.
- Run the hotfix tool locally on your machine connected to the remote Dev database.
- Commit the code changes to a feature branch, create a PR into dev, and allow the CI/CD process to deploy the built code to the website.
QA
- Navigate to the hotfix SQL folder on your local machine, typically something like:
C:\Program Files (x86)\Kentico\13.0\Hotfix130_144\SQL
- Take a back up of your database.
- Open the
Hotfix_default.sql
file
- Make sure the website is stopped and app pool is stopped.
- Connect to your QA database and execute the
Hotfix_default.sql
file against your QA database
- Create a PR from the feature hotfix branch into the QA branch and allow the CI/CD process to deploy the built code to the website.
Prod
- Follow steps 2-6 in the QA section above but against your Prod database and branch.
If you don't have a CI/CD process in place, (I'd highly suggest looking into it) then replace the build and deploy process with whatever it is you use to build and deploy the website with.
If you are using an Azure Web App, you can set up deployment slots to perform these actions against but keep in mind you may want to have a database copy you connect your slot to so you can have 2 separate instances. Then once you are done, just swap the slots out and you should be good to go. For your info, there is a bit more involved in using slots than meets the eye so while I may make it sound simple, there are some areas that just don't work like you'd expect.