在单独的文件夹中安装 SQL Server CE 数据库 [Windows Mobile 6 Smart device ap]

Posted

技术标签:

【中文标题】在单独的文件夹中安装 SQL Server CE 数据库 [Windows Mobile 6 Smart device ap]【英文标题】:Install SQL Server CE database in separate folder [Windows Mobile 6 Smart device ap] 【发布时间】:2011-10-31 06:38:25 【问题描述】:

将 SQL Server CE 数据库安装在单独的文件夹中,并将应用程序安装在其他文件夹中。从设备卸载应用程序时,数据库不会删除。在同一台设备上重新安装应用程序时,检查其中是否存在数据库[我们在第一次安装时保存的位置],如果不存在,则保存在所有智能设备的公共文件夹中[如\Program Files\],否则使用现有数据库。

如何使用 C#、Windows Mobile 6 来做到这一点?????

【问题讨论】:

你用什么安装?出租车向导? 我创建了一个 CAB 项目,添加了主要输出和所有必需的依赖项。我可以指定要在应用程序之外安装的数据库文件[并且必须需要该数据库文件路径才能与应用程序连接]。?卸载时,将数据库文件保留在设备中。重新安装时,如果该路径中存在数据库文件,则保留该数据库文件而不是新文件。并与该文件一起使用。 【参考方案1】:

阅读您的评论后,我建议类似于以下内容:

当您的应用程序启动时,让它检查您的数据库是否存在于您需要的路径(或在 INI 文件中指定的路径)

如果找不到数据库,请询问用户是否应该使用默认数据库(或者,如果他们别无选择,则直接复制它)。

删除应用程序后,该数据库将保留。

当您的应用程序重新安装时,它可以使用剩下的数据库。

例子:

namespace DBTest1 

  public partial class Form1 : Form 

  const readonly string MYDATABASE = "\\Application Data\\DBTest1\\sqlce.db";

  private void Form1() 
    InitializeComponent();
    CreateIfNotThere(DBTest1.Properties.Resources.sqlcedb, MYDATABASE);
  

  void CreateIfNotThere(object data, string filename) 
    if (String.IsNullOrEmpty(filename)) 
      filename = string.Format(@"012",
      Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
      Path.DirectorySeparatorChar, "sqlCe.db");
    
    if (data != null) 
      byte[] array = (byte[])data;
      FileInfo file = new FileInfo(filename);
      if (!file.Exists) 
        using (FileStream fs = file.Create()) 
          fs.Write(array, 0, array.Length);
        
      
    
  
  // other code

如果您想编写自定义 CABWIZ 步骤,How to create the inf file for a smart device cab project from command line? 线程中有一篇很好的文章。

【讨论】:

另一条带有有用链接的评论:mobilepractices.com/2008/10/…

以上是关于在单独的文件夹中安装 SQL Server CE 数据库 [Windows Mobile 6 Smart device ap]的主要内容,如果未能解决你的问题,请参考以下文章

虚拟机中安装SQL server 2008 R2

在Windows Server2016中安装SQL Server2016(转)

在 Windows 11 中安装 SQL Server 2019 时出错

使用 SQL Server Express 和 SQL Server CE

docker 中安装 sql server 2017

在windows server 2003虚拟机中怎么安装IIS