License Administrator fails to open - .NET Error

I have had to migrate our Sage 300 v22 installation to a Windows 2019 server. The license administrator will not run it fails with the following errors in event log. Any ideas?

Application: LicenseAdministration.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Xml.XmlException
at System.Xml.XmlTextReaderImpl.Throw(System.Exception)
at System.Xml.XmlTextReaderImpl.Throw(System.String, System.String[])
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlReader.MoveToContent()
at System.Xml.Linq.XElement.Load(System.Xml.XmlReader, System.Xml.Linq.LoadOptions)
at System.Xml.Linq.XElement.Parse(System.String, System.Xml.Linq.LoadOptions)
at Sage.CRE300.LicenseAdmin.Core.Utilities.OfflineLicenseFileUtility.Validate(Sage.CRE.Licensing.Interfaces.RegistrationInfo, Sage.CRE.Licensing.Interfaces.Product, System.Collections.Generic.IEnumerable`1<Sage.CRE.Licensing.Interfaces.LicenseInfo> ByRef, System.DateTime ByRef, System.DateTime ByRef)
at Sage.CRE300.LicenseAdmin.Core.Services.LicenseAdminService.DoOffline()
at Sage.CRE300.LicenseAdmin.Core.Services.LicenseAdminService.get_Offline()
at Sage.CRE300.LicenseAdmin.Core.Services.LicenseAdminService.get_LastUpdate()
at Sage.CRE300.LicenseAdmin.Core.Services.LicenseAdminService.get_LicenseInfo()
at Sage.CRE300.LicenseAdmin.ViewModels.ViewModels.MainWindowViewModel.RefreshLicenseInfoRows()
at Sage.CRE300.LicenseAdmin.ViewModels.ViewModels.MainWindowViewModel+<AutoUpdateMissingRegistrationAsync>d__34.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at Sage.CRE300.LicenseAdmin.Windows.MainWindow+<OnWindowLoaded>d__31.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at Sage.CRE300.LicenseAdmin.LicensingApplication.Main()

Faulting application name: LicenseAdministration.exe, version: 22.1.1.39, time stamp: 0x6268d0cf
Faulting module name: KERNELBASE.dll, version: 10.0.20348.143, time stamp: 0xbec52ffd
Exception code: 0xe0434352
Fault offset: 0x00136ca2
Faulting process id: 0x1ed8
Faulting application start time: 0x01da7c24a9dca7c0
Faulting application path: C:\Program Files (x86)\Timberline Office\Shared\LicenseAdministration.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: 27f48aae-3ee5-45ff-8c6a-b237fcb6747a
Faulting package full name:
Faulting package-relative application ID:

Parents Reply Children
No Data