FAQ Item: Solution fails on 64 bit system with error “Microsoft.Jet.OLEDB.4.0 provider is not registered on the local machine” and “Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine”.
When we uses the ACE or Jet OLEDB provider to access Microsoft Office based data files, like Excel and Access, we would encounter the error “provider is not
registered on the local machine” on 64 bit system, even when they are actually registered correctly.
The problem is that we compile our solution as “Any CPU”. By default the solution on 64 bit system would run as x64 process, but both of Jet and ACE OLEDB
provider only have x86 supported versions. An x64 process cannot load x86 component. Then, the error happens.
The solution is configuring the compile option to be “x86” which would force the application compiled as x86 executable file and run as x86 process.