如何添加.Net框架先决条件安装安装

问题描述:

我有MS Visual Studio中的C#WinForms项目。我添加了一个Visual Studio安装程序安装向导项目来为我的应用程序创建一个安装程序。这是我第一次使用安装程序项目。如何添加.Net框架先决条件安装安装

安装程序正确具有.Net框架4.5.1的先决条件。不过,我想让安装程序包括.Net框架安装,而不是要求用户在安装时单独下载和安装(某些用户的机器没有互联网连接)。

我已经设置了先决条件在设置属性页“从同一地点为我的应用程序下载的先决条件”,但是当我建立的设置我看到3个错误如下:

ERROR: To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.6.1 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018 .

链接包括并没有真正的帮助,因为它指的是ClickOnce安装。我提到的NDP461 exe,但我不知道该把它放在哪里。我看到其他一些问题提到使用MS Bootstrapper软件包管理器创建引导程序包,但是这似乎已经从互联网上消失了,MS关闭了code.msdn.microsoft,使用apparently no information on a replacement。此外,我可以找到有关此主题的大多数文档和SO问题都与MSVS的旧版本有关,并且与MSVS 2017无关(至少对我来说不够直接!)。

我该如何去关于实际获得安装项目找到exe?我是否只需要将它放在正确的位置(已经尝试了几个在各种MSDN页面和注册表项下列出的项目)?或者我需要创建一个引导程序包?如果是后者,是否有最新的文档在这个过程的某个地方?谢谢!

PS:如果我选择使用我的开发机器上已安装的(更新的).Net框架,过程会更简单吗? (我猜有可能是已经在机器上安装的某个地方信息)

更新所以,我想切换到目标.NET 4.6,而不是,下载NDP46-KB3045557-x86的x64的阿洛斯-CHS.exe程序并将其放在目录C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46中。安装程序安装项目现在建立,但给出了如下警告(一次,3人):

WARNING: The value of the 'PublicKey' attribute in 'Microsoft .NET Framework 4.6 (x86 and x64)' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46\NDP46-KB3045557-x86-x64-AllOS-ENU.exe'.

我想这意味着我不应该做这样?

+0

搜索约3小时后,终于让我找到你的帖子和解决我的问题。 – Fery

刚刚从 This Link

下载NDP461-KB3102436-x86的x64的ALLOS-CHS.exe程序文件,并复制到 C:\ Program Files文件(x86)的\微软的SDK \的ClickOnce引导程序\软件包\ DotNetFX461

为Microsoft Visual Studio 2017年正确的文件夹添加的引导程序包是:

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

各种可再发行的链接。NET包可以在这里找到与不同的部署选项的信息一起: https://docs.microsoft.com/en-us/dotnet/framework/deployment/deployment-guide-for-developers

错误信息给你正确的文件夹添加到包文件夹中。所以文件NDP46-KB3045557-x86的x64的ALLOS-CHS.exe程序应在包被添加到文件夹“DotNetFX46”。

我真的不明白,为什么微软没有采取措施,使这是一个自动化的过程,或者至少提供关于如何引导包添加到Visual Studio的不同版本的一步一步的指导。这些程序和文件夹多年来一直发生多次更改。

公钥错误最有可能是由于至少有两个版本的NDP46-KB3045557-x86-x64-AllOS-ENU.exe文件分布有相同的文件名,但公钥不同。检查此链接:https://connect.microsoft.com/VisualStudio/feedback/details/1584164/bootstrapper-packages-have-broken-links-and-wrong-public-keys