Business Central 25 to Business Central 26 migration guidelines for partners

Guidelines for Partners

Migrating from Dynamics Business Central 25 to Dynamics Business Central 26 involves several steps to ensure a smooth and successful transition. Below are the guidelines for the migration process.

Upgrading to Dynamics 365 Business Central 2025 release wave 1

 

1.  Requirements for Business Central 25 to Dynamics Business Central 26 migration

 

Migrating to Dynamics 365 Business Central version 26 is only supported from version 25 (BC25). If your current environment is running an earlier version, you must first upgrade to BC25 before proceeding with the migration to BC26.

Migration from BC25 to BC26 involves several steps and requirements to ensure a smooth and successful upgrade:

  • Review Extensions and Customizations: All extensions must be compatible with BC26. Any deprecated APIs or unsupported code must be updated or removed prior to migration.
  • Validate Environment Compatibility: Ensure that your system infrastructure meets the technical requirements for BC26.
  • Test in a Sandbox Environment: Microsoft recommends performing the upgrade in a sandbox environment first, to identify and resolve any issues before upgrading your production system.
  • Back Up Data: A full backup of your Business Central environment should be taken before beginning the upgrade process.
  • Check Integration Points: Review and validate all third-party integrations and external systems for compatibility with BC26.

 

2.  Migration Process

2.1. Step 1 – Uninstall and unpublish all Addons and Custom Extensions

 

  • Uninstall and unpublish Custom applications:
Uninstall-NavApp - ServerInstance <ServerInstanceName> -Name "Custom Application Name"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "Custom Application Name"
  • Repeat this for every custom application installed.

 

  • Uninstall and unpublish Addon applications:
Uninstall-NAVApp -ServerInstance <ServerInstanceName> -Name "Addon Application Name"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "Addon Application Name"
  • Repeat this for every addon application installed.

 

2.2. Step 2 – Uninstall and unpublish Microsoft extensions

 

  • Uninstall all Microsoft extensions (for e.g “Intrastrat”, “Email SMTP”, ect..)
Uninstall-NAVApp -ServerInstance <ServerInstanceName> -Name "<MicrosoftExtensionName>"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "<MicrosoftExtensionName>"
  • Repeat this for every installed Microsoft extension.

 

  • Uninstall Base Application and System Application:
Uninstall-NAVApp -ServerInstance <ServerInstanceName> -Name "Application"
Uninstall-NAVApp -ServerInstance <ServerInstanceName> -Name "Base Application"
Uninstall-NAVApp -ServerInstance <ServerInstanceName> -Name "Business Foundation"
Uninstall-NAVApp -ServerInstance <ServerInstanceName> -Name "System Application"

 

Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "Application"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "Base Application"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "Business Foundation"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "System Application"
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name "System"

 

  2.3. Step 3 – Upgrade database to BC 26 version

 

  • Before converting, stop BC 25 server instance.
  • Import modules from BC 26 service folder using PowerShell 7:
Import-Module 'C:\Program Files (x86)\Microsoft Dynamics 365 Business 
Central\260\Service\Admin\Microsoft.BusinessCentral.Management.dll'
Import-Module 'C:\Program Files (x86)\Microsoft Dynamics 365 Business 
Central\260\Service\Admin\Microsoft.BusinessCentral.Apps.Management.dll'

 

  • Start database conversion from Business Central 25 to Business Central 26 version:
Invoke-NAVApplicationDatabaseConversion -DatabaseServer <ServerName> -DatabaseName <DatabaseName>
  • After conversion, connect BC 26 server instance to converted BC 25 database.

 

  • Set migration configuration for the server instance:
Set-NAVServerConfiguration -ServerInstance <ServerInstanceName> -KeyName "DestinationAppsForMigration" -KeyValue
 '[{"appId":"63ca2fa4-4f03-4f2b-a480-172fef340d3f", "name":"System Application", "publisher": "Microsoft"},{"appId":"f3552374-a1f2-
4356-848e-196002525837", "name":"Business Foundation", "publisher": "Microsoft"},{"appId":"437dbf0e-84ff-417a-965d-ed2bb9650972",
 "name":"Base Application", "publisher": "Microsoft"}]'

 

  • Import license file:
Import-NAVServerLicense -ServerInstance <ServerInstanceName> -LicenseFile "<.BcLicense file path>" -Database 2

Set-NAVApplication -ServerInstance <ServerInstanceName> -ApplicationVersion '26.0.0.0' -Force
  • Restart server instance.

 

  2.4. Step 4 – Publish Microsoft applications and symbols for BC 26  version

 

  • Use these PowerShell commands to publish BC 26 symbols (Replace path):
Unpublish-NAVApp -ServerInstance <ServerInstanceName> -Name System
Publish-NAVApp -ServerInstance <ServerInstanceName> -Path "<PathToAppFile>\System.app" -PackageType SymbolsOnly 
-SkipVerification
  • Use these PowerShell commands to publish “System Application”, “Business Foundation” and “Base Application” applications (Replace “<PathToAppFile>” to your Application file location):
Publish-NAVApp –ServerInstance <ServerInstanceName> –Path "<PathToAppFile>\Microsoft_System Application.app" –SkipVerification

Publish-NAVApp –ServerInstance <ServerInstanceName> –Path "<PathToAppFile>\Microsoft_Business Foundation.app" 
–SkipVerification

Publish-NAVApp –ServerInstance <ServerInstanceName> –Path "<PathToAppFile>\Microsoft_Base Application.app" –SkipVerification

Publish-NAVApp –ServerInstance <ServerInstanceName> –Path "<PathToAppFile>\Microsoft_Application.app" –SkipVerification

 2.5. Step 5 – Run Schema Synchronization

 

  • Now when all Microsoft applications are published to BC 26 server, run Schema Synchronization to upgrade data in BC 26 version:
Sync-NAVTenant -ServerInstance <ServerInstanceName> -Tenant default
Sync-NAVApp -ServerInstance <ServerInstanceName> -Tenant default -Name "System Application"
Sync-NAVApp -ServerInstance <ServerInstanceName> -Tenant default -Name "Business Foundation"
Sync-NAVApp -ServerInstance <ServerInstanceName> -Tenant default -Name "Base Application"
Sync-NAVApp -ServerInstance <ServerInstanceName> -Tenant default -Name "Application"

  2.6. Step 6 – Start Data upgrade for Base and System apps

 

  • Start data upgrade by using this command line in BC 26 Administration tool or PowerShell:
Start-NAVDataUpgrade –ServerInstance <ServerInstanceName> –Tenant default –FunctionExecutionMode Serial –SkipAppVersionCheck
  • This will trigger System Application and Base Application installation as well. To check data upgrade progress, use this command line:
Get-NAVDataUpgrade –ServerInstance <ServerInstanceName> –Progress
  • Check for errors:
Get-NAVDataUpgrade -ServerInstance <ServerInstanceName> -ErrorOnly

 

  • To upgrade extensions, use the Start-NAVAppDataUpgrade cmdlet:
  • Run Start-NAVAppDataUpgrade.
Start-NAVAppDataUpgrade -ServerInstance <ServerInstanceName> -Name "System Application"
Start-NAVAppDataUpgrade -ServerInstance <ServerInstanceName> -Name "Business Foundation"
Start-NAVAppDataUpgrade -ServerInstance <ServerInstanceName> -Name "Base Application"
Start-NAVAppDataUpgrade -ServerInstance <ServerInstanceName> -Name "Application"

 

  • Check if these applications were installed, if not, run Install-NavApp.
Install-NavApp -ServerInstance <ServerInstanceName> -Name "System Application"
Install-NavApp -ServerInstance <ServerInstanceName> -Name "Business Foundation"
Install-NavApp -ServerInstance <ServerInstanceName> -Name "Base Application"
Install-NavApp -ServerInstance <ServerInstanceName> -Name "Application"

 

2.7. Step 7 – Install required standard extensions

 

  • Install every standard extension that was installed before, (for e.g “Intrastrat”, “Email SMTP”, ect..)
Publish-NAVApp -ServerInstance <ServerInstanceName> -Path "<PathToAppFile>\<MicrosoftExtensionName.app>" -SkipVerification
Sync-NAVApp -ServerInstance <ServerInstanceName> -Name "<MicrosoftExtensionName>"
Start-NAVAppDataUpgrade -ServerInstance <ServerInstanceName> -Name "<MicrosoftExtensionName>"
  • Repeat this for every standard extension that was uninstalled.

 

2.8. Step 8 – Install previously deleted addons

 

Publish-NAVApp -ServerInstance <ServerInstanceName> -Path "<PathToAppFile>\<Addon Application Name .app> " –SkipVerification
Sync-NAVApp -ServerInstance <ServerInstanceName> -Name "Addon Application Name"
Start-NAVAppDataUpgrade -ServerInstance <ServerInstanceName> -Name "Addon Application Name"

 

  • Check if the app was installed, if not run Install-NavApp command.
Install-NAVApp -ServerInstance <ServerInstanceName> -Name "Addon Application Name”
  • Repeat this for every addon that was uninstalled.

 

2.9. Step 9  – Install custom extension application for BC 26

 

  • Publish, synchronize and install custom applications. Use the following PowerShell commands:
Publish-NAVApp -ServerInstance <ServerInstanceName> -Path "<PathToAppFile>\<Custom Application Name.app> -SkipVerification
Sync-NAVApp -ServerInstance <ServerInstanceName> -Name "<Custom Application Name>"
Install-NAVApp -ServerInstance <ServerInstanceName> -Name "<Custom Application Name>"
  • Repeat this for every custom application that was uninstalled.

 

2.10. Step 10 – Finalize data migration

 

  • Shrink Log File. In SSMS (SQL Server Management Studio) select your database, Tasks – Shrink – Files. Choose File Type – Log, Shrink action – release unused space and press OK.
  • After Data Conversion is completed, service requires to be restarted.

 

   3. Conclusion

 

In conclusion, migrating to Dynamics 365 Business Central 26 requires careful preparation, including extension management, database conversion, and thorough testing. By following each step in the process, you can ensure a smooth transition, maintain system integrity, and take full advantage of the latest features and improvements in the 2025 release wave 1. Always back up your data and test in a sandbox environment before upgrading your production system.