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



我在MS Visual Studio 2017 中有一个C#Winforms项目。我添加了一个Visual Studio Installer设置向导项目,以为我的应用程序创建一个安装程序。这是我第一次使用安装程序项目。

安装程序正确具有.NET Framework 4.5.1的先决条件。但是,我想让安装程序包括.NET框架安装,而不是要求用户在安装时间下下载并分别安装它(某些用户的计算机没有Internet连接(。

我已经设置了先决条件,可以在设置属性页面中"从与我的应用程序相同的位置下载先决条件",但是当我构建设置时,我会看到3个错误如下:

错误:要在"先决条件"对话框中启用"从同一位置下载先决条件",您必须下载文件'dotnetfx461 ndp461-kb3102436-x86-x86-x86-x86-x64-x64-allos-anlos-enu.exe.exe'for Item'Microsoft。网络框架4.6.1(x86和x64('到您的本地机器。有关更多信息,请参见http://go.microsoft.com/fwlink/?linkid=616018。

包含的链接实际上没有帮助,因为它指的是ClickOnce安装。我有提到的NDP461 EXE,但我不知道该放在哪里。我看到其他一些问题提到了使用MS Bootstrapper软件包管理器创建Bootstrapper软件包,但这似乎从Internet中消失了,MS的Code.msdn.microsoft显然没有替换的信息。此外,我可以在该主题上找到的大多数文档以及与MSV的较旧版本有关的问题,并且与MSVS 2017不相关(至少不足以直接无法弄清楚!(。

我该如何实际获取设置项目以找到EXE?我是否只需要在正确的位置将其放置(已经尝试了一些在各种MSDN页面和注册表键上列出的(?还是我需要创建一个Bootstrapper软件包?如果后者,是否有此过程中的最新文档?谢谢!

ps:如果我选择使用(最新的(.NET框架,该过程是否会更容易?(我猜我可能已经在机器上的某个地方已经有安装信息了(

更新因此,我尝试切换到Targeting .NET 4.6,下载了NDP46-KB304557-X86-X86-X64-X64-ALLOS-ENU.EXE,并将其放置在目录C:Program Files (x86)Microsoft SDKsClickOnce BootstrapperPackagesDotNetFX46。现在,安装程序设置项目现在构建,但发出以下警告(同样,其中3个(:

dotnetfx46 ndp46-kb304557-x86-x64-allos-enu.exe'。

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

只需下载 ndp461-kb3102436-x86-x64-allos-enu.exe 文件此链接

并将其复制到 C: Program Files(X86( Microsoft SDK Clickonce Bootstrapper packages dotnetfx461

Microsoft Visualio 2017

strong>正确的文件夹以添加Bootstrapper软件包是:

C:Program Files (x86)Microsoft Visual Studio 14.0SDKBootstrapperPackages

链接的各种重新分配.NET软件包可以在此处找到有关不同部署选项的信息:https://learn.microsoft.com/en-us/dotnet/framework/deployment/deployment-guide-for-develoders

错误消息为您提供了正确的文件夹,以添加到包装夹中。因此,应将文件ndp46-kb304557-x86-x64-x64-allos-enu.exe添加到包装下的文件夹" dotnetfx46"中。

我真的不明白为什么微软没有采取步骤使其成为自动化过程,或者至少提供有关如何将Bootstrap软件包添加到Visual Studio上的不同版本的逐步指南。这些年来,该过程和文件夹已更改了几次。

公共密钥Mismach很可能是由于以下事实:NDP46-KB304557-X86-X64-X64-ALLOS-ENU.EXE文件至少有两个版本,该文件与同一文件名分发,但公共钥匙不同。检查此链接:https://connect.microsoft.com/visualstudio/feedback/details/1584164/bootstrapper-packages-packages-have-brekages-have-bren-links-n.-wrong--wrong-wrong-public-public-public-keys-/public-public-keys

=" ANS">

对我(VS2017 Enterprise(正确的路径为(4.7.1(C: Program Files(X86( Microsoft SDK Clickonce Bootstrapper packages dotnetfx471

希望这会有所帮助

Benoist Lugnier

迟到了几年,但是我确实找到了一个在VS2017上有用的答案。

注册表密钥" HKLM Software WOW6432Node Microsoft genericbootstrapper"包含一个"路径"密钥,该密钥显示了Boottrapper文件的路径。对我来说,这是以下内容:

c: program Files(x86( Microsoft SDKS Clickonce Bootstrapper

我检查了那条路径,确实有一个" packages dotnetfx461"目录,但它不包含ndp461 ... enu.exe文件。我刚刚复制了该文件,一切都起作用。

相关内容

  • 没有找到相关文章

最新更新