Saturday, July 2, 2022

Business Central Migration Steps from BC 14 to BC 20 (India Version)

 Hello Team,

List of steps for Business Central Migration from BC 14 to BC 20 (India Version)

===========================================================

1.       Import-NAVServerLicense -ServerInstance BC140 -LicenseFile 'C:\Intech_BC20.flf'

2.       Restart-NAVServerInstance -ServerInstance BC200

3.       Get-NAVAppInfo -ServerInstance BC140 -Tenant default

4.       Get-NAVAppInfo -ServerInstance BC140 -Tenant Default | % { Uninstall-NAVApp -ServerInstance BC140 -Name $_.Name -Version $_.Version -Tenant Default }

5.       Get-NAVAppInfo -ServerInstance BC140 | % { Unpublish-NAVApp -ServerInstance BC140 -Name $_.Name -Version $_.Version }

 

Issue - In this step, we get error as per below snapshot.

Solution : to resolve this issue, execute this command 2 or 3 times, error will resolved.

 














6.       Get-NAVAppInfo -ServerInstance BC140 -SymbolsOnly | % { Unpublish-NAVApp -ServerInstance BC140 -Name $_.Name -Version $_.Version }

7.       Stop-NAVServerInstance -ServerInstance BC140

8.       Execute below command as SQL Query

DELETE FROM [ABC_Client_BC_TestUpgrade].[dbo].[Server Instance]

DELETE from [ABC_Client_BC_TestUpgrade].[dbo].[Debugger Breakpoint]


 

9.       Close the BC 14 Powershell and open new powershell and execute below command.

10.   Import-Module 'C:\Program Files\Microsoft Dynamics 365 Business Central\180\Service\NavAdminTool.ps1'

11.   Invoke-NAVApplicationDatabaseConversion -DatabaseName "ABC_Client_BC_TestUpgrade" -DatabaseServer databaseVM

12.   Set-NAVServerConfiguration -ServerInstance BC200 -KeyName DatabaseName -KeyValue "ABC_Client_BC_TestUpgrade"

13.   Set-NAVServerConfiguration -ServerInstance BC200 -KeyName "DestinationAppsForMigration" -KeyValue '[{"appId":"63ca2fa4-4f03-4f2b-a480-172fef340d3f", "name":"System Application", "publisher": "Microsoft"},{"appId":"437dbf0e-84ff-417a-965d-ed2bb9650972", "name":"Base Application", "publisher": "Microsoft"}]'

14.   Set-NavServerConfiguration -ServerInstance BC200 -KeyName "UsePermissionSetsFromExtensions" -KeyValue false

15.   Set-NavServerConfiguration -ServerInstance BC200 -KeyName "EnableTaskScheduler" -KeyValue false

16.   Restart-NAVServerInstance -ServerInstance BC200

17.   Publish-NAVApp -ServerInstance BC200 -Path "C:\Erp Sw\Dynamics.365.BC.41423.IN.DVD\Applications\system application\source\Microsoft_System Application.app”

18.   Publish-NAVApp -ServerInstance BC200 -Path "C:\Erp Sw\Dynamics.365.BC.41423.IN.DVD\Applications\BaseApp\Source\Microsoft_Base Application.app”

19.   Publish-NAVApp -ServerInstance BC200 -Path "C:\Erp Sw\Dynamics.365.BC.41423.IN.DVD\Applications\Application\Source\Microsoft_Application.app”

 

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Company Hub.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Contoso Coffee Demo Dataset.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Data Archive.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Troubleshoot FA Ledger Entries.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Email - Outlook REST API.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Email - Microsoft 365 Connector.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Email - Current User Connector.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Email - SMTP API.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Email - SMTP Connector.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Essential Business Headlines.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Late Payment Prediction.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Universal Print Integration.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_OnPrem Permissions.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Payment Links to PayPal.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Recommended Apps.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Sales and Inventory Forecast.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Send To Email Printer.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Simplified Bank Statement Import.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Permissions Mock.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Test Runner.app"

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\Microsoft_Performance Toolkit.app"

 

 

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_Tax Engine.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India Tax Base.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_QR Generator.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India GST.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India Gate Entry.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India TCS.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India TDS.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India Voucher Interface.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_Fixed Asset Depreciation for India.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India Reports.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\India_Apps\Microsoft_India Data Migration.app" -SkipVerification

 

Below are the app files which having one version higher than the BC 14 App Files

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\ABC_Client_Apps_UpdVersion\ISPL_ABC_Client_HR_Development_1.0.0.3.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\ABC_Client_Apps_UpdVersion\ISPL_ABC_Client_Development_1.0.0.4.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\ABC_Client_Apps_UpdVersion\ISPL_Quality Control_1.0.0.9.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\ABC_Client_Apps_UpdVersion\ISPL_Purchase Indent_1.0.0.5.app" -SkipVerification

Publish-NAVApp -ServerInstance BC200 -Path "C:\BC_20_Base_App_Files\ABC_Client_Apps_UpdVersion\ISPL_EInvoice and Eway Bill Development ISPL_1.0.0.1.app" -SkipVerification

 

Stop-NAVServerInstance -ServerInstance BC200

Start-NAVServerInstance -ServerInstance BC200

 

Sync-NAVTenant -ServerInstance BC200 -Mode Sync -Tenant Default\

 

 

Run Below three command one by one.

Sync-NAVApp -ServerInstance BC200 -Name "System Application" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Base Application" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Application" -Version 20.2.41144.41423

 


 

Sync-NAVApp -ServerInstance BC200 -Name "Company Hub" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Contoso Coffee Demo Dataset" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Data Archive" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Troubleshoot FA Ledger Entries" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Email - Outlook REST API" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Email - Microsoft 365 Connector" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Email - Current User Connector" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Email - SMTP API" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Email - SMTP Connector" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Essential Business Headlines" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Late Payment Prediction" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Universal Print Integration" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "OnPrem Permissions" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Payment Links to PayPal" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Recommended Apps" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Sales and Inventory Forecast" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Send To Email Printer" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Simplified Bank Statement Import" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Permissions Mock" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Test Runner" -Version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Performance Toolkit" -Version 20.2.41144.41423

 

Sync-NAVApp -ServerInstance BC200 -Name "Tax Engine" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India Tax Base" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "QR Generator" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India GST" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India Gate Entry" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India TCS" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India TDS" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India Voucher Interface" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "Fixed Asset Depreciation for India" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India Reports" -version 20.2.41144.41423

Sync-NAVApp -ServerInstance BC200 -Name "India Data Migration" -version 20.2.41144.41423


 

 

Sync-NAVApp -ServerInstance BC200 -Name "ABC_Client_HR_Development" -version 1.0.0.3

Sync-NAVApp -ServerInstance BC200 -Name "ABC_Client_Development" -version 1.0.0.4

Sync-NAVApp -ServerInstance BC200 -Name "Quality Control" -version 1.0.0.9

Sync-NAVApp -ServerInstance BC200 -Name "Purchase Indent" -version 1.0.0.5

Sync-NAVApp -ServerInstance BC200 -Name "EInvoice and Eway Bill Development ISPL" -version 1.0.0.1


 

Start-NAVDataUpgrade -ServerInstance BC200 -Tenant Default -FunctionExecutionMode Serial -SkipAppVersionCheck

 

Get-NAVDataUpgrade -ServerInstance BC200

 













Install-NAVApp -ServerInstance BC200 -Name "Application" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Company Hub" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Contoso Coffee Demo Dataset" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Data Archive" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Troubleshoot FA Ledger Entries" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Email - Outlook REST API" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Email - Microsoft 365 Connector" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Email - Current User Connector" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Email - SMTP API" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Email - SMTP Connector" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Essential Business Headlines" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Late Payment Prediction" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Universal Print Integration" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "OnPrem Permissions" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Payment Links to PayPal" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Recommended Apps" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Sales and Inventory Forecast" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Send To Email Printer" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Simplified Bank Statement Import" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Permissions Mock" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Test Runner" -Version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "Performance Toolkit" -Version 20.2.41144.41423

 


 

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "Tax Engine" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India Tax Base" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India TCS" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India TDS" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India Voucher Interface" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "Fixed Asset Depreciation for India" -version 20.2.41144.41423

 

Install-NAVApp -ServerInstance BC200 -Name "QR Generator" -version 20.2.41144.41423

Install-NAVApp -ServerInstance BC200 -Name "India Reports" -version 20.2.41144.41423

 

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India GST" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India Gate Entry" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "India Data Migration" -version 20.2.41144.41423

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "ABC_Client_HR_Development" -version 1.0.0.3

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "ABC_Client_Development" -version 1.0.0.4

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "Quality Control" -version 1.0.0.9

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "Purchase Indent" -version 1.0.0.5

Start-NAVAppDataUpgrade -ServerInstance BC200 -Name "EInvoice and Eway Bill Development ISPL" -version 1.0.0.1


 

$InstanceName = 'BC200'

$ServicesAddinsFolder = 'C:\Program Files\Microsoft Dynamics 365 Business Central\200\Service\Add-ins'

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.BusinessChart' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'BusinessChart\Microsoft.Dynamics.Nav.Client.BusinessChart.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.FlowIntegration' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'FlowIntegration\Microsoft.Dynamics.Nav.Client.FlowIntegration.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.OAuthIntegration' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'OAuthIntegration\Microsoft.Dynamics.Nav.Client.OAuthIntegration.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.PageReady' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'PageReady\Microsoft.Dynamics.Nav.Client.PageReady.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.PowerBIManagement' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'PowerBIManagement\Microsoft.Dynamics.Nav.Client.PowerBIManagement.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.RoleCenterSelector' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'RoleCenterSelector\Microsoft.Dynamics.Nav.Client.RoleCenterSelector.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.SatisfactionSurvey' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'SatisfactionSurvey\Microsoft.Dynamics.Nav.Client.SatisfactionSurvey.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.SocialListening' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'SocialListening\Microsoft.Dynamics.Nav.Client.SocialListening.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.VideoPlayer' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'VideoPlayer\Microsoft.Dynamics.Nav.Client.VideoPlayer.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.WebPageViewer' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'WebPageViewer\Microsoft.Dynamics.Nav.Client.WebPageViewer.zip')

Set-NAVAddIn -ServerInstance $InstanceName -AddinName 'Microsoft.Dynamics.Nav.Client.WelcomeWizard' -PublicKeyToken 31bf3856ad364e35 -ResourceFile ($AppName = Join-Path $ServicesAddinsFolder 'WelcomeWizard\Microsoft.Dynamics.Nav.Client.WelcomeWizard.zip')

 

Get-NAVApplication -ServerInstance BC200

Set-NAVApplication -ServerInstance BC200 -ApplicationVersion 20.2.41144.41423 -Force

 

Sync-NAVTenant -ServerInstance BC200 -Mode Sync -Tenant Default

 

Restart-NAVServerInstance -ServerInstance BC200

 

 


 

Start-NAVDataUpgrade -ServerInstance BC200 -FunctionExecutionMode Serial -Tenant Default

 

Get-NAVDataUpgrade -ServerInstance BC200

 





















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

 

Set-NavServerConfiguration -ServerInstance BC200 -KeyName "EnableTaskScheduler" -KeyValue true

 Restart-NAVServerInstance -ServerInstance BC200

Done....

You have migrated BC 14 to BC 20 Successfully.

Thank you for reading....

Keep Sharing...Keep Growing....