【问题标题】:Moving SDF Database from Application Folder to User Folder due to Windows 7 UAC?由于 Windows 7 UAC,将 SDF 数据库从应用程序文件夹移动到用户文件夹?
【发布时间】:2013-01-27 15:27:12
【问题描述】:

我将 SQL Server CE 4.0 用于我的 WPF (MVVM) 项目,并且在开发过程中,数据库与我的应用程序位于同一文件夹中 - 所以在我的 APP.CONFIG 文件中,我有以下连接字符串:

<configuration>
<add name="DatabaseEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;Data Source=Database.sdf&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

然后我创建了一个 Windows 安装程序 (MSI),在 Windows XP 中一切都很完美......

但是,当我移至 WINDOWS 7 时,无法访问数据库(部署在安装文件夹中)(UAC)。所以看起来我需要将 SDF 移动到其他地方......?

我认为它应该在 Users...\AppData\Local\Model\Database.SDF 下,对吗?或者还有其他更适合此类文件的位置吗?

另外,我完全不知道如何更改我的 ConnectionString 以指向这个新位置(它在 APP.CONFIG 文件中进行了硬编码)。

任何建议和帮助将不胜感激。

谢谢,

【问题讨论】:

    标签: wpf sql-server-ce windows-installer connection-string


    【解决方案1】:

    您应该阅读以下有关 Windows 7 机器上的 recommended folders for application data 的文章。

    关于您的 .config 文件,这是一个标准的 XML 文件,大多数专业的设置创作工具都支持在安装过程中导入它并更新其内容。例如,在下面的文章中,您可以看到如何import and edit at install time and XML in Advanced Installer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多