c# - 带有 winforms 部署的 sqlite 数据库

标签 c# winforms sqlite deployment setup-project

我对使用 C# winforms 应用程序部署 sqlite 数据库还很陌生。 我使用以下应用程序文件夹创建了一个安装项目,其中包含主要输出(.exe 文件) 该程序将 System.Data.sqlite 作为其依赖项。

在常规项目(未设置)中,数据库包含在bin->Debug->Appdata->Test.DB中

 <connectionStrings>
    <clear />
  <add name="RConnString" connectionString="Data Source=App_Data\Test.db;Compress=True;Version=3"
      providerName="System.Data.Sqlite" />

  </connectionStrings>

对于安装:数据库及其相关依赖项去哪里(system.data.sqlite) 目前,该程序安装在 C:\Programfiles... 还没有包括数据库。

什么是运送此 sqlite Db 的好地方。还有,我该怎么办。我把它放在安装项目的什么地方。我需要自定义安装吗?
我们有Windows XP、Win 7用户

最佳答案

放置它的理想位置,如果它是每个用户的数据,则在漫游配置文件位置下的目录中,通常是 C:\Users\john\AppData\MyApplication 或其他内容。如果它是机器范围的数据(不是用户特定的),那么它应该在 C:\ProgramData\MyApplication 下。

我不确定你使用的是什么类型的安装程序,但它应该有一种方法来一般地指定这些位置(即“用户数据目录”或类似的东西)。

不想放置数据库文件的位置与您的应用程序可执行文件位于相同的安装位置,除非您只打算从中读取。任何要写入的内容都需要放在上述两个位置之一。

关于c# - 带有 winforms 部署的 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12042735/

相关文章:

c# - 自定义 API 要求

c# - C# 中正确的变量声明

c# - 在加载时从 Excel 文件中删除所有格式

c# - 计算和显示流程的“ETA/ETC”的规范,规则或准则

c# - 如何在 .NET 中拆分(复制)流?

c# - 如何从库中访问连接字符串

c# - 将哈希表添加到设置

android - 索引 1 处的绑定(bind)值在查询中为空?

ios - 具有多个相似实体或单个大型实体的核心数据

android - 网络.sqlcipher.database.SQLiteException : not an error: