Up to now we use DAO 3.51 (MS-Access 97) databases with our application. We are considering using a newer version.

  • Which versions are available?
  • How about deployment?
  • How about royalties/licence fees?
  • Any recommendations about alternatives?

This question should be easily researchable, but I failed.

  • 11
    I would consider using SQLite. It feels to me like the superior choice for an embedded RDB..
    – Max
    Commented May 26, 2011 at 8:39
  • You failed to find the latest version of Microsoft Access?
    – JeffO
    Commented May 26, 2011 at 10:29
  • 1
    @Jeff O I failed to find docs about how to deploy databases in the .accdb format and wether there are licence fees involved.
    – Dabblernl
    Commented May 26, 2011 at 10:46
  • should this question migrated to stackoverflow.com? In my opinion it asks for best practises.
    – k3b
    Commented May 26, 2011 at 16:31

6 Answers 6


The only fee to using an Access database file is if you also use the full version of Microsoft Access. If you app is built with Visual Studio, deployment should be pretty easy to include your datafile and necessary drivers (latest version of windows should have them).

The latest format is for 2007/2010. This is a very good article explaining conversions, benefits, etc. http://allenbrowne.com/access2007.html

As long as your app doesn't have multiple users sharing data, SQL Compact is an alternative (See Tom Morgan's Answer), but you would have to adjust your code. If you have users that need to sync to SQL Server from their occasionally connected desktop/mobile app, SQL Compact has many features to make this easier.

  • 1
    Thanks! "Latest version of Windows shoud have the latest Access drivers". How can I check that and deploy if necessary. I can't find resources.
    – Dabblernl
    Commented May 26, 2011 at 12:06
  • What are you building your application with?
    – JeffO
    Commented May 26, 2011 at 17:03
  • 1
    We are migrating from VB6 to VB.Net
    – Dabblernl
    Commented May 26, 2011 at 17:31

Have you consdiered SQL Compact?

SQL Server Compact 3.5 SP2 is a free, easy-to-use embedded database engine that lets developers build robust Windows Desktop and mobile applications that run on all Windows platforms including Windows XP, Vista, Pocket PC, and Smartphone.


  • 3
    This is a very underrated database for the Windows Desktop.
    – JeffO
    Commented May 26, 2011 at 10:31
  • 1
    @Jeff O: Very. If one is to use it however, there can be considerable limitations that need to be known before going forward with it. IIRC, there's no auto-generated primary keys is one such example which a number of ORMs have trouble with (Even EF). Commented May 26, 2011 at 16:38
  • 5
    +1 @Snorfus there's a new version SQL Server Compact 4.0 "the columns that have server generated keys like identity, rowguid etc. are also supported in Compact 4.0 when used with ADO.NET Entity Framework 4.0" XCopy deployment, 2.5 megabyte download, use TSQL and integrate with Visual Studio.
    – MarkJ
    Commented May 26, 2011 at 16:50

It sounds like you want to MS Access run-time distribution, which you can find here:


This (as it says) "enables you to distribute Access 2010 applications to users who do not have the full version of Access 2010 installed on their computers."

In other words, its the bits that your application needs if a full version of Access is not present.

There are installers there for 32 and 64 bit versions. You can just bundle that installer into your own.

As far as licensing and conditions go, it says: "You do not need to buy any special product in order to redistribute the Access 2010 Runtime. You can freely redistribute it or point users to this download."

So in other words - redistribute it as you like.

If you don't want Access 2010 runtime, there are available from MS runtimes for other versions of Access as well.


you do not need to have msaccess instealled on your pc. all you need is the oledb-driver from microsoft.

note that the connection-string might have chaged.

note that the msaccess ACE-driver only works for 32bit applications but not for 64 bit apps. I donot know if you are allowed to to give this to you customer as a part of your app.

If you want to use other desktop databases:

For Sqlight there are native drivers for 32bit and 64bit you have to provide the correct version. for debugging with vs2010 you must use the 32bit-version because the debugger itself is a 32bit app.

for ms-sqlce i donot know if there is a 64bit version available


As to your last point about other alternatives as others have mentioned sqllite but I would add Postgresql and MySql unless you have some requirement that would prevent or make their use impracticable they are both great alternatives. I have used them both on various projects.

Some more info on your project/experience would make answering this question much easier.


Postgresql and MySQL are both open source.


I still can't add comments, thus I have to use an "answer": moderators please take this into account before deleting it. @Ominus: MySQL is not entirely Open Source. It's dual licensed and since the Oracle acquisition, pretty much everything costs double now.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.