The other day we found out that some part of one of our extensions was not uploaded to our source code repository and no local version was available anymore. But we did have the .app file. I knew from extensions version 1.0 that the extension file, the .navx, was a zipped set of files. The x in .navx is pointing at this as with all office file extensions now a days. You might recall one of my old posts. As per this blog post, but then in reverse order, would I be able to unzip the .app file by changing the file extension to .zip? And subsequently use the Windows Extract All feature? Apparently not:
So, my lazy mind thought: it can't be done this way, and I asked on one of the fora I am taking part in, whether there is another way of decompiling a .app file. Of course, on the Extension Management window there is the feature Download Source:
Indeed this gives you a nicely zipped file set:
But what if I really only have the .app file and nothing more? Bruno Leisibach and Peter Sørensen helped me out. Thanx, guys.
The .app file is indeed a zipped set of files. Whereas my simple trick did not work, just use a program like 7-zip and extract the files. Note however that the format of the files and the project structure is not exactly the same as when using Download Source. The app.json is now a NavxManifest.xml (where do we know this from?).
Download Source is somewhat differently implemented on NAV 2018 and Business Central:
Wel. my files were named somewhat different. This is what the download seems to make of it.
Great post!You can unpack a downloaded symbolfile likewise - but no source there, but an interesting json nevertheless ;-)ps, seems you need to work a bit on your filenameconvention ;-)
Tip from James Crowter:
Checkout @PeikBA's technique for getting the objects even if you don't have th .app, only works on prem but great couple of objects I use most days now.
True, that's why I wrote "use a program like 7-zip". With 7-zip I do not need to change the file extension. ;-)
Thank you for this one. It doesn't have to be 7-zip. The same can be done by changing the .app to .rar and use WinRar, my all-time favorite zipper.