Hi,

I am using Dynamics 365 On premise 8.2.

I installed and configured Dynamics 365 for outlook successfully using the package in the following link:  go.microsoft.com/.../

After going offline and only for the contact entity, the custom ribbon buttons are missing, after showing greyed for a while. This happens only if the sitemap is managed. It means, If I import an unmanaged solution that contains the sitemap to the organization, the custom ribbon buttons are showing correctly.

I enabled tracing of the outlook client and this is the error messaged traced:

>Crm Exception: Message: IsReadReplicaFeatureEnabled, ErrorCode: -2147220967, InnerException: System.NotImplementedException: IsReadReplicaFeatureEnabled
[2019-11-25 15:35:29.386] Process:Microsoft.Crm.Application.Hoster |Organization:2c772041-5dc1-e811-80e3-005056a876aa |Thread:   49 |Category: Platform |User: 44afb937-87e2-e811-80e6-005056a876aa |Level: Error |ReqId: 00000000-0000-0000-0000-000000000000 |ActivityId: 8dcf7417-58d7-494b-8a1b-cd9f9805966d | QueryHelper.IsReadReplicaFeatureEnabled  ilOffset = 0x1C
    at QueryHelper.IsReadReplicaFeatureEnabled(Guid organizationId)  ilOffset = 0x1C
    at QueryHelper.IsQueryValidForReadReplica(Guid organizationId, String sqlQuery)  ilOffset = 0x16
    at BusinessProcessObject.DoRetrieveMultiple(BusinessEntityCollection entities, EntityExpression entityExp, DatabaseQueryTarget queryTarget, PagingHelper pagingHelper, ExecutionContext context, Boolean needToSetRowVersion, Boolean isVersionNumberRequestedInRetrieve)  ilOffset = 0x69
    at BusinessProcessObject.DoRetrieveMultiple(BusinessEntityCollection entities, EntityExpression entityExp, DatabaseQueryTarget queryTarget, ExecutionContext context, Boolean needToSetRowVersion, Boolean isVersionNumberRequestedInRetrieve)  ilOffset = 0x72
    at BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, DatabaseQueryTarget queryTarget, ExecutionContext context)  ilOffset = 0x93
    at BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, ExecutionContext context)  ilOffset = 0xA
    at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x16
    at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0x6C
    at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x3F
    at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x43
    at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x0
    at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x64
    at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x93
    at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0xDE
    at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x35
    at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x218
    at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x22D
    at ExternalMessageDispatcher.Execute(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId)  ilOffset = 0x0
    at OrganizationSdkServiceInternal.ExecuteRequestRequestWithInstrumentation(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode, Object operation, UserType targetUserType)  ilOffset = 0x0
    at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, Guid targetCallerRegardingObjectId, UserType targetUserType, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x2E
    at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x4B
    at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x0
    at InprocessServiceProxy.ExecuteCore(OrganizationRequest request)  ilOffset = 0x34
    at PlatformCommand.XrmExecuteInternal()  ilOffset = 0xBC
    at RetrieveMultipleCommand.Execute()  ilOffset = 0x0
    at RibbonTabCommandMapWebServiceCacheLoader.LoadCacheData(RibbonTabCommandMapCacheKey key, IOrganizationContext context)  ilOffset = 0xBF
    at CrmMultiOrgCacheBase`2.CreateEntry(TKey key, IOrganizationContext context)  ilOffset = 0x1A
    at CrmMultiOrgCacheBase`2.LookupEntry(TKey key, IOrganizationContext context)  ilOffset = 0x0
    at RibbonDescription.AddCommandsForTab(String tabIdForFetch, String entityLogicalName, RibbonTabInformation tabInformation)  ilOffset = 0x15
    at RibbonDescription.AddCommandsForTab(RibbonTabInformation tabStruct)  ilOffset = 0x0
    at RibbonDescription.AddTabs()  ilOffset = 0x99
    at RibbonDescription..ctor(RibbonPageContext pageContext, IOrganizationContext context, Boolean excludeTabs, IMenuBuilderFactory menuBuilderFactory)  ilOffset = 0x7F
    at RibbonWebService.GetExplorerRibbons(String[] entityTypes, String[] oneOffTabs, Int32 languageCode)  ilOffset = 0xB7
    at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x16
    at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0x6C
    at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x3F
    at WebServiceHandler.Invoke()  ilOffset = 0xAE
    at WebServiceHandler.CoreProcessRequest()  ilOffset = 0x134
    at SyncSessionlessHandler.ProcessRequest(HttpContext context)  ilOffset = 0x39
    at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  ilOffset = 0x18D
    at HttpApplication.ExecuteStepImpl(IExecutionStep step)  ilOffset = 0x64
    at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)  ilOffset = 0x15
    at ApplicationStepManager.ResumeSteps(Exception error)  ilOffset = 0xF6
    at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)  ilOffset = 0x5C
    at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)  ilOffset = 0x15B
    at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)  ilOffset = 0x32
    at HttpRuntime.ProcessRequest(HttpWorkerRequest wr)  ilOffset = 0x39
    at Request.Process()  ilOffset = 0x243
    at Connection.ProcessOneRequest()  ilOffset = 0x2C
    at Host.OnSocketAccept(Object acceptedSocket)  ilOffset = 0x33
    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
>IsReadReplicaFeatureEnabled Failed


Thanks in advance !