【问题标题】:Placing a LocalDB Database into AppData via Installer通过安装程序将 LocalDB 数据库放入 AppData
【发布时间】:2015-06-22 13:18:38
【问题描述】:

我开发了一个使用 SQL Server LocalDB 的应用程序(使用 VS2012 构建的 WinForm 应用程序)。

我为应用程序和数据库创建 .exe 文件,以便使用 Visual Studio 2012 工具(InstallShield Limited Edition 或 ClickOnce)将其安装在另一台机器上。该应用程序安装在另一台机器上,但当我启动它时收到以下错误消息:

尝试为文件附加自动命名的数据库 C:\Users\%nom_utilisateur%\AppData\Local\Apps\2.0\Data\blabla\blabla\Data\Devessai.mdf 失败的。存在同名数据库,或指定文件不能 被打开,或者它位于 UNC 共享上。

现在,当我将数据库复制到错误消息中指定的路径时,应用程序可以完美运行。

如何通过应用程序安装程序将数据库直接放入 AppData 文件夹?

这是 app.config:

<?xml version="1.0" encoding="utf-8" ?>  

<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="mdf_projet.Properties.Settings.DevEssaiConnectionString" 
              connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\DevEssai.mdf;Integrated Security=True;Connect Timeout=30" 
              providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

【问题讨论】:

  • 此问题与您的应用程序配置无关,而与您的 ClickOnce 部署有关。
  • 我该如何解决这个问题?
  • 您提到了 ClickOnce 和 InstallShield Limited Edition,您使用的是哪一个?这是非常不同的安装程序构建工具。
  • 另外,这个数据库是如何创建的?它是预先生成和部署的,还是由您的代码提供的?
  • 当我使用 clickonce 时,错误消息是:尝试为文件 C:\Users\%nom_utilisateur%\AppData\Local\Apps\2.0\Data\blabla 附加自动命名数据库\blabla\Data\Devess‌​ai.mdf 失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。当我使用 installshield 相同的消息 d'error 但路径是 .exe 文件 C:\prgramme_file\application\ 。 @JNYRanger

标签: c# visual-studio-2012 localdb sql-server-2012-express


【解决方案1】:

我解决了在发布->文件应用程序->选择数据库并将数据库的发布状态更改为数据文件中单击一次的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 2015-01-09
    相关资源
    最近更新 更多