【问题标题】:.NET SQLite and Click-Once Deployment.NET SQLite 和 Click-Once 部署
【发布时间】:2009-09-02 11:34:03
【问题描述】:

拥有一个使用 Click-Once 分发的智能客户端应用程序,但还包括一个用于本地缓存的 SQLite DB。

问题在于,一旦应用发布,它似乎无法打开 SQLite DB 文件。已将数据库文件包含在安装过程中...

有什么想法吗?

【问题讨论】:

  • 你有异常吗?
  • System.Data.SQLite.SQLiteException: 无法打开数据库文件
  • 您的部署是否请求“完全信任”?
  • 如何设置“完全信任”的东西?
  • 您是如何创建部署的?视觉工作室?如果是这样,2005 年、2008 年是什么版本?

标签: .net sqlite clickonce


【解决方案1】:

当 ClickOnce 应用程序设置为“完全信任”时,安装时会提示用户授予完全信任。这意味着该应用程序将在计算机上拥有与运行该应用程序的用户相同的所有权限(编辑注册表、文件 io 等)。您在 cmets 中提到该应用已设置为完全信任,因此看起来这不是安全问题。

您确定所有必要的文件都在部署吗?我只想从图片中删除 ClickOnce。查看部署中的所有文件,创建一个文件夹并将所有这些文件复制到其中,然后尝试运行它。它有效吗?我最初的猜测是 ClickOnce 部署中没有包含一些需要的文件。

【讨论】:

    【解决方案2】:

    检查您的应用用于访问数据库的路径。在 Vista 及更高版本上,虚拟化路径可能会导致此类问题。

    然后检查数据库文件的读/写权限。

    【讨论】:

      【解决方案3】:

      您是否在包中包含了 SQLite 提供程序?

      【讨论】:

      • 是的,它只是无法打开 db 文件。调试时工作正常,这让我觉得它可能是一个安全问题?
      【解决方案4】:

      我遇到了同样的问题。我的解决方案是在 Visual Studio 项目(作为链接)中添加 SQL.interop.DLL(x32 和 x64),以便 ClickOne 部署将这些文件添加到这个“包”中 看这篇博文: http://webbercross.azurewebsites.net/ef7-sqlite-click-once-deployment-error/

      【讨论】:

        猜你喜欢
        • 2014-11-09
        • 2011-01-13
        • 1970-01-01
        • 1970-01-01
        • 2013-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多