Automatically handled by the upgrade wizard:
- Paths to xsltExtensions and restExtension assemblies are no longer prefixed with /bin/ so that needs to be removed
- Path to public access setup has moved from access.xml to access.config
Web.config
- The Umbraco 4.5 web.config is optimized for .NET 4.0 and contains quite a number of differences from the past web.configs. When upgrading it's recommended that the 4.5 web.config serves as the base and you move any custom settings from your existing web.config to the 4.5 one.
Manual changes to do before upgrading:
- The removeDoubleDashes attribute on urlReplacing in umbracoSettings.config. Umbraco 4.5 supports automatically to remove double (or more) dashes generated by the urlReplacing engine. This is enabled by default, however the cached urls for the published items are not. So when upgrading it's best practice to set this option to false as you'd need to re-publish your documents AND potentially get new urls for existing items (which you'd need to manually re-write for existing links to work)
- UseLegacyXmlSchema element in umbracoSettings.config. Umbraco 4.5 features a new more fluent XML schema, but if you got a ton of old XSLT you'll need to manually update these to fit with the new schema. Instead of doing that you can simply set the UseLegacyXmlSchema element to true and your XSLTs will work as Umbraco 4.5 will use the same XML schema as the previous Umbraco versions
- App_global.asax.dll - should be removed from /bin if you have it there.
You can then upgrade by copying the /App_Data, /bin, /config, /install, /umbraco and /umbraco_client directories over your current Umbraco 4.0.x install (make sure to backup the folders and your database). Changes that you've made to files in /config need to be re-applied in the new versions (you did make a backup, right?).
When you go to your site, the instal wizards will pop up and lead you through the upgrade process.
3rd party packages:
- If you're relying on 3rd party packages make sure to check with the package creator/forum to see if it's compatible with 4.5 before upgrading!
Empty trees
- You might get the "empty trees" symptom after upgrading: when you log into the Umbraco backend, you only see the top level nodes in each section at the top ("Content", "Media", "Developer", etc.). This can have a few causes:
- After you downloaded the new release, the zip file was blocked by your browser, this means that some potentially dangerous files are not unzipped when you use the default Windows unzip utility. You can fix this by right-clicking on the downloaded file, choose "Properties" and disable the "blocked" checkbox. Now you can unzip the files again.
- Permissions. Always double and triple check if the permissions were not overwritten. It happens, a lot!
- Some people who are on shared hosting experience extra permission problems because the /App_data folder is read-only. The files generated by ClientDependency need to be written to /App_data/ClientDependency. A way to solve this could be to move the ClientDependency folder to the root of your website and change the compositeFilePath in /config/ClientDependency.config to: ~/ClientDependency.
- The AjaxControlToolkit.dll is not necessary for Umbraco 4.5 any more, but an old version that still is in your /bin folder will cause the empty trees to appear, move it away.
Upgrading wizard stops at first step
- If you have forgotten to copy the value of the umbracoConfigurationStatus from the appSettings section in the web.config file to the new web.config the wizard stops at the first step.
Upgrading Schema v1 to Schema v2
- It's worth mentioning that if you have any document types or field names that start with a number these will no longer be valid in schema v2. This is due to XML/XSLT not allowing nodes to start with numbers