Como-se-puede-actualizar-tu-solucion-Business-Central

¿Cómo se puede actualizar tu solución Business Central?

Emilio CarbonellAitana Leave a Comment

Hoy en día es vital tener un software actualizado y que cuente con soporte, tanto por temas de funcionalidad y optimización como por seguridad.

De hecho, Microsoft está dejando de dar soporte oficial a Navision, lo que implica no recibir actualizaciones y parches de mejora y seguridad. Esto puede generar una serie de vulnerabilidades, así como limitar nuestro crecimiento tecnológico. Por todo esto, cada vez es más recomendable migrar a Dynamics 365 Business Central.

En el nuevo ERP de Microsoft es mucho más sencillo realizar las actualizaciones. Ahora los desarrollos se programan mediante extensiones, por lo que la base (“core”) del ERP no se modifica (ya que se realizan en una nueva capa).

SaaS vs. On Premise

Son diversas las diferencias cuando buscamos realizar actualizaciones en Business Central si es SaaS o es On Premise.

Por un lado, si contamos con un licenciamiento en SaaS (en la nube), las actualizaciones se realizan de forma automática. De hecho, SaaS nos permite tener el ERP siempre en sus últimas versiones. Lo único que tendremos que hacer es cambiar la programación de fecha/hora que tengamos para la próxima actualización. Esto se realiza desde el Centro de Administración del Cliente (Admin Center). La actualización en la nube puede tardar varias horas, por eso recomendamos fijarla en el horario fuera de la jornada comercial.

Por otro lado, para realizar las actualizaciones en On Premise, hay que seguir una serie de pasos que vamos a presentar a continuación. Como un pequeño resumen a lo que explicaremos, el proceso de actualizar con On Premise es: instalar nueva versión, desinstalar extensiones en versión actual, convertir Base de Datos, publicar nueva base+system+application, recompilar las extensiones que teníamos y sincronizar tenant.

Actualización paso a paso de Business Central On Premise

Vamos a verlo de forma más detallada. En este ejemplo, pasamos de la versión 17 a 18. Para explicar este proceso, nos hemos basado en el siguiente artículo de Microsoft: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-unmodified-application-to-v18

Por motivos de seguridad, lo primero que realizamos un backup de la Base de Datos y trabajamos sobre este backup. A esta BD le hemos puesto de nombre 180.

Paramos la instancia actual (en este ejemplo tenemos 2 instancias):

1-instancia-actual

Entramos en una instancia y le ponemos la BD que acabamos de copiar:

2-instancia-BD-business-central

Vamos a trabajar sobre la instancia BC170PRE. Arrancamos la instancia y entramos en Business Central Administration Shell de la versión actual (en este ejemplo la 17):

3-instancia-business-central-v17

Quitamos todas las extensiones:

Get-NAVAppInfo -ServerInstance BC170PRE| % { Uninstall-NAVApp -ServerInstance BC170PRE -Name $_.Name -Version $_.Version -Force}

4-quitar-todas-extensiones

Quitamos los símbolos:

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

5-quitar-simbolos

Paramos la instancia: Stop-NAVServerInstance -ServerInstance BC170PRE

6-parar-instancia

Con la última acción, hemos terminado con Business Central Administration Shell en la v17. Ahora lo abrimos en la nueva versión (v18):

7-abrir-business-central-adm-shell-v18

Convertimos la BD:

Invoke-NAVApplicationDatabaseConversion -DatabaseServer ERPSQL -DatabaseName «180»

8-convertir-base-de-datos

Le ponemos a la instancia de la v18 esta nueva BD, cambiamos un par de parámetros de la instancia y la reiniciamos:

Set-NAVServerConfiguration -ServerInstance BC180 -KeyName DatabaseName -KeyValue «180»

Set-NavServerConfiguration -ServerInstance BC180 -KeyName «EnableTaskScheduler» -KeyValue false

Set-NavServerConfiguration -ServerInstance BC180 -KeyName «UsePermissionSetsFromExtensions» -KeyValue false

Restart-NAVServerInstance -ServerInstance bc180

9-instancia-v18-a-nueva-BD

Ponemos licencia y reiniciamos para aplicar:

Import-NAVServerLicense -ServerInstance BC180 -LicenseFile C:\temp\bc18.flf

Restart-NAVServerInstance -ServerInstance BC180

10-licencia-y-reinicio

Publicamos System, Base y Application de la nueva versión. La ruta donde están es donde hemos descargado el instalable de la v18:

Publish-NAVApp -ServerInstance BC180 -Path «C:\bc18\Dynamics.365.BC.23795.ES.DVD\Applications\System Application\Source\Microsoft_System Application.app»

Publish-NAVApp -ServerInstance BC180 -Path «C:\bc18\Dynamics.365.BC.23795.ES.DVD\Applications\BaseApp\Source\Microsoft_Base Application.app»

Publish-NAVApp -ServerInstance BC180 -Path «C:\bc18\Dynamics.365.BC.23795.ES.DVD\Applications\Application\Source\Microsoft_Application.app»

11-publicar-system-base-application-nueva-version

Recompilamos nuestras extensiones:

Get-NAVAppInfo -ServerInstance BC180 | Where-Object {$_.Publisher -notlike ‘Microsoft’} | Repair-NAVApp

12-recopilar-nuestras-extensiones

Reiniciamos instancia:

Restart-NAVServerInstance -ServerInstance BC180

Sincronizamos tenant: Sync-NAVTenant -ServerInstance BC180 -Mode Sync

13-reiniciar-instancia

Sincronizamos System, Base y Application:

Sync-NAVApp -ServerInstance BC180 -Name «System Application» -Version 18.0.23013.23795

Sync-NAVApp -ServerInstance BC180 -Name «Base Application» -Version 18.0.23013.23795

Sync-NAVApp -ServerInstance BC180 -Name «Application» -Version 18.0.23013.23795

14-sincronizar-system-base-application

Instalamos System, y Base:

Start-NAVAppDataUpgrade -ServerInstance BC180 -Name «System Application» -Version 18.0.23013.23795

Start-NAVAppDataUpgrade -ServerInstance BC180 -Name «Base Application» -Version 18.0.23013.23795

15-instalar-system-base

Cambiamos versión del Application:

Set-NAVApplication -ServerInstance BC180 -ApplicationVersion 18.0.23013.23795 -Force

Sync-NAVTenant -ServerInstance BC180 -Mode Sync

Start-NAVDataUpgrade -ServerInstance BC180 -FunctionExecutionMode Serial

16-cambiar-version-application

Entramos en Business Central y vemos el estado de las extensiones. Si estuviera instalada el application de la versión anterior, la desinstalamos, y si la versión actual está por instalar, la instalamos también:

17-revisar-estado-extensiones

Ahora instalamos nuestras extensiones, bien desde Business Central o desde PowerShell. Con Powershell, ejemplo:

Install-NAVApp -ServerInstance BC180 -Name «Designer_1a807966-3e4c-45c7-9c3e-f6cf8ae3d5f6» -Version 1.0.0.0

18-instalar-nuestras-extensiones

Si quisiéramos instalar extensiones de Microsoft, éstas vienen en una carpeta del instalable. En este ejemplo instalamos las nuevas extensiones relacionadas con el email. Primero las publicamos y luego las instalamos:

Publish-NAVApp -ServerInstance BC180 -Path «C:\bc18\Dynamics.365.BC.23795.ES.DVD\Applications\Email – Outlook REST API\Source\Microsoft_Email – Outlook REST API.app»

Publish-NAVApp -ServerInstance BC180 -Path «C:\bc18\Dynamics.365.BC.23795.ES.DVD\Applications\Email – Current User Connector\Source\Microsoft_Email – Current User Connector.app»

Publish-NAVApp -ServerInstance BC180 -Path «C:\bc18\Dynamics.365.BC.23795.ES.DVD\Applications\Email – Microsoft 365 Connector\Source\Microsoft_Email – Microsoft 365 Connector.app»

19-codigos-publicar-extensiones
20-publicar-extensiones-bc
21-instalacion-de-extension
22-revisar-instalacion-de-extension
23-todo-instalado-extensiones

Por último, habilitamos el planificador de tareas si estaba activo, ya que al principio lo desactivamos:

Set-NavServerConfiguration -ServerInstance BC180 -KeyName «EnableTaskScheduler» -KeyValue true

24-habilitar-planificador-tareas

Realizar todos estos pasos no nos llevará más de 1 día, y gracias a las extensiones seguiremos teniendo todos nuestros desarrollos.

Tu negocio se verá beneficiado al mantenerte siempre actualizado en las últimas versiones. Desde Aitana, nuestros expertos están dispuestos a asesorarte y ayudarte durante todo el proceso. ¡Rellena el formulario y te contactaremos!

Emilio-Carbonell-Aitana

Emilio Carbonell
Business Applications

Deja un comentario