Distributing c# app with access database
I have a C# app which uses an Access database. The database is very simple (only 2 tables) and I have converted it to an mde file.
I am using OleDbConnection, OleDbDataReader and OleDbCommand to manipulate the data, using Microsoft.Jet.OLEDB.4.0.
Do I need to distribute the Access run-time or will Jet (which is already present on my user's machines as I und开发者_如何学JAVAerstand it) be sufficient? If Jet is sufficient, do I need to be concerned with which version my users have?
You do not need to distribute any Access or Office runtime. Your application only requires Jet to connect to your database file.
The best way to find out, for certain, and also determine what (if any!) other dependencies may not be installed by default that you have on your development machine is to try it.
Use a Virtual Machine to test your application, a good way of doing this (if you don't have a spare license, or Windows 7 Professional/Enterprise to make use of XP Mode) is to use the Internet Explorer Application Compatibility VPC Image (scroll down for the XP one, if you don't want Vista/Windows 7).
Doing this will give you the answer to the "do I need to distribute the Access run-time" (which I think is a "no", although that may be only if it's an mdb rather than an mde) and for anything else you're using too =)
I think you need to check the MDAC version on installation and install it if needed. I think you need minimum MDAC 2.8.
精彩评论