Today’s post is pretty short, but we are facing an upgrade to 2020R1 this weekend at work. With 2020R2 coming soon, we didn’t want to get too far behind, but we have been blessed with several great projects that have consumed a lot of time. I remember the earliest upgrades being really easy… just install the latest version on top of the current one, and done! However, this method quickly proved to be a matter of luck that ran out.
Preparation
Before an upgrade can be done safely, we really need to do a few things ahead of time. Most importantly, review the release notes. I can tell you after having painfully overlooking the note on .NET Framework version that it would have helped for me to see early on that .NET Framework 4.8 is required for one of my projects to work properly. The other works under .Net Framework 4.7.1, but they both should be upgraded to 4.8 for my own sanity. Unfortunately, I can’t do this before the Acumatica upgrade, but that simply reiterates the need for the steps that I will advise below. Back to the release notes… Check for the .NET Framework version recommended, and then look to see if any class or methods have been moved or altered in a way that will affect your code. Keep in mind that you may have written your own event handler where there wasn’t one in the past, and you may need to convert it to an override now.
Steps to Upgrade
- Download the new Acumatica ERP version
- Backup your code, customization project, and database
- Unpublish your customization projects
- Apply the upgrade (database and application)
- Install (if not done already) the new required .NET Framework developer pack
- Modify the Visual Studio project to use the recommended .NET Framework version
- Apply any necessary updates to the code to comply with the changes found in the release notes
- Compile the Visual Studio project(s)
- Update the Customization Project(s) to pick up the newly compiled .DLL from Visual Studio
- Publish the Customization Project(s)
These steps should be performed in your development environment and then steps 5-9 can be skipped and replaced with simply applying your updated customization project over the existing one. Step 10 will bring your updated code on-line, and the software should work in your QA to Production instances as it did in your Development instance.