2017-08-23 65 views
2

我开发了一个用于学习的小型数据库应用程序,我想将其部署到其他机器上运行。C#应用程序 - 无法添加预先请求的文件

我尝试发布应用程序并选择从与我的应用程序相同的位置下载先决条件。它给我一个错误,先决条件文件没有找到,它要求我下载这些文件

现在我已经下载的文件,我不知道在哪里放置这些文件,并将其搜索到它。

我发现,我需要把这个路径下添加:

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

现在,我有这样的路径下4个不同的目录:

C:\Program Files (x86)\Microsoft SDKs\Windows 

目录

v7.0A 
v8.1 
v8.1A 
v10.0A 

顺便说一下,Bootstrapper目录只有av可在v7.0A文件夹中找到。所以,我想补充NDP452-KB2901907-x86-x64-AllOS-ENU.exe此路径下:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX452 

但它仍然给了我同样的错误。然后我尝试在其他版本下添加Bootstrapper目录,但发生同样的错误。

问题:

  1. 什么是正确的路径和为什么它是无法加载该文件?
  2. 我需要添加其他一些先决条件,以及如何知道他们正确的目录? (sqlncli.msi,sqllocaldb.msi,sqlcmdlnutils.msi
  3. 它要求x64x86单独设置文件,所以我该如何处理?

环境说明:

  • 窗口8单一语言
  • 的Visual Studio 2015年(企业)
  • SQL服务器2017年
+0

你使用ClickOnce? – Alex

+0

是的,我正在使用clickonce – Alena

+0

你可以使用nuget包,而不是sql客户端和本地数据库,它可以节省很多工作 –

回答

2

而不是复制的下微软SDK来引导程序您需要将下载的先决条件复制到软件包文件夹Bootstrapper unde r Microsoft Visual Studio 14.0。例如

32位系统:

C:\Program Files\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages 

64位系统:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages 

检查您的系统相关的路径:

更多细节在以下链接: https://msdn.microsoft.com/en-us/library/hh873130.aspx

对于所有其他先决条件,请务必将其复制到\ packages \ {prerequisite}文件夹中。而如果单独询问x64x86文件,然后创建子目录,如:

Bootstrapper\Packages\SqlLocalDB2012\x64   (for 64-bit) 
Bootstrapper\Packages\SqlLocalDB2012\x86   (for 32-bit) 
+0

真棒,它的工作原理。如果你分享更多的细节,比如大多数人在'Microsoft SDKs'文件夹下提到的但不起作用的话,我会非常高兴。还有一个问题,我怎样才能让它像一个安装文件一样点击安装,它会自动安装所需的一切。 – Alena

相关问题