如何使用.Net部署sqlite

我收到一个用户的报告,当他们安装我的.net 2.0应用程序时,他们收到一条消息,指出无法找到对system.data.sqlite.dll的引用。 我使用Inno将其安装在与可执行文件相同的文件夹中,并且没有其他问题。 在VS中添加引用时,复制本地属性有什么不同? 我的理解是只在VS下运行它的影响。 只要用户在可执行文件所在的文件夹中有sqlite,那么这不是所有需要的吗? 可能存在阻止安装dll的权限或其他严重性问题? sqlite.dll需要注册吗? – 没有其他人必须这样做。

是的,如果它在可执行文件的文件夹中,它可以工作。 但是你将不得不处理32位和64位架构,有单独的程序集。 32位在/System.Data.Sqlite.dll中,64位在/x64/System.Data.Sqlite.dll中。

正如已经指出的那样,这可能是一个架构问题。 事实上,我们遇到了与Oracle相同的问题。

你有 ? 解决方案:

  1. 创建两个安装程序,一个x86和一个x64,使用适当的sql lite dll。
  2. 创建一个智能安装程序,将相应的dll复制到bin文件夹中。
  3. 将相关的sql lite安装到gac中。 您可能需要为此创建安装程序,您可能希望将其设置为应用程序的先决条件。

如果您不依赖于SqlLite,您可能需要查看SqlCe。 安装程序已经存在并可作为visual studio中的先决条件,很可能它们已经安装在某些客户端计算机上。