A while back, my company received Microsoft's new Customer Relationship Management (CRM) beta. We were excited to test the software, so we quickly assembled a demo lab that included Microsoft SQL Server 2000, Microsoft Exchange 2000 Server, and a forest in native mode. We were up and running the program through the Web client in no time.
When we decided to deploy CRM in our production network, we meticulously followed Microsoft's recommendations. Our production domain is also in native mode and uses Exchange 2000. Everything worked until we tried to install the Exchange Connector. The installation wizard couldn't find the CRM server. We tested the DNS connectivity, added an LMHOST file, and created a system Data Source Name (DSN) for the database. The Exchange Connector still didn't work. The installation wizard prompts you to enter the CRM server name as server name (http://servername). But no matter what we entered, the connector installation wouldn't proceed. We received the error message One or more of your CRM servers are not available. I checked Microsoft's CRM beta newsgroup and noticed that other users were having the same problem.
In case of Active Directory (AD) errors, we used Ntdsutil to perform a metadata cleanup. We didn't find any orphaned objects that could have been causing problems. I was ready to rebuild the CRM server but decided to take a final look first.
When I checked the Message Queue service's dependencies I noticed that the remote procedure call (RPC) service was a dependency. I then checked all the Message Queue service's dependencies and the RPC service's dependencies. For security, I often shut down the Remote Registry service. I remembered Mark Minasi mentioning at the TechMentor Conference "NT Security and Insecurity" that shutting down the Remote Registry service affects the RPC service. However, the application and system logs for the RPC service didn't contain any errors. Still, I started the Remote Registry service and again tried to install the Exchange Connector.
Starting the Remote Registry service solved the problem, and 3 minutes later we were using the new CRM Web client on our production network. I finally realized that the Exchange Connector installation apparently attempts to write to the CRM server's registry. The CRM documentation didn't mention this possible problem, which will likely also exist in the CRM production version because of the dependencies and underlying code.