bcquality/microsoft/knowledge/upgrade/install-code-does-not-run-on-version-upgrade.md
Jesper Schulz-Wedde b6da405376 Improve partner onboarding and documentation navigation
Lead with a complete plugin quick start and add task-oriented usage, troubleshooting, customization, and contribution guides. Preserve the broader plugin framing, correct conflicting contract guidance, support Agents folder reviews, and align repository validation. Convert existing sample references to clickable links without changing knowledge rules.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-09 17:25:29 +02:00

1.2 KiB

bc-version domain keywords technologies countries application-area
all
upgrade
install-codeunit
subtype-install
on-install-app
version-upgrade
upgrade-codeunit
al
w1
all

Install code does not run during a version upgrade

Description

An install codeunit runs when an extension is installed for the first time or an uninstalled version is installed again. Installing a higher extension version through the data-upgrade operation does not invoke OnInstallAppPerCompany or OnInstallAppPerDatabase. Ordinary version-to-version migration is dispatched only through upgrade codeunits.

Best Practice

Use Subtype = Install for first-install and reinstall initialization. Put version migration in a separate Subtype = Upgrade codeunit and enter it from OnUpgradePerCompany or OnUpgradePerDatabase.

See sample: install-code-does-not-run-on-version-upgrade.good.al.

Anti Pattern

Putting a schema or data migration only in an install trigger and expecting it to run when a higher app version is upgraded. The migration is never invoked on that path.

See sample: install-code-does-not-run-on-version-upgrade.bad.al.