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):
Entramos en una instancia y le ponemos la BD que acabamos de copiar:
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):
Quitamos todas las extensiones:
Get-NAVAppInfo -ServerInstance BC170PRE| % { Uninstall-NAVApp -ServerInstance BC170PRE -Name $_.Name -Version $_.Version -Force}
Quitamos los símbolos:
Get-NAVAppInfo -ServerInstance BC170PRE -SymbolsOnly | % { Unpublish-NAVApp -ServerInstance BC170PRE -Name $_.Name -Version $_.Version }
Paramos la instancia: Stop-NAVServerInstance -ServerInstance BC170PRE
Con la última acción, hemos terminado con Business Central Administration Shell en la v17. Ahora lo abrimos en la nueva versión (v18):
Convertimos la BD:
Invoke-NAVApplicationDatabaseConversion -DatabaseServer ERPSQL -DatabaseName «180»
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
Ponemos licencia y reiniciamos para aplicar:
Import-NAVServerLicense -ServerInstance BC180 -LicenseFile C:\temp\bc18.flf
Restart-NAVServerInstance -ServerInstance BC180
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»
Recompilamos nuestras extensiones:
Get-NAVAppInfo -ServerInstance BC180 | Where-Object {$_.Publisher -notlike ‘Microsoft’} | Repair-NAVApp
Reiniciamos instancia:
Restart-NAVServerInstance -ServerInstance BC180
Sincronizamos tenant: Sync-NAVTenant -ServerInstance BC180 -Mode Sync
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
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
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
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:
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
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»
Por último, habilitamos el planificador de tareas si estaba activo, ya que al principio lo desactivamos:
Set-NavServerConfiguration -ServerInstance BC180 -KeyName «EnableTaskScheduler» -KeyValue true
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
Business Applications