Skip to main content

 none
microsoft.ace.oledb.12.0' provider is not registered on the local machine RRS feed

  • Question

  • Please direct me to the proper Forum, if this is not the right one for this question.

    I'm on Window 10 64bit Home.

    I am developping in VisualBasic under VS2017 Community.

    I'm running into the dreaded :

    microsoft.ace.oledb.12.0' provider is not registered on the local machine

    Error Message trying to install Access Database Engine 32bits

    Of course, I searched extensively (to no avail) before asking the question, here.

    I am running Office 365 32 bit version as you can see below. 

    My question is, "What version of Access Database Engine" should I be installing on my machine?

    I found the download link for the  Microsoft Access Database Engine 2016 Redistributable which contains both a 32bit and a 64bit version. 

    I keep reading that VisualStudio is 32 application and will not work with 64 bit "component", even though my application is set for x86?

    Best / Roger Breton

    Office 365 32 bit

    Tuesday, July 16, 2019 8:54 PM

Answers

  • I assure you that my Office installation is reported as 32 bits, as per the following screen capture:

    It is still possible that my Office installation is NOT 32 bit? But I have not been able to find otherwise.

    It turns out that the solution to my problem was to get hold of the following:

    AccessDatabaseEngine (Access 2007 Local Connectivity).exe

    which, at first, everywhere I could search on my hard drives, I could notr find.

    As soon as I ran this, I was able to connect successfully to the Access database.

    Yet, I must say, when I ran PowerShell to find the list of Sources, the Access OLEDB did not show up? As you can see below :

    Which is weird, since it was shown that trhe OLE DD Access should show up in the list, when correctly installed, as show here :

    The only thing I can say is that, the 2007 database driver showed up in my list of Apps:

    To summerzie, for those who are looking for help.

    I am running Windows 10 64 bit OS.
    To the best of my knowledge, Office installation is 32bit.
    VisualStudio Community 2017
    MS Access 365 as shown below:

    Everything is working so far. What can I say?

    I may run into hell the day I transfer my application over to my client's Win 10 PCs. 
    Hopefully not. 

    I'm still not clear why can't I simply install the 2016 Access DatabaseEngine x64?

    • Marked as answer by roger.breton Wednesday, July 17, 2019 3:16 PM
    Wednesday, July 17, 2019 3:16 PM

All replies

  • Hi,
    >>>You can get solution from [here](https://social.msdn.microsoft.com/Forums/en-US/c159dec1-1b83-45e3-8493-9d3a8fbec4c2/microsoft-access-database-engine-2016-redistributable-wont-install-due-to-64bit-component?forum=officegeneral).

    >>>The best way to access Access database is to install 64bit Access database engine on 64bit system. 
    If your office is 32bit, and 64bit system, you'd better install 32bit Access database engine without uninstall all 32bit office software, then you should set the Provider argument of the ConnectionString property to “Microsoft.ACE.OLEDB.12.0” and some other operations.
    And when you install it, read the 'Install Instructions' carefully on the download website.
    Besides, this [document](https://stackoverflow.com/questions/12270453/ms-access-db-engine-32-bit-with-office-64-bit/14982382#14982382) can give your some help.

    >>>Visual studio can access to 64bit accdb. 

    Best regards,

    Jeffrey

    Wednesday, July 17, 2019 8:01 AM
  • The error image indicates you have 64 bit Office components installed.

    And you said you have 32 bit Office. Then you somehow got both 32 bit and 64 bit Office components installed, probably through registry hacking.

    This is an unsupported state and you need to remove your Office components until you only have one bitness of Office components left. Since you gonna need Visual Studio support, I suggest you to remove your 64 bit Office components. 



    Visual C++ MVP

    Wednesday, July 17, 2019 12:57 PM
    Moderator
  • I assure you that my Office installation is reported as 32 bits, as per the following screen capture:

    It is still possible that my Office installation is NOT 32 bit? But I have not been able to find otherwise.

    It turns out that the solution to my problem was to get hold of the following:

    AccessDatabaseEngine (Access 2007 Local Connectivity).exe

    which, at first, everywhere I could search on my hard drives, I could notr find.

    As soon as I ran this, I was able to connect successfully to the Access database.

    Yet, I must say, when I ran PowerShell to find the list of Sources, the Access OLEDB did not show up? As you can see below :

    Which is weird, since it was shown that trhe OLE DD Access should show up in the list, when correctly installed, as show here :

    The only thing I can say is that, the 2007 database driver showed up in my list of Apps:

    To summerzie, for those who are looking for help.

    I am running Windows 10 64 bit OS.
    To the best of my knowledge, Office installation is 32bit.
    VisualStudio Community 2017
    MS Access 365 as shown below:

    Everything is working so far. What can I say?

    I may run into hell the day I transfer my application over to my client's Win 10 PCs. 
    Hopefully not. 

    I'm still not clear why can't I simply install the 2016 Access DatabaseEngine x64?

    • Marked as answer by roger.breton Wednesday, July 17, 2019 3:16 PM
    Wednesday, July 17, 2019 3:16 PM
  • The image you posted indicates you are installing Access Database Engine x86. Now you are saying you were installing Access Database Engine x64. Did you just grab a random image off the internet instead of doing a screen capture? 

    If you don't control your client's Office version you better make two builds of your application, the x86 build ships with Access Database Engine x86 and the x64 build ships with Access Database Engine x64. You would need two computers (physicial or virtual) to unit test your application, one with Office x86 and one with Office x64. 

    You can probably get away with only x86 builds for now, but Office 2019 by default installs a 64 bit version. 



    Visual C++ MVP


    Wednesday, July 17, 2019 3:52 PM
    Moderator
  • Indeed, I installed Access Database Engine x86.

    I never said I was installing Access Database Engine x64.
    All along, I was under the assumption I needed x86, for presumed compatibility with VisualStudio 2017 which I kept reading was strictly "32 bit". So, for the record, let me restate that I never tried installing the x64 Access Database Engine on my PC.

    I checked with my client IT guy, yesterday, and he told me they are running Office 32bit.
    So I should be safe until they get to Office 2019... At any rate, I asked him to install the 2010 x86 Access Database Engine and he said the installation proceeded without errors.

    I believe I will be fine, until they get to Office 2019 (365 or not?), since, I wrote a similar kind of database application for them, in 2018, using VisualBasic, and at the time, installed the AccessDatabaseEngine (Access 2007 Local Connectivity).exe.

    Keeping my fingers crossed. Thanks for your kind help and patience.

    BTW, all my screen captures were mine except the one from PowerShell showing the Access Database 12 components.


    Wednesday, July 17, 2019 4:02 PM
  • well in your marked answer you said "I'm still not clear why can't I simply install the 2016 Access DatabaseEngine x64?" at the end. Looks like only your dev box is messed up and your client's machines are not.

    I don't think Microsoft can blindly mass upgrade office 365 2016 32bit to 2019 64 bit without breaking a lot of 32 bit only apps like yours. Existing installs of Office 365 32 bit will be upgraded to 2019 32 bit. But new installs of Office 365 would be default to 64 bit and your client will have a mixed versions of Office installs if you don't inform them to switch to 32 bit during install.

    With enough time you will be asked for a 64 bit version of your program. Because Windows bitness can be different from Office bitness, AnyCPU won't work, but the concept of porting code is similar. You first build your code, put on a x64 machine and see if it works. If something fails you find the bug then fix it. E.g. if your installer gets the error in question that's an installer bug, it should not blindly launch 32 bit Access engine setup when only the 64 bit version is compatible with the client's Office version. you should write the code to either switch to the 64 bit Access engine or tell the user to choose the 64 bit installer when downloading your program if a 64 bit version of Office is detected. 

    The Visual Studio limit only applies to in-process component like the Dataset designer. Visual Studio features that are out of process are not limited. You can get around the issue with another machine e.g. only change dataset on a machine with Office 32 bit. 



    Visual C++ MVP

    Wednesday, July 17, 2019 5:18 PM
    Moderator
  • How can you say my "dev box" is messed up"?
    I only have 32bit version of Access Database Engine installed -- I don't have x64 version installed at all.

    Your comments about migrating to x64 the day Office 2019 ships is well taken.

    I'm currently building with x86 in VisualStudio 2017. Thank you so much for commenting about VS bitness.

    Wednesday, July 17, 2019 5:44 PM
  • Because the image you posted said you have 64 bit Office components and you said you have 32 bit Office installed. That would prevent installation of any Office components - 32 bit or 64 bit alike - unless you get one Office bitness off your machine. 

    Also you just said you already have 32 bit version of Access Database Engine installed. After posting an image complaining about not able to install it. I assume you fixed your issue somehow. 



    Visual C++ MVP

    Wednesday, July 17, 2019 6:11 PM
    Moderator
  • Are you refering to this screen capture:

    I realize this screen capture says I have 64 bit Office products installed. 

    Yet, this screen capture says I have 32 bit Office products installed:

    Which screen capture is telling the truth?

    I complained I was not able to install the 32bit version of both the 2010 and the 2016 Access Database Engine. 

    The only thing that worked was the Access 2007 Local Connectivity.exe which is nowhere to be found on Microsoft site, that I finally found in my moth balls and that everybody online (StackOverflow and elsewhere) suggested installing.

    Believe me, I am ALL for installing x64versions of the Access Database Engine on my PC but, for now, knowing all the issues I am likely to run into the day I bring my application to my client's PC, I will stick with the "2007" version.

    I'm not trying to blame Microsoft but it is an exercise in frustration.

    Wednesday, July 17, 2019 6:23 PM
  • In 2007 there was no 64 bit version of Office so ACE 2007 didn't check for that.

    Use this script to find 64 bit applications installed on your system. Remove anything related to Office so you won't run into this again.



    Visual C++ MVP

    Wednesday, July 17, 2019 6:49 PM
    Moderator