Last post May 05, 2021 07:57 AM by PatriceSc
Apr 29, 2021 04:58 AM|wmec|LINK
I've set up Access on server. Why is it still having issue below?
[InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.]
Apr 29, 2021 07:08 AM|PatriceSc|LINK
You have a 32 bit and a 64 bit version and you have to install the one that is matching your app (more likely the other one).
If in doubt you can show
https://docs.microsoft.com/en-us/dotnet/api/system.environment.is64bitprocess?view=net-5.0 from your app on the target machine to make 100% sure if it runs as a 32 bit or a 64 bit app.
Apr 29, 2021 04:54 PM|oned_gk|LINK
Enable 32bit option in app pool
Apr 30, 2021 01:49 AM|yij sun|LINK
For version 12.0 you need to install MDAC 2010 from
This has to be done on the server where you publish your application.
You need to install the x86 version if the target machine is 32 bit or the x64 version if the target machine is 64 bit and your application is built with configuration Any CPU.
If you don't know what's version,you could do this:
1.Click Start > Settings > System > click About from the bottom of the left-hand menu.
2.You'll now see Edition, Version, and OS Build information.
Apr 30, 2021 11:28 PM|wmec|LINK
Which option do you mean below?
Server is Win 2016, and which option within "Start > Settings > System", to adjust?
May 02, 2021 11:46 AM|PatriceSc|LINK
Nope. Starting from the Windows Start menu, it should show OS details. Windows 2016 is a 64 bit only OS and by default your app should run as a 64 bit app.. If in doubt System.Environment.Is64BitProcess shows if the app process runs in 64 bit or 32 bit mode
- if true you need to install AccessDatabaseEngine_X64.exe
- if false you need to install AccessDatabaseEngine.exe
More likely you installed the 32 bit version or you installed the 64 bit version but for some reason your app currently runs in 32 bit mode. Your app and the DLL it uses should match (ie both should be 32 bit or both should be 64 bit).
May 02, 2021 02:10 PM|wmec|LINK
Where to locate variable System.Environment.Is64BitProcess?
May 02, 2021 02:30 PM|PatriceSc|LINK
Seems you are using Web Forms so I meant just use something such as :
<asp:Label runat="server" ID="myLabel"/> so that your app can show this value. Tjhen you'll be 100% sure if yoiur app runs in 64 bit or 32 bit mode
Or you installed which exe version? More likely you just have to onstall the other one..
May 02, 2021 04:45 PM|oned_gk|LINK
Go to Advanced Setting
The screenshoot is basic setting or double click, see right side for advanced setting
Which option do you mean below?
May 05, 2021 03:24 AM|wmec|LINK
Which option should be selected (or adjusted) below?
May 05, 2021 07:57 AM|PatriceSc|LINK
to enable 32 bit.
I would do this the other way roound ie I would install what I need depending on what I want rather than to change settings dependng on what is currently installled espectially if the 32 bit version was not installed on purpose.
Else for ASP.NET .4.x, it should be "v4.0" and "Integrated". Note also that of the same app ppol is used for multiple apps it will apply to all applications using this application pool.