web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Customer experience | Sales, Customer Insights,...
Suggested Answer

Dynamic crm error FCB 'EnableRegionalDisco' is disabled

(1) ShareShare
ReportReport
Posted on by 15

Hi all,

I am getting the following error when connecting to dynamic CRM by C# code.

FCB 'EnableRegionalDisco' is disabled

I have the same question (0)
  • meelamri Profile Picture
    13,218 User Group Leader on at

    Please share your code, thank you!

  • Akram Dynamic CRM Profile Picture
    15 on at

    Thanks @Mehdi for reply

          public virtual Configuration GetServerConfiguration()

           {

               Boolean ssl;

               Boolean addConfig;

               int configNumber;

               // Read the configuration from the disk, if it exists, at C:\Users\<username>\AppData\Roaming\CrmServer\Credentials.xml.

               Boolean isConfigExist = ReadConfigurations();

               // Check if server configuration settings are already available on the disk.

               if (isConfigExist)

               {

                   // List of server configurations that are available from earlier saved settings.

                   Console.Write("\n(0) Add New Server Configuration (Maximum number up to 9)\t");

                   for (int n = 0; n < configurations.Count; n++)

                   {

                       String user;

                       switch (configurations[n].EndpointType)

                       {

                           case AuthenticationProviderType.ActiveDirectory:

                               if (configurations[n].Credentials != null)

                                   user = configurations[n].Credentials.Windows.ClientCredential.Domain + "\\"

                                       + configurations[n].Credentials.Windows.ClientCredential.UserName;

                               else

                                   user = "default";

                               break;

                           default:

                               if (configurations[n].Credentials != null)

                                   user = configurations[n].Credentials.UserName.UserName;

                               else

                                   user = "default";

                               break;

                       }

                       Console.Write("\n({0}) Server: {1},  Org: {2},  User: {3}\t",

                           n + 1, configurations[n].ServerAddress, configurations[n].OrganizationName, user);

                   }

                   Console.WriteLine();

                   Console.Write("\nSpecify the saved server configuration number (1-{0}) [{0}] : ", configurations.Count);

                   String input = Console.ReadLine();

                   Console.WriteLine();

                   if (input == String.Empty) input = configurations.Count.ToString();

                   if (!Int32.TryParse(input, out configNumber)) configNumber = -1;

                   if (configNumber == 0)

                   {

                       addConfig = true;

                   }

                   else if (configNumber > 0 && configNumber <= configurations.Count)

                   {

                       // Return the organization Uri.

                       config = configurations[configNumber - 1];

                       // Reorder the configuration list and save it to file to save the recent configuration as a latest one.

                       if (configNumber != configurations.Count)

                       {

                           Configuration temp = configurations[configurations.Count - 1];

                           configurations[configurations.Count - 1] = configurations[configNumber - 1];

                           configurations[configNumber - 1] = temp;                        

                       }

                       addConfig = false;

                   }

                   else

                       throw new InvalidOperationException("The specified server configuration does not exist.");

               }

               else

                   addConfig = true;

               if (addConfig)

               {

                   // Get the server address. If no value is entered, default to Microsoft Dynamics

                   // CRM Online in the North American data center.

                   config.ServerAddress = GetServerAddress(out ssl);

                   if (String.IsNullOrWhiteSpace(config.ServerAddress))

                       config.ServerAddress = "crm.dynamics.com";

                   // One of the Microsoft Dynamics CRM Online data centers.

                   if (config.ServerAddress.EndsWith(".dynamics.com", StringComparison.InvariantCultureIgnoreCase))

                   {

                       // Check if the organization is provisioned in Microsoft Office 365.

                       if (GetOrgType(config.ServerAddress))

                       {

                       config.DiscoveryUri =

                           new Uri(String.Format("disco.{0}/.../Discovery.svc", config.ServerAddress));

                       }

                       else

                       {

                       config.DiscoveryUri =

                           new Uri(String.Format("dev.{0}/.../Discovery.svc", config.ServerAddress));

                       // Get or set the device credentials. This is required for Microsoft account authentication.

                       config.DeviceCredentials = GetDeviceCredentials();

                       }

                   }

                   // Check if the server uses Secure Socket Layer (https).

                   else if (ssl)

                       config.DiscoveryUri =

                           new Uri(String.Format("https://{0}/XRMServices/2011/Discovery.svc", config.ServerAddress));

                   else

                       config.DiscoveryUri =

                           new Uri(String.Format("http://{0}/XRMServices/2011/Discovery.svc", config.ServerAddress));

                   // Get the target organization.

                   config.OrganizationUri = GetOrganizationAddress();

                   configurations.Add(config);

                   int length = configurations.Count;

                   int i = length - 2;

                   // Check if a new configuration already exists.

                   // If found, reorder list to show latest in use.                                  

                   while (i > 0)

                   {

                       if (configurations[configurations.Count - 1].Equals(configurations[i]))

                       {  

                           configurations.RemoveAt(i);

                       }

                       i--;

                   }

                   // Set max configurations to 9 otherwise overwrite existing one.

                   if (configurations.Count > 9)

                   {

                       configurations.RemoveAt(0);

                   }                

               }

               else

               {

                   // Get the existing user's logon credentials.

                   config.Credentials = GetUserLogonCredentials(config);

               }          

               SaveConfigurations();

               return config;

           }

  • Suggested answer
    meelamri Profile Picture
    13,218 User Group Leader on at

    Hi,

    I believe this is related to the depreciation of the regional discovery service and its replacement by the global discovery service:

    powerapps.microsoft.com/.../

    docs.microsoft.com/.../discovery-orgsdk-to-webapi

    docs.microsoft.com/.../discover-url-organization-web-api

  • Akram Dynamic CRM Profile Picture
    15 on at

    Thanks for reply

    And I used globaldisco.crm.dynamics.com/.../Instances(UniqueName='myorg')  but not working.

  • Suggested answer
    Guido Preite Profile Picture
    54,086 Moderator on at

    you can just use four lines to connect to Dynamics:

    string connectionString = "AuthType='Office365'; Url='mywonderfulorg.crm.dynamics.com';

    Username='username@mywonderfulorg.onmicrosoft.com'; Password='MyWonderfulPassword';";

    CrmServiceClient service = new CrmServiceClient(connectionString);

    WhoAmIResponse whoAmIResponse = (WhoAmIResponse)service.Execute(new WhoAmIRequest());

    Console.WriteLine($"Connected with UserId: {whoAmIResponse.UserId}");

    using this nuget package Microsoft.CrmSdk.XrmTooling.CoreAssembly

  • MMK Profile Picture
    745 on at

    Hi Akram

    did you got any solution for this

  • MMK Profile Picture
    745 on at

    Hi Akram

    did you got any solution for this

  • RobH79 Profile Picture
    10 on at

    We are getting a similar thing, and if we try to connect to the non regional (global) service with REST API we get the same error.

    FCB 'EnableRegionalDisco' is disabled

    We have opened a ticket with Microsoft and will update when we know more.

  • Community Member Profile Picture
    on at

    Hello,

    Did you receive any updates from MS on how to resolve the issue?

  • RobH79 Profile Picture
    10 on at

    Yes, basically they have said the option to select your organizations have been deprecated.  We now have had to get it working by using visual basic development to call the orgs.  The developers have tested this and are now changing all the Sql jobs to use this. 

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Meet the Microsoft Dynamics 365 Contact Center Champions

We are thrilled to have these Champions in our Community!

Congratulations to the April Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
Muhammad Shahzad Shafique Profile Picture

Muhammad Shahzad Sh... 71 Most Valuable Professional

#2
Abhilash Warrier Profile Picture

Abhilash Warrier 66 Super User 2026 Season 1

#3
ManoVerse Profile Picture

ManoVerse 51 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans