Recently I ran into an odd scenario. Net new SQL servers were built in Dev, QA and Prod. I had to create Linked Servers to SSAS. All of these were on SQL 2012 enterprise Sp2 + Kb2969896. All was great till I was unable to create linked server for SSAS provider MSOLAP.
The 32-bit OLE DB provider “MSOLAP” cannot be loaded in-process on a 64-bit SQL Server. (SQL Server, Error: 7438)MSOLAP Error
I had forgotten the fact that SQL server works in mysterious ways when it wants to!
The error was self explanatory. SQL was trying to use 32-bit drivers instead of 64-bit. Please note that this is a 3 phase job:
  1. Unregister DLLs
  2. Register DLLs in the correct order
  3. Restart SQL Services
Locate the file location for msolap110.dll and then run the following on the command prompt:

Unregister DLLs

Register DLLs in the correct order

Once the services were up, I tested the linked server and it was successful. If you are doing in on a cluster ensure you start with the passive node(s).