Installing a Business Central 2024 release wave 2 update

This article describes how to install an update for Business Central on-premises. An update is a set of files that includes all hotfixes and regulatory features that are released for Business Central.

You can choose to update only the platform or both the platform and application code. Learn more in Platform versus application upgrade.

The following figure shows a high-level representation of a Business Central solution and the components involved in the installation of an update.

Business Central application stack.

The databases store the application metadata and business data. If you have a single-tenant deployment, this data is stored in a single database. A multitenant deployment stores the application metadata in the application database and the business data in one or more tenant databases.

Application stack

The application includes AL extensions that define the objects and code that make up the business logic. For example, objects include tables, report, pages, codeunits, and more. Each extension is compiled and delivered as an .app file, which is published to the Business Central Server instance.

  • System Application extension

    The Microsoft System Application extension includes functionality that isn't directly related the business logic. Learn more in Overview of the System Application. When the solution uses the Microsoft Base Application, it must also use the System Application. With a custom Base Application, your solution may or may not use the System Application. If it doesn't, skip any steps in this article related to the System Application.

  • Business Foundation extension

    This extension was introduced in version 24 and currently contains objects and logic for number series, which was previously part of the base application. It's expected to contain more functionality in future releases.

  • Base application extension

    As a minimum, the solution always includes the Base Application. The Base Application contains the objects (such as table, pages, codeunits, and reports) that define the business logic and functionality of the solution. The Base Application can be either the Microsoft Base Application or a customized Base Application. The Microsoft Base Application is the standard application that is on the installation media (DVD). A customized Base Application is an application that includes customized code.

  • Application extension

    The Application extension logically encapsulates all of the extensions making up a solution, for example, version 25.0.0.0 of the base and system application package files, and it provides a convenient way to define and refer to this solution identity. This extension is required for Microsoft extensions, but is optional for non-Microsoft extensions. Learn more in The Microsoft_Application.app File.

  • Customization extensions

    Customization extensions add functionality and features to the Base Application or System Application. Extensions can be either Microsoft extensions or non-Microsoft extensions. Microsoft extensions are available on the DVD. Non-Microsoft extensions are extensions developed by your organization or by another organization, like an ISV.

Single-tenant and multitenant deployments

The process for upgrading is similar for a single-tenant and multitenant deployment. However, there are some inherent differences. With a single-tenant deployment, the application code and business data are in the same database. In a multitenant deployment, application code is in a separate database (the application database) than the business data (tenant). In the procedures that follow, for a single-tenant deployment, consider references to the application database and tenant database as the same database. Steps are marked as Single-tenant only or Multitenant only where applicable.

Business Central server and web server instances

The steps in this article will delete the default Business Central Server and Business Central Web Server of the old version. The default instances are those instances that were created using the Business Central Setup (setup.exe) program. A new Business Central Server and Business Central Web Server instance that run on the new platform will be added to replace the old ones.

Your current deployment, however, may using multiple Business Central Server or Business Central Web Server instances. If so, you might need to do some extra tasks at the end of the process for each instance:

  • With Business Central Server instances, all extra instances, like the new default instance, will automatically use new platform assemblies and file installed by the setup program. The only task you might have to do on the extra instances is to modify some configuration file settings (.config).

  • Extra Business Central Web Server instances aren't upgraded automatically. With these instances, you'll have to remove the old instances, then create new instances using the latest platform.

Platform versus application upgrade

A platform upgrade doesn't change the application. It involves converting your databases to the new platform and recompiling the existing extensions to ensure that they're compatible with the new platform and reinstalling them on the tenant.

An application update involves:

  • Publishing new versions of extensions that include the latest application modifications
  • Synchronizing the databases with any schema change introduced by the new extensions
  • Updating affected data.

The installation media (DVD) includes new versions of Microsoft's Base Application, System Application, and extensions. The DVD also includes the AL source code for the Microsoft Base Application. This code useful if you have a custom base application. You can use the code to compare and merge updates into your application. You only have to recompile non-Microsoft extensions that you don't have a new version to publish.

Preparation

PowerShell variables used in tasks

Many of the steps in this article use PowerShell cmdlets, which require that you provide values for various parameters. To make it easier for copying or scripting in PowerShell, the steps use the following variables for parameter values. Replace the text between the quotation marks with the correct values for your environment.

$BcServerInstance = "The name of the Business Central server instance, for example: BC250"
$TenantId = "The ID of the tenant to be upgraded. If not using a multitenant server instance, set the variable to default, or omit -Tenant parameter."
$TenantDatabase = "The name of the Business Central tenant database to be upgraded, for example: Demo Database BC (25-0)" 
$ApplicationDatabase = "The name of the Business Central application database in a multitenant environment, for example: My BC App DB." 
$DatabaseServer= "The SQL Server instance that hosts the databases. The value has the format server_name\instance_name, For example: localhost\BCDEMO"
$SystemAppPath = "The file path and name of the System Application extension for the update, for example: C:\DVD\Applications\system application\Source\\Microsoft_System Application.app"
$BusFoundAppPath = "The file path and name of the Business Foundation extension for the update, for example: C:\DVD\Applications\BusinessFoundation\Source\Microsoft_Business Foundation.app"
$BaseAppPath = "The file path and name of the Base Application extension for the update, for example: C:\DVD\Applications\BaseApp\Source\Microsoft_Base Application.app"
$ApplicationAppPath = "The path and file name to the Application application extension for the update, for example: C:\DVD\Applications\Application\Source\Microsoft_Application.app"
$NewBcVersion = "The version number for the update, for example: 25.1.39901.0"
$ExtPath = "The path and file name to an extension package" 
$ExtName = "The name of an extension"
$ExtVersion = "The version of an extension, for example, 1.0.0.0"
$AddinsFolder = "The file path to the Add-ins folder of Business Central Server installation, for example: C:\Program Files\Microsoft Dynamics 365 Business Central\230\Service\Add-ins"
$PartnerLicense= "The file path and name of the partner license"
$CustomerLicense= "The file path and name of the customer license"

Download update package

First, download the update package that matches your Business Central solution.

  1. Go to the list of available updates for your on-premises version of Business Central. Then, choose the update that you want.

  2. From the update page, under the Resolution section, select the link for downloading the update, and follow the instructions.

  3. On the computer where you downloaded the update .zip file, extract all the files to a selected location.

    When extracted, the update includes the DVD folder, which contains the full Business Central product. For example, the folder includes the Business Central installation program (setup.exe), tools for upgrading to the platform, and the Microsoft extensions.

When this step is completed, you can continue to update your Business Central solution to the new platform and application.

Save copies of server configuration files

It's a good idea to save copies of the configuration files for the Business Central Server instance (CustomSettings.config) and Business Central Web Server instances (navsettings.json and web.config). Having copies will help you configure the components after upgrade to match the setup you had before upgrade.

  • For the Business Central Server instance, the default location of the CustomSettings.config file is C:\Program Files\Microsoft Dynamics 365 Business Central\NNN\Service.

  • For the Business Central Web Server instances, the navsettings.json file is in the physical path of the web server instance. By default, the path is C:\inetpub\wwwroot\[WebServerInstanceName] on the computer's hard drive. [WebServerInstanceName] corresponds to the name (alias) of the web server instance in IIS, for example, C:\inetpub\wwwroot\BCNNN]. The web.config file that is located in the physical path of the web application for the Business Central Web client. The path is rootdrive\inetpub\wwwroot\[VirtualDirectoryName]\. For example, the folder for the default Business Central Web client application is C:\inetpub\wwwroot\BCNNN\.

    BCNNN indicates the name of the Business Central Server instance chosen during setup.

Prepare existing databases

  1. Back up your databases.

  2. Run the Business Central Administration Shell as an administrator.

  3. (Single-tenant only) Uninstall all extensions from the all tenants.

    In this step, you uninstall the Base Application, System Application (if used), and any other extensions that are currently installed on the database.

    1. Get a list of installed extensions.

      This step is optional, but it can be useful to the names and versions of the extensions.

      To get a list of installed extensions, use the Get-NAVAppInfo cmdlet.

      Get-NAVAppInfo -ServerInstance $BcServerInstance
      
    2. Uninstall the extensions.

      To uninstall an extension, you use the Uninstall-NAVApp cmdlet.

      Uninstall-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name <extensions name> -Version $ExtVersion -Force
      

      Replace $ExtName and $ExtVersion with the exact name and version the installed extension. For single-tenant deployment, set $TenantId to default or omit the -Tenant parameter.

      For example, together with the Get-NAVApp cmdlet, you can uninstall all extensions with a single command:

      Get-NAVAppInfo -ServerInstance $BcServerInstance -Tenant $TenantId | % { Uninstall-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name $_.Name -Version $_.Version -Force}
      
  4. Unpublish the existing system symbols.

    To unpublish the system symbols, use the Unpublish-NAVApp cmdlet as follows:

    Unpublish-NAVApp -ServerInstance $BcServerInstance -Name System
    

    What are symbols?.

  5. (Multitenant only) Dismount the tenants from the application database.

    To dismount a tenant, use the Dismount-NAVTenant cmdlet:

    Dismount-NAVTenant -ServerInstance $BcServerInstance -Tenant $TenantId
    

Task 1: Install Business Central components

Important

25.2 includes internal database schema changes with the following consequences:

  • New platform version 25.2 instead of 25.0.
  • Different installation path than 25.0 and 25.1. Instead of using folder '250', components are installed in folder '252', for example: C:\Program Files\Microsoft Dynamics 365 Business Central\252.

Future updates like 25.3 and 25.4 will also use platform number 25.2 and installation folder '252'.

From the installation media (DVD), run setup.exe to uninstall the current Business Central components and install the Business Central components included in the update.

  1. Stop the Business Central Server instance.

    Stop-NAVServerInstance -ServerInstance $BcServerInstance
    
  2. Run setup.exe to uninstall your current version of Business Central.

  3. Run setup.exe again to install components of the update.

    1. Follow setup pages until you get to the Microsoft Dynamics 365 Business Central Setup page.

    2. Select Advanced installation options > Choose an installation option > Custom.

    3. On the Customize the installation page, select the following components as a minimum:

      • AL Development Environment (optional but recommended)

      • Server

      • Web Server Components.

        Note

        When you install the Web Server Components, a Business Central Web Server instance with the same name that you define for the Business Central Server instance is created on Internet Information Services (IIS). If you're existing deployment has multiple web server instances that you want to reuse, you have to upgrade these instances later in this article.

    4. Select Next.

    5. On the Specify parameters page, set the fields as needed.

      Important

      Clear the SQL Database field so that it's blank. At this time, don't set this field to the database that you want to update; otherwise, the Business Central Server installation fails. You connect the database to the Business Central Server later after it's converted to the new platform.

    6. Select Apply to complete the installation.

Learn more in Installing Business Central Using Setup.

Task 2: Convert existing database to new platform

Follow the next few tasks to convert your database to the new platform of the update. A multitenant deployment includes the application and tenant databases. Running the database conversion will:

  • Update the system tables of the database to the new schema (data structure)
  • Provide the latest platform features and performance enhancements
  • Automatically publish the system symbols for the new platform

Also, to ensure that the existing published extensions work on the new platform, recompile the extensions.

  1. Run the Business Central Administration Shell as an administrator.

    For more information, see Run Business Central Administration Shell.

  2. Run the Invoke-NAVApplicationDatabaseConversion cmdlet to start the database conversion to the new platform.

    Invoke-NAVApplicationDatabaseConversion -DatabaseServer $DatabaseServer -DatabaseName $TenantDatabase|$ApplicationDatabase -Force
    

    For example, in a single tenant deployment:

    Invoke-NAVApplicationDatabaseConversion -DatabaseServer $DatabaseServer -DatabaseName $TenantDatabase -Force
    

    In a multitenant deployment, run this cmdlet against the application database. For example:

    Invoke-NAVApplicationDatabaseConversion -DatabaseServer $DatabaseServer -DatabaseName $ApplicationDatabase -Force
    

    When completed, a message like the following displays in the console:

    DatabaseServer      : .\BCDEMO
    DatabaseName        : Demo Database BC (25-0)
    DatabaseCredentials :
    DatabaseLocation    :
    Collation           :
    

    Note

    Depending on the update that you're installing, you might get a message similar to the following text:

    Invoke-NAVApplicationDatabaseConversion : A technical upgrade of database <database name> on server '.\<database instance>' cannot be run, because the database's application version 'NNNNNN' is greater than or equal to the platform version 'NNNNNN'

    This condition isn't an error. This message is recorded as a warning in the event log as well. This message indicates that the application database is already compatible with the new platform, which happens when the update doesn't make any schema changes to the system tables.

    A message appears if you ran the cmdlet without the -Force parameter. Run the cmdlet again, but include -Force parameter.

Task 3: Connect server instance to database

  1. (Multitenant only) Enable the server instance as a multitenant instance:

    Set-NAVServerConfiguration -ServerInstance $BcServerInstance -KeyName Multitenant -KeyValue true
    
  2. Connect the server instance to connect to the database.

    Set-NAVServerConfiguration -ServerInstance $BcServerInstance -KeyName DatabaseName -KeyValue $ApplicationDatabase
    

    In a multitenant deployment, the database is the application database. Learn more in Connecting a Server Instance to a Database.

  3. Restart the server instance.

    Restart-NAVServerInstance -ServerInstance $BcServerInstance
    

Task 4: Import Business Central partner license

To import the license, use the Import-NAVServerLicense cmdlet. Restart the server instance afterwards:

Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile $PartnerLicense
Restart-NAVServerInstance -ServerInstance $BcServerInstance

Learn more in Uploading a License File for a Specific Database.

Task 5: Synchronize tenant

Synchronize the tenant database with the platform changes in the application database to get it ready for the new extension versions. If you have a multitenant deployment, do these steps for each tenant.

  1. (Multitenant only) Mount the tenant to the version 25 server instance.

    To mount the tenant, use the Mount-NAVTenant cmdlet:

    Mount-NAVTenant -ServerInstance $BcServerInstance -DatabaseName $TenantDatabase -DatabaseServer $DatabaseServer -Tenant $TenantId -AllowAppDatabaseWrite
    

    Important

    You must use the same tenant ID for the tenant that was used in the old deployment; otherwise you get an error when mounting or syncing the tenant. If you want to use a different ID for the tenant, you can either use the -AlternateId parameter now or after upgrading, dismount the tenant, then mount it again using the new ID and the OverwriteTenantIdInDatabase parameter.

    For upgrade, set the -AllowAppDatabaseWrite parameter. After upgrade, you can dismount and mount the tenant again without the parameter if needed.

    At this stage, the tenant state is OperationalWithSyncPending.

  2. Synchronize the tenant with the application database.

    Use the Sync-NAVTenant cmdlet:

    Sync-NAVTenant -ServerInstance $BcServerInstance -Mode Sync -Tenant $TenantId
    

    For a single-tenant deployment, you can either set the $TenantId to default or omit the -Tenant $TenantId parameter. For more information about syncing, see Synchronizing the Tenant Database and Application Database.

Task 6: Publish new extension versions

APPLIES TO: Application upgrade only

Skip this task if you're only doing a platform-only update. In this task, you publish the new extension versions. As minimum, you publish the new base application and system application extensions from the installation media (DVD). You also publish new versions of any Microsoft and non-Microsoft extensions that were used on your old deployment.

Publishing an extension adds the extension to the application database that is mounted on the server instance. Once published, it's available for installing on tenants. This task updates internal tables, compiles the components of the extension behind-the-scenes, and builds the necessary metadata objects that are used at runtime.

The steps in this task continue to use the Business Central Administration Shell that you started in the previous task.

  1. Publish the System Application extension (Microsoft_System Application.app).

    You find the (Microsoft_System Application.app in the Applications\System Application\Source folder of installation media (DVD).

    Publish-NAVApp -ServerInstance $BcServerInstance -Path $SystemAppPath
    

    What is the System Application?

  2. Publish the Business Foundation extension (Microsoft_Business Foundation.app).

    You find the Microsoft_Business Foundation.app in the Applications\BusinessFoundation\Source folder of installation media (DVD).

    Publish-NAVApp -ServerInstance $BcServerInstance -Path $BusFoundAppPath
    
  3. Publish the Business Central base application extension (Microsoft_Base Application.app).

    The Base Application extension contains the application business objects. You find the (Microsoft_Base Application.app in the Applications\BaseApp\Source folder of installation media (DVD).

    Publish-NAVApp -ServerInstance $BcServerInstance -Path $BaseAppPath
    
  4. Publish the Microsoft_Application extension.

    For more information about this extension, see The Microsoft_Application.app File.

    Publish-NAVApp -ServerInstance $BcServerInstance -Path $ApplicationAppPath
    
  5. Publish the new versions of Microsoft extensions.

    In this step, you publish new versions of Microsoft extensions that were used on your old deployment. You find the extensions in the Applications folder of the installation media (DVD).

    Publish-NAVApp -ServerInstance $BcServerInstance -Path "<path to Microsoft extension>"
    

    For example:

    Publish-NAVApp -ServerInstance BC250 -Path "C:\W1DVD\Applications\ReportLayouts\Source\Microsoft__Exclude_ReportLayouts.app"
    

    Note

    A new extension for report layouts, called _Exclude_ReportLayouts, was added in version 20. If you're coming from a version earlier than version 20, make sure to publish and install this extension to get the latest report layout features described at Get Started Creating Report Layouts.

  6. Publish new versions of non-Microsoft extensions. Be sure to include new extensions that contain custom permission sets as AL objects.

    If you have new versions of these extensions, built on the Business Central version 25, then publish the new versions.

    Publish-NAVApp -ServerInstance $BcServerInstance -Path "<path to extension>"
    

Task 7: Recompile existing extensions not being upgraded

This task is required for a plaform-only update. When you're doing an application upgrade, complete this task only for published non-Microsoft extensions that don't have a new version to upgrade to. Skip this task for extensions that you no longer want to install on the tenant.

Important

Don't do this step on extensions published as runtime packages. Create new versions of the runtime packages instead. For more information, see Creating Runtime Packages for Business Central On-Premises.

These extensions must be recompiled to work with the new update. To recompile the extensions, use the Repair-NAVApp cmdlet:

Repair-NAVApp -ServerInstance $BcServerInstance -Name <extension name> -Version <extension name>

For example, to recompile all non-Microsoft extensions, you can run the following command:

Get-NAVAppInfo -ServerInstance $BcServerInstance | Where-Object {$_.Publisher -notlike 'Microsoft'} | Repair-NAVApp

Restart the Business Central Server when completed.

Restart-NAVServerInstance -ServerInstance $BcServerInstance

If you're doing a platfrom-only upgrade, continue on task 10.

Task 8: Synchronize extensions

APPLIES TO: Application upgrade only

Synchronize the tenant's database schema with any schema changes in the new extension versions. If you have a multitenant deployment, do these steps for each tenant.

  1. Synchronize the tenant with the System Application extension.

    Use the Sync-NAVApp cmdlet:

    Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name "System Application" -Version $NewBCVersion
    

    Replace $NewBCVersion with the exact version of the published System Application. To get the version, you can use the Get-NAVAppInfo cmdlet.

  2. Synchronize the tenant with the Business Foundation extension.

    Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name "Business Foundation" -Version $NewBCVersion
    

    Replace $NewBCVersion with the exact version of the published Base Application.

  3. Synchronize the tenant with the Business Central Base Application extension.

    Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name "Base Application" -Version $NewBCVersion
    

    Replace $NewBCVersion with the exact version of the published Base Application.

    Important

    If you're upgrading a Czech (CZ) language version, you must use the -Mode ForceSync parameter to force synchronize the base application; otherwise, synchronization errors occur. For more information, go to Removed table fields in base application cause sync errors.

  4. Synchronize the tenant with the Application extension.

    Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name "Application" -Version $NewBCVersion
    
  5. Synchronize the tenant with Microsoft and non-Microsoft extensions.

    For each extension, run the Sync-NAVApp cmdlet:

    Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name "<extension name>" -Version <extension version>
    

If you're doing an application upgrade, continue to task 8. For a platform upgrade, continue to task 9.

Task 9: Upgrade data

APPLIES TO: Application upgrade only

In this task, you run a data upgrade for extensions.

Run the data upgrade/installation on extensions in order of dependency: System Application, Business Foundation, Base Application, Application.

  1. Run the data upgrade for the System Application.

    To run the data upgrade, use the Start-NAVAppDataUpgrade cmdlet cmdlet:

    Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance -Name "System Application" -Version $NewBCVersion
    

    This step automatically installs the new system application on the tenant.

  2. Install the Business Foundation extension. The Base Application has a dependency on this app, so it must be installed before you can upgrade the Base Application.

    To install the Business Foundation extension, use the Install-NAVApp cmdlet cmdlet:

    Install-NAVApp -ServerInstance $BcServerInstance -Name "Business Foundation" -Version $NewBCVersion
    
  3. Run the data upgrade for the Base Application, followed by Application extension.

    Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance -Name "Base Application" -Version $NewBCVersion
    
    Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance -Name "Application" -Version $NewBCVersion
    

    This step automatically installs the new versions of these extensions on the tenant.

  4. Upgrade the new versions of Microsoft extensions and non-Microsoft extensions.

    Upgrade any Microsoft and non-Microsoft extensions that are used in the old deployment to new versions found on the installation media. The new versions are in the Application folder of the DVD. There's a folder for each extension. The extension package (.app file) is in the Source folder.

    For each extension, run Start-NAVAppDataUpgrade cmdlet. First, run the data upgrade for the Application extension, then run it for other Microsoft and non-Microsoft extensions.

    This step also automatically installs the new extension version on the tenant.

Task 10: Reinstall existing extensions not upgraded

APPLIES TO: Single tenant only

Reinstall the extensions that you recompiled in task 7. This task is required in a platform upgrade. With an application upgrade, these extensions are non-Microsoft extensions that you didn't publish new versions for but you still want installed on the tenant.

To install an extension, you use the Install-NAVApp cmdlet.

  1. If your solution uses the System Application, install this first.

    Install-NAVApp -ServerInstance $BcServerInstance -Name "System Application" -Version $ExtVersion
    

    Replace $ExtVersion with the exact version of the published System Application.

  2. Install the Base Application.

    Install-NAVApp -ServerInstance $BcServerInstance -Name "Base Application" -Version $ExtVersion
    

    Replace $ExtVersion with the exact version of the published Base Application.

  3. Install the Application extension as needed.

    Install-NAVApp -ServerInstance $BcServerInstance -Name "Application" -Version $ExtVersion
    

    Replace $ExtVersion with the exact version of the published Application extension.

  4. Install other extensions, including Microsoft and non-Microsoft extensions.

    Install-NAVApp -ServerInstance $BcServerInstance -Name $ExtName -Version $ExtVersion
    

Important

If your solution uses any Microsoft control add-ins, you must upgrade the add-ins to the latest version. Go to Upgrade control add-ins under Post Upgrade section.

Task 11: Post upgrade

Upgrade control add-ins

The Business Central Server installation includes new versions of the Microsoft-provided Javascript-based control add-ins, like Microsoft.Dynamics.Nav.Client.BusinessChart, Microsoft.Dynamics.Nav.Client.VideoPlayer, and more. If your solution uses any of these control add-ins, upgrade them to the latest version.

To upgrade the control add-ins from the client, do the following steps:

  1. Open the Business Central client.

  2. Search for and open the Control Add-ins page.

  3. Choose Actions > Control Add-in Resource > Import.

  4. Locate and select the .zip file for the control add-in and choose Open.

    The .zip files are located in the Add-ins folder of the Business Central Server installation. There's a subfolder for each add-in. For example, the path to the Business Chart control add-in is C:\Program Files\Microsoft Dynamics 365 Business Central\190\Service\Add-ins\BusinessChart\Microsoft.Dynamics.Nav.Client.BusinessChart.zip.

  5. After you've imported all the new control add-in versions, restart Business Central Server instance.

Alternatively, you can use the Set-NAVAddin cmdlet of the Business Central Administration Shell. For example, the following commands update the control add-ins installed by default. Modify the commands to suit:

Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.BusinessChart' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'BusinessChart\Microsoft.Dynamics.Nav.Client.BusinessChart.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.FlowIntegration' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'FlowIntegration\Microsoft.Dynamics.Nav.Client.FlowIntegration.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.OAuthIntegration' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'OAuthIntegration\Microsoft.Dynamics.Nav.Client.OAuthIntegration.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.PageReady' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'PageReady\Microsoft.Dynamics.Nav.Client.PageReady.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.PowerBIManagement' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'PowerBIManagement\Microsoft.Dynamics.Nav.Client.PowerBIManagement.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.RoleCenterSelector' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'RoleCenterSelector\Microsoft.Dynamics.Nav.Client.RoleCenterSelector.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.SatisfactionSurvey' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'SatisfactionSurvey\Microsoft.Dynamics.Nav.Client.SatisfactionSurvey.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.VideoPlayer' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'VideoPlayer\Microsoft.Dynamics.Nav.Client.VideoPlayer.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.WebPageViewer' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'WebPageViewer\Microsoft.Dynamics.Nav.Client.WebPageViewer.zip')
Set-NAVAddIn -ServerInstance $NewBcServerInstance -AddinName 'Microsoft.Dynamics.Nav.Client.WelcomeWizard' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder 'WelcomeWizard\Microsoft.Dynamics.Nav.Client.WelcomeWizard.zip')

Update application version

After you upgrade your application, we recommend changing the value of application build number that's stored in the database and shown on the Help and Support page to match the new current version. This version isn't updated automatically when you upgrade. If you want the version to reflect the version of the update or your own version, you change it manually. This task serves two purposes. It ensures that personalization works as expected after upgrade. It's also useful for support purposes and answering a common question about the application version.

For more information about version numbers, see Version numbers in Business Central.

Change the application version in the database

  1. Run the Set-NAVApplication cmdlet:

    Set-NAVApplication -ServerInstance $NewBcServerInstance -ApplicationVersion $NewBCVersion -Force
    

    For example:

    Set-NAVApplication -ServerInstance BC210 -ApplicationVersion 21.0.38071.0 -Force
    
  2. Run the Sync-NAVTenant cmdlet to synchronize the tenant with the application database.

    Sync-NAVTenant -ServerInstance $NewBcServerInstance -Mode Sync -Tenant $TenantId
    

    With a single-tenant deployment, you can omit the -Tenant parameter and value.

  3. Run the Start-NavDataUpgrade cmdlet to change the version number:

    Start-NAVDataUpgrade -ServerInstance $NewBcServerInstance -FunctionExecutionMode Serial -Tenant $TenantId
    

    The data upgrade process will be running in the background after running the above Start-NAVDataUpgrade cmdlet. You check on the progress using the Get-NAVDataUpgrade cmdlet: such as: Get-NAVDataUpgrade -ServerInstance $NewBcServerInstance -Tenant $TenantId -Progress or Get-NAVDataUpgrade -ServerInstance $NewBcServerInstance -Tenant $TenantId -Detailed.

Don't stop the Business Central Server instance until the process is complete, that is, when you see State = Completed in the results from the Get-NAVDataUpgrade cmdlet. Also, you can't do operations like installing extensions until the state is operational. It can take several minutes before the process completes.

Change the application version shown on the Help and Support page in the client

The Business Central Server includes a configuration setting called Solution Version Extension (SolutionVersionExtension). This setting lets you specify an extension whose version number will show as the Application Version on the client's Help and Support page. Typically, you'd use the extension considered to be your solution's base application. You set Solution Version Extension to ID of the extension. For example, if your solution uses the Microsoft Base Application, set the value to 437dbf0e-84ff-417a-965d-ed2bb9650972.

You can set Solution Version Extension by using the Business Central Server Administration tool or the Set-NAVServerConfiguration cmdlet of the Business Central Administration Shell.

The following example uses the Set-NAVServerConfiguration cmdlet to set the Solution Version Extension to the Microsoft Base Application:

Set-NAVServerConfiguration -ServerInstance $NewBcServerInstance -KeyName SolutionVersionExtension -KeyValue "437dbf0e-84ff-417a-965d-ed2bb9650972" -ApplyTo All  

Import the customer license

Import the customer license by using the Import-NAVServerLicense cmdlet, as you did with the partner license. Restart the server instance afterwards.

Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile $CustomerLicense
Restart-NAVServerInstance -ServerInstance $BcServerInstance

Upgrade other web server instances

At this point, the only Business Central Web Server instance that's been upgraded to the new version is the one you installed earlier using the setup.exe file. If you had multiple web server instances running on the old version that you still want multiple instances, complete the following steps:

  1. Save a copy of the navsettings.json and web.config file.

  2. Run the Remove-NAVWebserverInstance cmdlet to delete the instance. For example:

    Remove-NAVWebServerInstance -WebServerInstance MyWebServerInstance
    

Replace MyWebServerInstancewith the name of the instance you want to remove.

  1. Run the New-NAVWebserverInstance cmdlet to create a new instance.

    For example, the following command creates a subsite instance named MyWebServerInstance under the default container Microsoft Dynamics 365 Business Central Web Client on port 8081.

    New-NAVWebServerInstance -WebServerInstance MyWebServerInstance -Server localhost -ServerInstance $BcServerInstance -SiteDeploymentType SubSite -ContainerSiteName "Microsoft Dynamics 365 Business Central Web Client" -WebSitePort 8081 -PublishFolder "C:\Program Files\Microsoft Dynamics 365 Business Central\BCNNN\Web Client"
    

    The -PublishFolder parameter specifies the path to the Business Central Web Server components for the version. If you're working on a computer where the Business Central Web Server components are installed, you don't have to set the -PublishFolder parameter.

For more information about multiple web server instances, see Setting Up Multiple Business Central Web Server Instances.

Dynamics 365 Business Central on-premises 2024 release wave 2 Updates
Upgrading to Dynamics 365 Business Central 2024 release wave 2
Synchronizing the Tenant Database and Application Database
Version numbers in Business Central
Publish and install an extension
Getting Started in AL
Version numbers in Business Central