Dynamics Outlook Client Version: 8.2.0023.0016
Server OS: Windows Server 2016 Running RDS\ Citrix Xenapp (Multi-Session OS)
Office Version: Office 2016 - Cached Outlook Profiles
All patched up to the latest versions through Windows updates.
Hi All,
I'm having a right mare with a deployment of the Dynamics Outlook addin for a client. It's a hosted system so I have very little access to the server side of the environment although I can request details if necessary.
The Dynamics Client install appears to run prefectly. I launch either Outlook and wait for the add in and type the URL or launch the configuration wizard and type the URL. Enter my Auth details (all hooked up via ADFS) and it starts off really promising, I get the green progress bar pop up then it appears to just sit there. With about 35 minutes of patients in total it does eventually complete. I've run wireshark, fiddler, proc mon and process explorer trying to get to the bottom of it.
In terms of the actual logs, the Verbose trace and the Crm82ClientConfig logs just stop for circa 30 minutes as though it's waiting for some sort of timeout.
NOTE THE TIME JUMPS IN TIME
Crm82ClientConfig - 2 Examples
20:41:24|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.OutlookConfigurator.InitializeMapiStoreForFirstTime
21:10:03|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.OutlookCRMDatastoreInstaller.InstallCrmDatastore
22:55:00|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.OutlookConfigurator.InitializeMapiStoreForFirstTime
23:20:15|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.OutlookCRMDatastoreInstaller.InstallCrmDatastore
VERBOSE Output for 22:55 - 23:20 example
[2021-01-29 22:55:59.838] Process:OUTLOOK |Organization:00000000-0000-0000-0000-000000000000 |Thread: 4(MSCRM:-RegistryWatcher.RegTrackerThreadProc) |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose |ReqId: 00000000-0000-0000-0000-000000000000 |ActivityId: 29c3b873-99e8-44c4-9147-b5bf1345106f | RegistryKeyChangedEventHandler.Invoke ilOffset = 0xFFFFFFFF
at RegistryKeyChangedEventHandler.Invoke(Object sender, EventArgs e) ilOffset = 0xFFFFFFFF
at RegistryWatcher.RegTrackerThreadProc() ilOffset = 0x40
at ThreadHelper.ThreadStart_Context(Object state) ilOffset = 0x3B
at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) ilOffset = 0x79
at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) ilOffset = 0x9
at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) ilOffset = 0x34
at ThreadHelper.ThreadStart() ilOffset = 0x2A
>Received Registry Change Notification. Current Status = 0 New Status = 0
[2021-01-29 23:19:12.998] Process:OUTLOOK |Organization:908c4b7a-0f50-eb11-8126-005056b21276 |Thread: 15 |Category: Platform.Metadata |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose |ReqId: 00000000-0000-0000-0000-000000000000 |ActivityId: 29893f9b-eeb0-4d69-b359-f50348935bf4 | MetadataCache.Flush ilOffset = 0x152
at MetadataCache.Flush(IOrganizationContext context, Boolean fireNotification, Boolean forceFlushStaticCache) ilOffset = 0x152
at MetadataCacheManager.IncrementVersion(Object infoObj) ilOffset = 0x11A
at MetadataCacheManager.SyncComplete(Guid orgId, ISync sync, Boolean forceSyncIncrement) ilOffset = 0x38
at <>c__DisplayClass24.<DoSyncInternal>b__22() ilOffset = 0x0
at PerformanceDetails.AddDetails(String name, Action action, Boolean shouldRecord) ilOffset = 0x65
at DeferredDynamicMetadataCache.ExecuteWhenReady(String name, Action action, Boolean handleSilently, Boolean recordPerformance, Boolean forceAddToDeferredQueue) ilOffset = 0xBD
at ClientDynamicMetadataCache.DoSyncInternal(IOrganizationContext context) ilOffset = 0x13D
at ClientDynamicMetadataCache.DoSync(IOrganizationContext context, Boolean forceSync) ilOffset = 0x0
at <>c__DisplayClass1b.<.ctor>b__18() ilOffset = 0xC5
at PerformanceDetails.AddDetails(String name, Action action, Boolean shouldRecord) ilOffset = 0x65
at DeferredMetadataCacheManager.ExecuteWaitUntilReady(String name, Guid organizationId, Action action, Boolean recordPerformance) ilOffset = 0x26
at ClientDynamicMetadataCache..ctor(IOrganizationContext context, Boolean reloadAsynchronously) ilOffset = 0xCF
at ClientDynamicMetadataCache.LoadCache(IOrganizationContext context, Boolean unusedHere) ilOffset = 0x7
at MetadataCache.GetInstance(IOrganizationContext context) ilOffset = 0x9A
at OutlookConfigurator.InitializeMapiStoreForFirstTime() ilOffset = 0x7B
at OutlookConfigurator.Configure(IProgressEventHandler progressEventHandler) ilOffset = 0x2D
at ConfigEngine.Configure(Object stateInfo) ilOffset = 0x46
at QueueUserWorkItemCallback.WaitCallback_Context(Object state) ilOffset = 0x1A
at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) ilOffset = 0x79
at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) ilOffset = 0x9
at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() ilOffset = 0x35
at ThreadPoolWorkQueue.Dispatch() ilOffset = 0xA4
at _ThreadPoolWaitCallback.PerformWaitCallback() ilOffset = 0x0
>Client-flushing metadata cache for organization {908C4B7A-0F50-EB11-8126-005056B21276}
One odd thing is that if I build a completely new windows 2016 server with Outlook 2016 and the Dynamics add it, it'll add the organisation in 4-5 Minutes without kicking back for a 30 minute breather.
I've tried the usual, uninstalls, re-installs, and repairs of Office and the Addin, clearing the LocalAppData cache, local user reg keys deletion for MSCRMClient.
This is happening on the "Golden Image" template for the whole org so it's a bits of pain to start from scratch with the build. Any ideas would be really appreciated.