Performing a monthly minor cumulative upgrade can easily be done using, for example, PowerShell. On this page, you will find the functions. There is a separate page with variables, which is password-protected. You can find it here. Examples of how to execute these functions can be found here.
#---------------------------------------------------------------------------------
#Beschikbare documentatie
#---------------------------------------------------------------------------------
#Released Updates for Microsoft Dynamics 365 Business Central 2022 Release Wave 2
#(BC21)
#Dynamics 365 Business Central on-premises 2023 release wave 1 updates (BC22)
#Installing a Business Central 2023 Release Wave 1 Update
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Laden van variables
#---------------------------------------------------------------------------------
$Script = "C:\NAV\Scripts\Performing a Minor Upgrade"
$Version = "220"
$Release = "W1"
$CURelease = "1"
$NewBcVersion = ""
$OldBcVersion = ""
Set-Location -Path $Script
. .\Variables.ps1
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Voorbereiden bestaande databases
#---------------------------------------------------------------------------------
function Prepare-Existing-Databases {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId,
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Get-NAVAppInfo -ServerInstance $BcServerInstance
Get-NAVAppInfo -ServerInstance $BcServerInstance -Tenant $TenantId `
| % { Uninstall-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId `
-Name $_.Name -Version $_.Version -Force}
Unpublish-NAVApp -ServerInstance $BcServerInstance -Name System
Dismount-NAVTenant -ServerInstance $BcServerInstance -Tenant $TenantId `
-Force
Stop-NAVServerInstance -ServerInstance $BcServerInstance
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Installeren Business Central Components
#---------------------------------------------------------------------------------
#Verwijder eerst de huidige installatie van BC22 en installeer dan de nieuwe
#versie
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Converteer bestaande database naar het nieuwe platform
#---------------------------------------------------------------------------------
function Convert-existing-database-to-new-Platform {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('MSSURFACEBK03\BCDEMO','MSZBOOK15G03\BCDEMO')]
$DatabaseServer,
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT APP','BCNLMT APP')]
$ApplicationDatabase,
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Invoke-NAVApplicationDatabaseConversion -DatabaseServer $DatabaseServer `
-DatabaseName $ApplicationDatabase -Force
Set-NAVServerConfiguration -ServerInstance $BcServerInstance -KeyName `
Multitenant-KeyValue true
Set-NAVServerConfiguration -ServerInstance $BcServerInstance -KeyName `
DatabaseName -KeyValue $ApplicationDatabase
Restart-NAVServerInstance -ServerInstance $BcServerInstance
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Importeer Business Central Partner License
#---------------------------------------------------------------------------------
function Import-Business-Central-partner-license {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile `
$PartnerLicense
Restart-NAVServerInstance -ServerInstance $BcServerInstance
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Synchroniseer Business Central tenant
#---------------------------------------------------------------------------------
function Synchronize-tenant {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance,
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT CRONUSINT','BCNLMT CRONUSNL')]
$TenantDatabase,
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId
)
Import-module $Module
Mount-NAVTenant -ServerInstance $BCServerInstance -DatabaseName `
$TenantDatabase -Tenant $TenantId -Force -ErrorAction SilentlyContinue
Sync-NAVTenant -ServerInstance $BcServerInstance -Tenant $TenantId -Mode `
Sync -Force
Get-NavTenant -ServerInstance $BCServerInstance -Tenant $TenantId
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Upgrade System Application, Base Application en Application
#---------------------------------------------------------------------------------
function System-Application-Base-Application-Application {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance,
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId
)
Import-module $Module
Publish-NAVApp -ServerInstance $BcServerInstance -Path $SystemAppPath
Publish-NAVApp -ServerInstance $BcServerInstance -Path $BaseAppPath
Publish-NAVApp -ServerInstance $BcServerInstance -Path $ApplicationAppPath
Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name `
"System Application" -Version $NewBcVersion
Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name `
"Base Application" -Version $NewBcVersion
Sync-NAVApp -ServerInstance $BcServerInstance -Tenant $TenantId -Name `
"Application" -Version $NewBcVersion
Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance -Tenant `
$TenantId -Name "System Application" -Version $NewBcVersion
Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance -Tenant `
$TenantId -Name "Base Application" -Version $NewBcVersion
Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance -Tenant `
$TenantId -Name "Application" -Version $NewBcVersion
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Publiceer en installeer Microsoft extensies
#---------------------------------------------------------------------------------
function Publish-and-install-Microsoft-extensions {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance,
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId
)
Import-module $Module
$Folders = "C:\NAV\Software\BC$Version.$CURelease\$Release\Applications\"
$files = gci $Folders -Filter *.app -Recurse -Exclude "*test*", `
"*Performance Toolkit*","*Tests*","*Library*"
foreach ($file in $files)
{
Copy-Item $file.PSPath -Destination $Destination
}
$Extensions = @(Get-ChildItem -Path $Destination -Filter *.app)
Publish-NavApp -ServerInstance $BCServerInstance -Path `
"$Destination\Microsoft_Email - Outlook REST API.app"
ForEach ($Extension in $Extensions)
{
Publish-NavApp -ServerInstance $BCServerInstance -Path `
$Extension.FullName
Write-Host $Extension.FullName
}
ForEach ($Extension in $Extensions)
{
(Get-ChildItem -Path "$Destination\*" -Name -Exclude "*.txt") `
| Out-File "$Destination\Output1.txt"
(Get-Content -Path "$Destination\Output1.txt") -replace `
"Microsoft_" | Out-File "$Destination\Output2.txt"
(Get-Content -Path "$Destination\Output2.txt") -creplace '.app' `
| Out-File "$Destination\Output3.txt"
}
[System.IO.StreamReader]$sr = `
[System.IO.File]::Open("$Destination\Output3.txt", `
[System.IO.FileMode]::Open)
while (-not $sr.EndOfStream)
{
$line = $sr.ReadLine()
#Install-NavApp -ServerInstance $BCServerInstance -Tenant `
#$TenantId -Name $Line -Version $NewVersion -Force
Sync-NAVApp -ServerInstance $BcServerInstance -Tenant `
$TenantId -Name $line -Version $NewBcVersion -Force
#Start-NAVAppDataUpgrade -ServerInstance $BcServerInstance `
#-Tenant $TenantId -Name $Line -Version $NewBcVersion -Force
}
$sr.Close()
Return 0
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Upgraden control add-ins
#---------------------------------------------------------------------------------
function Upgrade-control-add-ins {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.BusinessChart' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'BusinessChart\Microsoft.Dynamics.Nav.Client.BusinessChart.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.FlowIntegration' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'FlowIntegration\Microsoft.Dynamics.Nav.Client.FlowIntegration.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.OAuthIntegration' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'OAuthIntegration\Microsoft.Dynamics.Nav.Client.OAuthIntegration.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.PageReady' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'PageReady\Microsoft.Dynamics.Nav.Client.PageReady.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.PowerBIManagement' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'PowerBIManagement\Microsoft.Dynamics.Nav.Client.PowerBIManagement.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.RoleCenterSelector' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'RoleCenterSelector\Microsoft.Dynamics.Nav.Client.RoleCenterSelector.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.SatisfactionSurvey' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'SatisfactionSurvey\Microsoft.Dynamics.Nav.Client.SatisfactionSurvey.zip')
#Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
#'Microsoft.Dynamics.Nav.Client.SocialListening' -PublicKeyToken `
#31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
#'SocialListening\Microsoft.Dynamics.Nav.Client.SocialListening.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.VideoPlayer' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'VideoPlayer\Microsoft.Dynamics.Nav.Client.VideoPlayer.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.WebPageViewer' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'WebPageViewer\Microsoft.Dynamics.Nav.Client.WebPageViewer.zip')
Set-NAVAddIn -ServerInstance $BcServerInstance -AddinName `
'Microsoft.Dynamics.Nav.Client.WelcomeWizard' -PublicKeyToken `
31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $AddinsFolder `
'WelcomeWizard\Microsoft.Dynamics.Nav.Client.WelcomeWizard.zip')
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Update applicatie versie
#---------------------------------------------------------------------------------
function Update-application-version {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance,
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId
)
Import-module $Module
Set-NAVApplication -ServerInstance $BcServerInstance -ApplicationVersion `
$NewBCVersion -Force
Sync-NAVTenant -ServerInstance $BcServerInstance -Mode Sync -Tenant `
$TenantId -Force
Start-NAVDataUpgrade -ServerInstance $BcServerInstance `
-FunctionExecutionMode Serial -Tenant $TenantId -Force
Set-NAVServerConfiguration -ServerInstance $BcServerInstance -KeyName `
SolutionVersionExtension -KeyValue "437dbf0e-84ff-417a-965d-ed2bb9650972" `
-ApplyTo All
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Importeer de klant licentie
#---------------------------------------------------------------------------------
function Import-the-customer-license {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance,
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId
)
Import-module $Module
Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile `
$CustomerLicense -Database Default
Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile `
$CustomerLicense -Database Master
Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile `
$CustomerLicense -Database NavDatabase
Import-NAVServerLicense -ServerInstance $BcServerInstance -LicenseFile `
$CustomerLicense -Database Tenant -Tenant $TenantId
Restart-NAVServerInstance -ServerInstance $BCServerInstance -Force
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Synchroniseer Business Central tenant
#---------------------------------------------------------------------------------
function Mount-Dismount-Synch-tenant {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance,
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT CRONUSINT','BCNLMT CRONUSNL')]
$TenantDatabase,
[Parameter(Mandatory=$true)]
[ValidateSet('Tenant1','Tenant2')]
$TenantId,
[Parameter(Mandatory=$true)]
[ValidateSet('cronusint.melsbergmans.nl','cronusnl.melsbergmans.nl')]
$AlternateId,
[Parameter(Mandatory=$true)]
[ValidateSet('CRONUS International Ltd.','CRONUS Nederland BV')]
$Company,
[Parameter(Mandatory=$true)]
[ValidateSet('MSSURFACEBK03\BCDEMO','MSZBOOK15G03\BCDEMO')]
$DatabaseServer,
[Parameter(Mandatory=$true)]
[ValidateSet('https://cronusint.melsbergmans.nl',`
'https://cronusnl.melsbergmans.nl')]
$ValidAudiencesTenant
)
Import-module $Module
Dismount-NAVTenant -ServerInstance $BCServerInstance -Tenant $TenantId `
-Force
Mount-NAVTenant –ServerInstance $BcServerInstance -Id $TenantId `
–DatabaseServer $DatabaseServer -AadTenantId $TenantAADId -AlternateId `
$AlternateId `
-DatabaseName $TenantDatabase -OverwriteTenantIdInDatabase -DefaultCompany `
$Company -DefaultTimeZone UTC -DisplayName $Company -ValidAudiences `
$ValidAudiencesTenant -EnvironmentType Production -AllowAppDatabaseWrite `
-NasServicesEnabled `
-RunNasWithAdminRights -Force
Sync-NAVTenant -ServerInstance $BcServerInstance -Tenant $TenantId -Mode `
Sync -Force
Get-NavTenant -ServerInstance $BCServerInstance -Tenant $TenantId -Force
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Uitvoeren van maintenance
#---------------------------------------------------------------------------------
function Performing-Maintenance {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ODataServicesPort -KeyValue $ODataServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ManagementServicesPort -KeyValue $ManagementServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
SnapshotDebuggerServicesPort -KeyValue $SnapshotDebuggerServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ClientServicesPort -KeyValue $ClientServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
DeveloperServicesPort -KeyValue $DeveloperServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
SOAPServicesPort -KeyValue $SOAPServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ManagementApiServicesPort -KeyValue $ManagementApiServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
PublicODataBaseUrl -KeyValue $PublicODataBaseUrl
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
AppIdUri -KeyValue $AppIdUri
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ExcelAddInAzureActiveDirectoryClientId -KeyValue `
$ExcelAddInAzureActiveDirectoryClientId
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ExtendedSecurityTokenLifetime -KeyValue $ExtendedSecurityTokenLifetime
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
NASServicesStartupCodeunit -KeyValue $NASServicesStartupCodeunit
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
PublicSOAPBaseUrl -KeyValue $PublicSOAPBaseUrl
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
PublicWebBaseUrl -KeyValue $PublicWebBaseUrl
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ServicesCertificateThumbprint -KeyValue $ServicesCertificateThumbprint
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ServicesDefaultCompany -KeyValue $ServicesDefaultCompany
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ValidAudiences -KeyValue $ValidAudiencesServer
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
WSFederationLoginEndpoint -KeyValue $WSFederationLoginEndpoint
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ClientServicesCredentialType -KeyValue $NSTClientServicesCredentialType
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
DeveloperServicesEnabled -KeyValue $DeveloperServicesEnabled
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
SOAPServicesEnabled -KeyValue $SOAPServicesEnabled
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ODataServicesEnabled -KeyValue $ODataServicesEnabled
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
DeveloperServicesSSLEnabled -KeyValue $DeveloperServicesSSLEnabled
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
SOAPServicesSSLEnabled -KeyValue $SOAPServicesSSLEnabled
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ODataServicesSSLEnabled -KeyValue $ODataServicesSSLEnabled
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ManagementApiServicesPort -KeyValue $ManagementApiServicesPort
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
Multitenant -KeyValue $Multitenant
Set-NavServerConfiguration -ServerInstance $BcServerInstance -KeyName `
ADOpenIdMetadataLocation -KeyValue $ADOpenIdMetadataLocation
Set-NavWebServerInstanceConfiguration -WebServerInstance $BcServerInstance `
-KeyName AadAuthorityUri -KeyValue $AadAuthorityUri
Set-NavWebServerInstanceConfiguration -WebServerInstance $BcServerInstance `
-KeyName AadApplicationId -KeyValue $AadApplicationId
Set-NavWebServerInstanceConfiguration -WebServerInstance $BcServerInstance `
-KeyName DnsIdentity -KeyValue $DnsIdentity
Set-NavWebServerInstanceConfiguration -WebServerInstance $BcServerInstance `
-KeyName ClientServicesCredentialType -KeyValue `
$WebClientServicesCredentialType
Restart-NAVServerInstance -ServerInstance $BCServerInstance
IISRESET
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Uninstall old extensions
#---------------------------------------------------------------------------------
function Uninstall-Unpublish-OldExtensions {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Get-NAVAppInfo -ServerInstance $BcServerInstance -Version $OldBcVersion `
| % {Unpublish-NAVApp -ServerInstance $BcServerInstance -Name `
$_.Name -Version $OldBcVersion} -ErrorAction SilentlyContinue
}
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
#Herstart de NST-service
#---------------------------------------------------------------------------------
function Restart-NST-service {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[ValidateSet('BCW1MT','BCNLMT')]
$BCServerInstance
)
Import-module $Module
Restart-NAVServerInstance -ServerInstance $BcServerInstance
}
#---------------------------------------------------------------------------------
Why performing a minor upgrade regularly?
Regularly performing minor cumulative upgrades for Dynamics NAV or Dynamics 365 Business Central is essential for several reasons.
First, it ensures that your system stays up to date with the latest security patches. This is crucial for protecting your data against potential threats and for staying compliant with ever-evolving security standards.
In addition, these upgrades improve system performance. New updates often include optimizations and bug fixes that enhance the overall efficiency and stability of the software. This results in a smoother user experience and reduces the risk of unexpected issues.
Furthermore, cumulative upgrades provide access to new features and improvements. By upgrading regularly, you can take advantage of the latest innovations and functionalities introduced by Microsoft. This can streamline your business processes and give your organization a competitive edge.
Regular upgrades also help to prevent compatibility issues. As other software and systems evolve, it’s important that your Dynamics NAV or Dynamics 365 Business Central environment remains compatible with those changes. This ensures seamless integration with other tools and technologies your business relies on.
In short, regularly performing minor cumulative upgrades keeps your system secure, efficient, and future-proof. It also reduces the risk of unexpected costs and downtime from having to do major, disruptive updates later on. Regular upgrades make managing your system easier and less time-consuming.
If you’re using Business Central in Microsoft’s SaaS environment, this is, of course, handled for you automatically.
More information about Microsoft Business Central can be found here. More information about the author of this blog post can be found here.