Building a NuGet Installer Extension for Business Central (AL)

Опубликовано: 14 Июль 2026
на канале: Stefan Maron
197
6

AL-Go for GitHub can publish Business Central apps to a NuGet feed as part of your CI/CD pipeline. In this stream I took that further and built a BC extension that queries the NuGet v3 API directly — searching for packages by name, fetching registration details, downloading the .app file from inside the ZIP package, and calling ExtensionManagement.UploadExtension to install it into a sandbox tenant, all from within Business Central itself.

The extension uses the RestClient codeunit to hit the NuGet v3 index, extracts the SearchQueryService and RegistrationsBaseUrl endpoints, parses the JSON responses with SelectToken and JSONPath expressions, and unpacks the downloaded NuGet package using the Data Compression codeunit. The same approach works against the AppSource symbols feed, api.nuget.org, and any private Azure Artifacts NuGet feed — they all implement the same v3 protocol.

This was a proof of concept, but the potential use cases are real: distributing open-source BC apps outside AppSource, maintaining private per-customer feeds with self-serve installs, and more. The core question — can you install Business Central apps from a NuGet feed using native AL code — is answered.

Streaming all kinds of coding for Microsoft Dynamics 365 Business Central.
Join me to just hang out or tell me what I am doing wrong ;)

Join me live and let's build this together.

📝 Blog post: https://stefanmaron.com/posts/nuget-i...

====== Content of this Video ======
0:00 - Introduction and setup
2:02 - Exploring NuGet feed URLs
5:06 - Setting up NuGet feeds table
15:12 - Creating search functionality
21:33 - Implementing app search procedure
34:37 - Creating NuGet app list table and page
47:54 - Creating NuGet helper codeunit
57:59 - Implementing app details retrieval
1:05:00 - Extracting package content URL
1:12:29 - Attempting to install app from NuGet feed
1:15:55 - Switching to sandbox environment
1:20:34 - Successfully installing app from NuGet feed
1:22:21 - Discussion on potential uses and next steps
1:24:51 - Conclusion and wrap-up

About Me:
https://stefanmaron.com/

Music by:
   / @streambeatsbyharrisheller  
https://open.spotify.com/artist/6GTRL...