【问题标题】:cannot put prerquisite components in the same location as my application不能将必备组件放在与我的应用程序相同的位置
【发布时间】:2017-04-17 05:01:29
【问题描述】:

我使用 VS 2013,我希望 sql server 2012 express localdb 与我创建设置时的应用程序位于同一位置。所以在项目属性>发布>先决条件我选择第二个选项(从与我的应用程序相同的位置下载先决条件)。
但是当我构建解决方案时,它显示以下错误:
要在先决条件对话框中启用“从与我的应用程序相同的位置下载先决条件”,您必须将项目“SQL Server 2012 Express LocalDB”的文件“SqlLocalDB2012\x64\sqlncli.msi”下载到本地计算机。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=239883
我该如何解决这个问题? 谢谢!

【问题讨论】:

    标签: c# winforms visual-studio prerequisites


    【解决方案1】:

    我最近在我的应用程序中包含 .NET 框架 4.0 时遇到了类似的问题。一旦我弄清楚它在哪里寻找丢失的文件,我最终能够解决这个问题。

    我假设您已经安装了某些版本的 SQL Server(Express 或其他)。

    如果你有 Visual Studio 2013,你应该有以下文件夹:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\
    

    在该文件夹中,您应该有一个“SqlLocalDB2012”文件夹。

    在该文件夹中应该有一个 product.xml 文件。这也是安装程序应该驻留的地方。在我的情况下,它们不存在,我必须收集它们并将它们放在包含 product.xml 文件的文件夹中(用于默认的英文安装程序)或子文件夹(例如,用于法语的 fr)。 (请注意,在我的情况下,我缺少 .NET FrameWork 安装程序,而不是 SqlLocalDB2012,但我假设问题与我遇到的相同)。

    产品 xml 文件可以为您提供在计算机上找到丢失文件的线索。在我的例子中,前几个元素表明它正在 SQL Server 目录中寻找东西:

    <FileCheck
          Property="sqllocaldbVersion"
          FileName="sqlservr.exe"
          SearchPath="Program Files\Microsoft SQL Server\110\LocalDB\Binn"
          SpecialFolder="WindowsVolume"
        />
    

    通过在以下位置搜索,我能够在各个子目录中找到丢失的文件:

    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
    

    希望对你有用。

    【讨论】:

    • 在语言的子文件夹中...太棒了...我将意大利语版本放在了根目录中...谢谢!!!! :)
    【解决方案2】:

    只需前往this link并按照说明下载所需文件 棘手的一点是您必须下载 x86 和 x64 文件并将它们放在根文件夹的 x86 和 x64 文件夹中

    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\SqlLocalDB2012

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多