使用SQLite时我在最终用户机器上必须拥有什么?

时间:2010-10-27 16:18:26

标签: c# .net windows sqlite deployment

该程序将独立于任何人运行100%。只是那个人和他的电脑。

SQLite数据库只是一个小.db文件对吗?我还下载了一个使用Entity Framework访问SQLite数据库的驱动程序。

我需要在用户计算机上部署什么?只是包含.exe和.db文件的文件夹?

感谢。

3 个答案:

答案 0 :(得分:2)

由于您指明您的应用程序是C#而SQLite是用C语言编写的,因此您必须引用SQLite DLL。当您将应用程序分发给客户时,您需要包含您的exe,SQLite DLL和SQLite DLL所依赖的MSVCRT.DLL。如果您在需要随应用程序提供的数据库中预先烘焙数据,则也可以将其与您的代码一起分发。如果没有预先烘焙的数据,您可以在第一次加载应用程序时以编程方式在客户的计算机上创建一个新的空.db。

可以将SQLite DLL及其MSVCRT依赖项复制到与app exe相同的目录中。它只是一个“xcopy安装”,没有SQLite所需的注册表设置或MSI。

答案 1 :(得分:1)

安装应用程序的计算机需要:

  • 访问SQLite库(在CWD,GAC或可配置的位置)。还必须包含SQLite所依赖的任何内容(文件助手,IoC),但这些第三方工具中的大多数都具有IL-Merged的依赖关系,因此您只需担心属于SQLite的库。
  • 访问.db文件(如果您没有使用内存中的SQLite;再次,它可以位于CWD或可配置的位置)

答案 2 :(得分:0)

如果您使用System.Data.SQLite库,则需要部署的是与应用程序位于同一文件夹中的一个System.Data.SQlite.dll(大约900kb),以及应用程序使用的.db文件。