Extension lifecycle
Extension lifecycle in Business Central covers the phases of an extension from development to deprovisioning, extension types and scopes, and moving apps between scopes. It answers questions about global apps, per-tenant extensions, DEV extensions, and about migration, translation, testing, deployment, updating and deprecation.
- 35Learn pages
- 7subtopics
- 1videos
Path: Development > Extension lifecycle · tier official · system development · narrative reviewed (checked by Opus)
Overview
The extension lifecycle section describes the path of a Business Central extension: planning, development, testing, deployment, operations, monitoring and deprovisioning. The overview page ties these phases to related processes such as data migration, translation, testing and upgrade.
Two own pages explain scope. Extension types and scope separates global apps installed from Marketplace, per-tenant extensions (PTE) deployed to specific environments, and DEV extensions used only in sandbox. Moving between extension scopes covers the identity, naming and ID range requirements when an app changes between PTE, DEV and Marketplace.
Subtopics go deeper on each phase: migration and moving tables and fields between extensions on-premises, translation with XLIFF, testing, deploying and installing, updating and hotfixing, and deprecating code. Start with the lifecycle overview, then extension types and scope, then the subtopic that matches your current phase.
Key points
- Lifecycle phases: planning, development, testing, deployment, operations, monitoring and deprovisioning.
- Extension types: global apps from Marketplace, per-tenant extensions for specific environments, and DEV extensions for sandbox only.
- Moving an app between PTE, DEV and Marketplace scopes has identity, naming and ID range requirements (2023 release wave 2 page).
- Migration covers .delta files from Compare-NAVApplicationObject, migration.json, and transition extensions.
- On-premises moves of tables and fields use MovedTo and MovedFrom properties and staged moves, with attention to publishing order.
- Translation uses XLIFF files, with layered sources overriding each other by language priority and app dependencies.
- Testing covers AL test codeunits, test pages, handlers, test runners and the Performance Toolkit.
- Deprecation uses Obsolete properties and preprocessor directives, CLEAN symbols, warnings AL0604 and AL0606, and the deprecation of ‘with’ statements.
Subtopics
- Moving tables and fields between extensions (on-premises) (2 pages)
- Migration (5 pages)
- Translation (2 pages)
- Testing (8 pages)
- Deploying and installing (6 pages)
- Updating and hotfixing (6 pages)
- Deprecating code (3 pages)
More Learn pages
- Extension Development Lifecycle Overview: Explains the phases involved in the lifecycle of developing an extension.
- Extension types and scope: Extension types for Business Central explained: global apps, per-tenant extensions, and DEV extensions. Learn how scope and environment affect each type.
- Moving between extension scopes: Describes how an extension in one scope can be moved into another scope in Business Central.
Videos, posts and code changes
Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.
- #9601 Reset workflow templates no longer removes steps from active workflows (code change): “Reset workflow templates no longer removes steps from active workflows”
- #177 Add retention policy knowledge to the privacy domain (code change): “Added guidance to the privacy domain in BCQuality about registering extension-owned tables”
- #93 Fix lifecycle compatibility guidance (code change): “Knowledge articles and samples on error handling, events, interfaces, upgrade, testing, web services”
- Dynamics 365 Business Central: automatic PTE unpublishing after update. (community post): “automatically unpublishes PTE versions that are no longer installed”
- Dynamics 365 Business Central on-premises: accessing embedded in-app resources from runtime packages. (community post): “Extensions can declare resource folders using the resourceFolders property”
- Microsoft presents: Cloud Migration from any SQL (video): “AL extensibility; migration patterns; migrator framework; extension points”
Business Central pages and reports
The pages, reports and queries this hub’s Learn pages name (ms.search.form, API reference), joined to the code by exact object id (data/index/docs-objects.json); a page shows the table it runs on.
Learn also names 9 objects with no object page: page/149000, page/149001, page/149003, page/149004, page/149005, page/149006, page/149007, page/149008, page/149009.
Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.
What Learn documents here 8 of 35 Learn pages
- learnApplication Testing Example to Test Purchase Invoice Discounts2026-08-24
- learnBest Practices for Deprecation of AL Code2024-04-30
- learnCreate Handler Methods for Automated Tests2026-08-24
- learnCreate Test Runner Codeunits in AL2026-08-24
- learnDeprecating explicit and implicit with statements2025-05-21
- learnDevelopment process for moving tables and fields between extensions2025-03-31
- learnExtension Development Lifecycle Overview2025-05-21
- learnExtension types and scope2026-08-10
Show 27 more
- learnFAQ about managing and submitting your Business Central offer2023-12-27
- learnFAQ about Testing your Business Central App2022-08-15
- learnFAQ about Updating your Business Central App2021-04-01
- learnGenerating Delta files2021-04-01
- learnHotfix a Marketplace app2023-11-14
- learnHow to Unpublish and Uninstall an Extension2022-05-23
- learnLifecycle of apps and extensions2025-06-02
- learnLifecycle of apps and extensions FAQ2021-08-01
- learnMaintain Marketplace apps and per-tenant extensions2025-03-31
- learnMicrosoft Timeline for Deprecating Code in Business Central2025-05-19
- learnMigrating Tables and Fields Between Extensions2021-04-01
- learnMigration JSON file2025-05-02
- learnMoving between extension scopes2025-05-02
- learnMoving tables and fields between extensions2025-03-31
- learnMoving Tables and Fields to Extensions Down the Dependency Graph2021-04-01
- learnMoving Tables and Fields to Extensions Up the Dependency Graph2021-04-01
- learnPerformance Toolkit extension2024-02-21
- learnPublishing and Installing an Extension2025-02-05
- learnTest Codeunits and Test Methods in AL2026-08-24
- learnTest pages2022-08-12
- learnTesting the application overview2025-09-30
- learnTranslations Overview2021-06-15
- learnUpdate Lifecycle for Tenant Customizations2021-04-01
- learnUpgrading Extensions2021-09-17
- learnUpgrading Marketplace Apps in Production2021-08-19
- learnWork with XLIFF Translation Files2026-08-25
- learnWriting extensions installation code2022-02-04