I realize I have been remiss in sharing with you my continued experiences with creating extensions for our Hybrid NAV 2018 database. This is mostly because I have been busy doing exactly that, building extensions. Mostly it goes very well. Sometimes it does not, usually because we mess something up.
Recently we ran in to two problems, both of which can be fixed in the same way.
As I said before, most of our problems arise from us creating extensions in a heavily modified NAV2018 database. This is a so called hybrid system where we have both C/Side modifications and extensions. It is not something we particularly like but it is something we, and many others, have to live with. This problem arose in us moving tables from C/Side to extensions.
In doing this we ran into a situation where an object was removed that an installed extension depended on. In another situation an object was added in C/Side that had the same type and ID that already existed in an installed extension. Normally this will just result in errors when you try to run these objects. However, if all your service tiers are down they won’t start up again so there is no possible way to remove either objects or extension. The only possible way to start the service tier is to uninstall the extension from SQL.
DISCLAIMER, do not attempt to remove records in SQL without first making a back-up! If you are not sure of what your are doing please ask someone who does!
Fortunately for us there is a table in SQL that holds the information on installed extensions. It is called ”NAV App Installed App” and you can access it from SQL Server Management Studio. It is also the only NAV App table that you can remove records from. Any changes to the other NAV App tables will result in you having to restore a backup. Be warned.
After removing the records for the offending extensions we managed to start our service tiers, remove or add the C/Side objects and reinstall said extensions. No data from said extensions was lost as they were just uninstalled.
I hope this helps you in creating your own extensions. Please share your own extension stories, I’d like to read them.
4 thoughts on “Two more ways to break your extension”
Delivered now 2 NAV2018 projects with Extensions. Both projects we started development with only extensions. Then in 1 of these projects we got in serious trouble and desided to go hybrid and move only the tabes back to C\side and so we did in November 2018. Since then no problems and every is running fine.
The other project went live april this year with only extension and here we didn’t have only chalanges with some restictions of AL under development. This database has only some menu changes in c\side.
And yes, I think I know the tables your’re talking about in SQL also quite good too. I’ve been in them 3-5 times to correct things when having issues with publishing extension.
LikeLiked by 1 person
Hi, since you are also doing the hybrid route, have you used and experienced any issues with EnumExtensions created from C/AL?
Hi, I have not used Enums and Enum extensions yet. So I have not experienced issues with them.