I'm installing the EXM 3.5 initial release in a recent upgraded Sitecore 8.2 update 5 (from update 2), and I am mentioning that because I had to set Xdb.Enabled and Xdb.Tracking.Enabled to false in order to achieve the upgrade, despite the fact I have not configured any MongoDB yet.
Once I get the Sitecore 8.2 Update 5, I started the process to install the EXM 3.5 and completely forgot to back both Xdb parameters to true, which result in the following error
Exception: System.InvalidOperationException
Message: Cannot use DataAdapterProvider as xDB is disabled.
Source: Sitecore.Analytics.DataAccess
at Sitecore.Analytics.DataAccess.DataAdapterProvider..ctor(Boolean checkXdb)
at Sitecore.Analytics.Data.DataAccess.MongoDb.MongoDbDataAdapterProvider..ctor(Func2 driverFactory)
Well, looks like xDB is disabled and changed both Xdb parameters to true, then Sitecore complained about not finding ConnectionStrings related to Mongo because they were commented - as I have not configured MongoDB yet.
That being said, I have uncommented and left as mongodb://localhost/analytics, and so on for the rest of MongoDB
but keep in mind that I DO NOT have MongoDB on this server, then I tried to install EXM again but it is being an hour already since I started and it keeps spinning the Installing but never finishes
Sitecore logs show as follow
148 13:00:20 ERROR Exception when executing agent aggregation/automationAggregator
Exception: System.TimeoutException
Message: A timeout occured after 30000ms selecting a server using CompositeServerSelector{ Selectors = WritableServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }. Client view of cluster state is { ClusterId : "1", ConnectionMode : "Automatic", Type : "Unknown", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "Unspecified/localhost:27017" }", EndPoint: "Unspecified/localhost:27017", State: "Disconnected", Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:27017
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory
1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action
1 endAction, Task1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at MongoDB.Driver.Core.Connections.TcpStreamFactory.<ConnectAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at MongoDB.Driver.Core.Connections.TcpStreamFactory.<CreateStreamAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at MongoDB.Driver.Core.Connections.BinaryConnection.<OpenHelperAsync>d__48.MoveNext()
--- End of inner exception stack trace