Results 1 to 13 of 13

Thread: VB.NET 2008 32bit app compatibility with 64bit systems

  1. #1

    Thread Starter
    Junior Member
    Join Date
    Feb 2004
    Location
    Croatia
    Posts
    23

    VB.NET 2008 32bit app compatibility with 64bit systems

    I'm developing my apps in VS.NET 2008 on Win XP SP2 32bit and I'm not familiar with how these applications run on 64bit systems like Vista, 7.

    Do I need to build my app on 64bit system with x64 version of Visual Studio for apps to run correctly on this systems? Is there some kind of pre-build compatibility option for application to run on 64bit..?

    Here's one of the problems...related to databases, on Vista 64bit app reports error "The Microsoft.Jet.OLEDB.4.0 provider is not registered on local machine"

    If you understand what I'm talking about, please help.
    And what are the things I must take care of when building apps (simple, only reading/writing to MS Access databases) to work on both platforms?

  2. #2
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,297

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Visual Studio is a 32-bit app itself, so there's no issue developing on 32- or 64-bit systems. If you compile for Any CPU then your app will run in 32-bit mode on 32-bit systems and in 64-bit mode on 64-bit systems. If you compile for x86 then your app will run in 32-bit mode on all systems. If you compile for x64 then your app will run in 64-bit mode on 64-bit systems and not at all on 32-bit systems.

    There is no 64-bit version of the Jet OLEDB provider so, if you want to use Jet on 64-bit systems, you must compile for x86. The same goes for any application that uses and 32-bit-only component.

  3. #3

    Thread Starter
    Junior Member
    Join Date
    Feb 2004
    Location
    Croatia
    Posts
    23

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Thanks.

    And what about this error "The Microsoft.Jet.OLEDB.4.0 provider is not registered on local machine", it appears on Vista..

    Is this provider installed with operating system or not?
    I thought that's something that comes with it...should I add some kind of component in my app Setup program to register this provider or users must download it?

    I don't quite understand these system based problems.

  4. #4
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,297

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    If you run an app in 64-bit mode it will only use 64-bit libraries. There is no 64-bit version of Jet installed, hence the error message. As I said in my previous post, if you want to use Jet and run on 64-bit systems then you must compile for x86 and run in 32-bit mode.

  5. #5

    Thread Starter
    Junior Member
    Join Date
    Feb 2004
    Location
    Croatia
    Posts
    23

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Ok, my app i compiled in 32bit mode, and now user install it on for example Windows 7 64-bit, and before running app he must under app properties set "Compatibility mode" to Windows XP (32-bit) to be able to run it in 32-bit mode and connect to database?

    I'm I right?
    The problem is I cannot try this, I don't have 64-bit system, my apologize for having trouble understanding....

  6. #6
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,297

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Installing a 32-bit app on a 64-bit system is no different to installing a 64-bit app; you just install it as normal.

  7. #7
    Junior Member Dawg's Avatar
    Join Date
    Nov 2009
    Location
    Portland Or, USA
    Posts
    26

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    I'm having the same issue with the JET database driver not being registered, however I can not work around it with x86 as the code I'm developing is used as an AddIn in a x64 Application, thus it will only run as a x64 process.

    Is there another Provider, or another work around, that will allow communications with a JET database from a x64 application?

  8. #8
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,297

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Quote Originally Posted by Dawg View Post
    Is there another Provider, or another work around, that will allow communications with a JET database from a x64 application?
    Yes, but it does have limitations. Office 2007 introduced various new file formats and it also introduced a new database engine to support them. The Access Connectivity Engine (ACE) was only available in 32-bit with Office 2007 but Office 2010 introduced a 64-bit edition too. If your users install the 64-bit edition of either Access 2010 or ACE 2010 (which is a free download) then 64-bit apps can use the ACE OLE DB provider to connect to any file format supported by Jet as well as all the new Office formats.

    The issue is that you cannot mix and match 32-bit and 64-bit Office. If the user already has 32-bit Office installed then they would have to uninstall and install 64-bit Office. That's annoying enough but the real issue, and the reason that 64-bit Office is not very prevalent, is that 32-bit add-ins for Office will no longer work.

    The answer for you is probably to ditch Access as a database and use SQL Server CE, which has no 64-bit issues, as far as I'm aware.

  9. #9
    Junior Member Dawg's Avatar
    Join Date
    Nov 2009
    Location
    Portland Or, USA
    Posts
    26

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Thanks for the clarification.

    Too bad the x64 ACE OLE DB provider isn't available separately.

    I'm trying to get several thousand points into a CAD tool and then work with them programmatically. The source data is in Excel, and the likely path into the CAD tool, which is x64, is now Excel --> JET --> Oracle --> CAD tool LOL!

    And yes given time I could go from Excel into the CAD tool however being able to access the data with SELECT statements is extremely advantageous for what I need to do.

  10. #10
    A SQL Server fool GaryMazzone's Avatar
    Join Date
    Aug 2005
    Location
    Dover,NH
    Posts
    7,495

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    You can open Excel as an Database (using ADO.Net) and query it just like a database table also.
    Sometimes the Programmer
    Sometimes the DBA

    Mazz1

  11. #11
    Junior Member Dawg's Avatar
    Join Date
    Nov 2009
    Location
    Portland Or, USA
    Posts
    26

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Ooo, that could be powerful! Ima try to make that work.

    Hopefully talking to x86 Excel from a x64 application wont be problematic. We'll see.

  12. #12
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,297

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Quote Originally Posted by Dawg View Post
    Ooo, that could be powerful! Ima try to make that work.

    Hopefully talking to x86 Excel from a x64 application wont be problematic. We'll see.
    It's ADO.NET, so it uses the Jet or ACE providers, just like Access. The same issue exists with regard to 64-bit systems, i.e. you must build a 32-bit app or use 64-bit ACE.

  13. #13
    Junior Member Dawg's Avatar
    Join Date
    Nov 2009
    Location
    Portland Or, USA
    Posts
    26

    Re: VB.NET 2008 32bit app compatibility with 64bit systems

    Ugh. Okay.

    I wrote a separate tool to take JET into Oracle, which I can then query from my x64 AddIn. Ugly but the task is done.

    Thanks for the help guys - saved time in the end...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width