如何启用“从与我的应用程序相同的位置下载先决条件”

24

tl;dr

Visual Studio 2013 创建普通安装程序,项目模板:其他项目类型 > Visual Studio 安装程序 > 安装程序项目

我一定是错过了什么简单的东西。我已经下载了我的先决条件的安装程序(即 NDP451-KB2858728-x86-x64-AllOS-ENU.exe),告诉 Visual Studio 在哪里找到它们(或将它们放在自然会查找的地方)应该不难吧?

=================================================

我已经将所有内容搞定,但是还没有整合前置条件。
我通过谷歌搜索找到了一些其他的堆栈交换文章,但是没有一个完全回答我的问题。
我创建了一个简单的“安装项目”,其中包含一些前提条件,我想将其与安装程序捆绑在一起(用户在安装时不需要下载)。我遇到了以下错误:
错误1:要在前提条件对话框中启用“从与我的应用程序相同的位置下载前提条件”,您必须下载文件“DotNetFX45 \ dotNetFx45_Full_x86_x64.exe”以获取项目“Microsoft .NET Framework 4.5(x86和x64)”的更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=239883。d:\ junk \ installerWalkthrough \ Setup1 \ Setup1.vdproj Setup1
这很清楚。
除非:我下载后,把它放在哪里,这样Visual Studio才知道在哪里找到它,并将其包括在安装程序的构建中?
我一直在寻找一些选项/属性来指定先决条件的安装文件路径,但没有成功。如果我访问错误消息中提到的URL,它会提到“clickonce”和其他类型的安装程序,没有关于普通的“Setup Project”类型的安装程序的内容。关于将下载的文件放在哪里的说明非常模糊,似乎是针对win版本8.1A特定的,但是如果您进入“C:\Program Files (x86)\Microsoft SDKs\Windows\”下面有许多不同的win版本列为子文件夹,有些带有引导程序文件夹,有些则没有等。
我尝试将NDP451-KB2858728-x86-x64-AllOS-ENU.exe放在C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ Bootstrapper \ Packages \ DotNetFX451 \ en中,这似乎是(错误消息的URL)告诉我放置的位置,但VS在构建时无法找到它。
肯定有我错过的简单东西。我已经下载了先决条件的安装程序,告诉Visual Studio从哪里获取它们应该不难吧?
12个回答

17
这适用于VS 2017-2019和.Net 4.7.2:
将文件放入以下位置:
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX472\

1
遇到了同样的问题。显然它不考虑区域设置,只想让文件在根目录DotNetFX472文件夹中。唉。 - addohm
1
谢谢,这个文件夹也适用于VS2019:“C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX472” - mili
在使用VS2019和.NET 4.8时,我也遇到了同样的问题。将ndp48-x86-x64-allos-enu.exe文件放入“C:\ Program Files(x86)\ Microsoft SDKs \ ClickOnce Bootstrapper \ Packages \ DotNetFX48 \”文件夹中即可解决问题。 - Greg Barth

15

Visual Studio 2017的路径再次发生变化 - 需要使用

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\vcredist_x64


为这位救星鼓掌,谢谢你,伙计,我真的卡住了。 - Noshairwan Farooq
适用于2019年。使用符合您部署要求的任何包名称。 - HackSlash

10

1
请注意,对于VS 2015,路径是不同的,请确保在MSDN页面上选择2015。 - axk

8

请将它放入这个文件夹中:

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

3

2

在我的情况下,我需要在Windows 10中安装VSTO。

首先,我从Microsoft下载可再发行软件包到:

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461

然后我将包含的所有文件夹复制到C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\Bootstrapper\Packages\DotNetFX461。 我已经下载了VSTO的可再发行包到C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\VSTOR40。然后我从VS2017发布,它可以工作。"Original Answer"翻译成"最初的回答"

2
我尝试了所有以上答案,但在使用VS 2019和Windows 7时均未成功。最终对我有效的方法是将每个先决条件文件放置在其特定文件夹中:C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\*
例如: DotNetFX472包需要在以下位置:C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX472\NDP472-KB4054530-x86-x64-AllOS-ENU.exe Sql LocalDB 2012文件需要一些调整,它需要x64和x86文件,这是对我有用的内容:
  • x64:C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\SqlLocalDB2012\x64\SqlCmdLnUtils.msiC:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\SqlLocalDB2012\x64\SqlLocalDB.msiC:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\SqlLocalDB2012\x64\sqlncli.msi
  • 对于x86也是如此:C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\SqlLocalDB2012\x86\SqlCmdLnUtils.msiC:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\SqlLocalDB2012\x86\SqlLocalDB.msiC:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\SqlLocalDB2012\x86\sqlncli.msi
希望这可以节省您一些时间。

1
请将其粘贴到这里。对我有效。
C:\Program Files(x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\DotNetFX45

1

将其添加到“C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX45”中。显然,您需要在ClickOnce Bootstrapper文件夹中找到与您的 .Net Framework 匹配的文件夹。在我的情况下,我使用了 .Net Framework 4.5.2,因此它是 DotNetFX452。在您的情况下,应该是 DotNetFX45。


1
你可以从这里下载相应版本,并将其放入正确的文件夹中,例如...
我收到了这个错误消息要在Prerequisites对话框中启用“从与我的应用程序相同的位置下载先决条件”,您必须为项目“Microsoft .NET Framework 4.5.2(x86和x64)”下载文件“DotNetFX452\NDP452-KB2901907-x86-x64-AllOS-ENU.exe”到本地计算机。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=616018 然后我从https://learn.microsoft.com/en-us/dotnet/framework/deployment/deployment-guide-for-developers下载了.NET Framework 4.5.2适用于所有操作系统的离线安装程序并将其复制到C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX452,然后一切正常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接