A set of videos to help viewers with MB-820 exam.
Curated by: Business Central Musings (20 videos)
======================================================== -- Hire me -- https://SureHoofERP.com ======================================================== The MB-820 exam expects you to know how install and upgrade codeunits work. The docs show you the scaffolding. This video shows you the pattern Microsoft actually uses — and how to replicate it.I build a complete install codeunit and upgrade codeunit from scratch, walk through every trigger, then open the Business Central base app to show how Microsoft manages upgrades with upgrade tags. Same model, applied to a custom extension you can clone from GitHub and study yourself.Here's what most developers get wrong: upgrade tags aren't scoped to your app. The primary key on the Upgrade Tags table is just the tag and the company — no app ID. That means if two different extensions register the same tag string, only the first one runs. I show why this matters, how to avoid it, and why Microsoft probably isn't worried about it.I also cover how to debug install and upgrade codeunits — which requires a different launch configuration than normal debugging. If you've ever set a breakpoint on an install trigger and wondered why it never fires, this is why.Thirty minutes. One project. Install triggers, upgrade triggers, upgrade tags, debugging, and the Admin Center — everything the exam covers, demonstrated live.⏱️ Timestamps: 0:00 — Introducing the MB-820 series 0:54 — The exam page: what's covered 1:27 — Why we're starting with install and upgrade codeunits 2:08 — How BC environments are built: Microsoft + ISVs + partners 3:32 — Admin Center: managing app versions and updates 5:10 — The MS Learn lesson: scaffolding overview 5:31 — Install codeunit structure: OnInstallAppPerCompany & PerDatabase 6:11 — Upgrade codeunit structure: triggers and execution order 6:45 — Upgrade tags explained 7:43 — Live demo: the sample project 8:10 — Custom Setup table walkthrough 8:39 — Install codeunit: fresh install vs. reinstall logic 10:07 — Reinstall: what happens when data still exists 11:03 — PerDatabase installs — when and why 12:11 — Upgrade codeunit: versioned data changes 13:03 — Adding upgrade methods over time without breaking old ones 13:43 — Upgrade tags deep dive: recording and checking 15:00 — Two tags, two methods — how they stay independent 16:07 — Why old upgrades don't re-execute 17:22 — Debugging install and upgrade codeunits 18:13 — The launch config difference: attach vs. launch 19:08 — breakOnNext: webServiceClient 19:34 — Setting breakpoints on install triggers 20:22 — Publishing and hitting the install breakpoint 21:04 — Stepping through: data version is 0, fresh install path 22:04 — Upgrade tag check: does the tag already exist? 23:10 — The gotcha: upgrade tags aren't scoped to your app ID 24:31 — Why two apps with the same tag collide 26:07 — Why Microsoft isn't worried (and why you shouldn't be either) 27:26 — Recap: install + upgrade codeunits 27:50 — What else MB-820 covers: data transfer, Admin Center 29:12 — What's next in the series 🔗 Resources: Clone the project: https://github.com/SilviuVirlan/MB-820-Ep1-Install-Upgrade-Codeunits 🎓 MB-820 exam page: https://learn.microsoft.com/en-us/credentials/certifications/d365-business-central-developer-associate/?practice-assessment-type=certification 📘 MS Learn lesson: https://learn.microsoft.com/en-us/training/modules/easy-application-upgrade/ 📚 My books: https://leanpub.com/store?search=silviu+virlan&lng=en 🌐 Blog: https://www.svirlan.com 🦋 Bluesky: https://bsky.app/profile/bcmusings.bsky.social 🐦 Twitter: https://cutt.ly/BCTipsOnTwitter 💼 LinkedIn: https://www.linkedin.com/in/silviuvirlan#BusinessCentral #MSDyn365BC #MB820 #BCDevelopment #Dynamics365 #ALProgramming #UpgradeCodeunit #InstallCodeunit #BCCertification