Incompatible Extensions Error on Auto Update for Business Central SaaS
If you are running Dynamics 365 Business Central (BC) in the cloud, you or your administrator might receive an error message saying the attempt to update the BC environment was unsuccessful “because one or more of the installed extensions is not compatible” (see Figure 1 for an example error message).
This error indicates Microsoft tried to update your instance of Business Central but could not complete the process, either because you have an extension using obsolete code that needs to be updated or you have modified the base code that must be removed before the update can proceed.
Extensions and Deprecated Methods
Extensions give users and their partners the capability to customize Business Central logic. Extensions also let third-party developers and Independent Software Vendors (ISVs) introduce new or extended capabilities into Business Central, such as bar code scanning, inventory management, or credit card processing applications.
Business Central was built from Dynamics NAV code, originally Navision, in the 1990s. One of the unique selling features of Navision was that it was easy to customize, and that is because developers had access to the base code. NAV users, partners, and ISVs could easily create customizations and add-on features that weren’t possible in other ERP products at the time.
Business Central continues to be a flexible, easily modified ERP, able to be deployed on-premises or in the cloud. It is also supported by a large developer and ISV community.
Microsoft is continually updating Business Central software to improve performance. Objects and methods that are eliminated or “deprecated” can no longer be used going forward. Business Central developers are notified whenever these objects or methods are scheduled to be deprecated and have at least one year to make changes to properly accommodate the upcoming change in availability.
When Updates Fail Due to Deprecated Code
Automatic updates will fail if the system detects deprecated code that is no longer supported. If an error on update fails, users have 90 days to rectify the problem. Otherwise, Microsoft will remove any offending code and continue with the update.
Correcting the Problem
Customers receiving an error indicating Business Central could not be updated because one or more of the installed extensions is incompatible should immediately consult their partner for help resolving the issue.
For developers, Microsoft has offered some guidance:
All new customizations should follow Microsoft’s Business Central Universal Code Initiative.
Within the code, this notification is supported by two properties: ObsoleteTag and ObsoleteState. The ObsoleteTag property contains a text string that tracks where and when the object was marked as obsolete. The ObsoleteState property indicates if the object is obsolete or will become obsolete in the future. A third property, ObsoleteReason, offers additional information for use by developers, such as why the object is being deprecated and alternative solutions.
In the example in Figure 2, the ObsoleteTag is’ 16.0′ and the ObsoleteState is ‘pending’. This means the method can still be used but will be removed in version 18.0 (two releases per year, starting from version 16.0) or any time after that. The ObsoleteReason explains that this item was “Replaced by a new functionality of price calculation” and then lists the new table which will hold this data in the future.
To learn more
To learn more about Microsoft’s Business Central Universal Code Initiative, read our blog, Microsoft’s Business Central Universal Code Initiative: What It Is and What It Means to You.
Learn more about problems that can prevent Business Central from updating properly, read our blog, What Happens If You Don’t Update Microsoft Dynamics 365 Business Central SaaS: 3 Ways It Can “Break”.
To read Microsoft’s guidance on deprecated code, read Best Practices for Deprecation of AL Code.
Contact ArcherPoint today if you have questions about Microsoft Dynamics 365 Business Central.