【发布时间】:2017-09-19 09:28:24
【问题描述】:
我在 MS Visual Studio 2017 中有一个 C# WinForms 项目。我添加了一个 Visual Studio 安装程序安装向导项目来为我的应用程序创建一个安装程序。这是我第一次使用安装程序项目。
安装程序正确地具有 .Net framework 4.5.1 的先决条件。但是,我想让安装程序包含 .Net 框架安装,而不是要求用户在安装时单独下载和安装(某些用户的机器没有互联网连接)。
我已经在设置属性页面中将先决条件设置为“从与我的应用程序相同的位置下载先决条件”,但是当我构建设置时,我看到以下 3 个错误:
错误:要在先决条件对话框中启用“从与我的应用程序相同的位置下载先决条件”,您必须为项目“Microsoft . NET Framework 4.6.1(x86 和 x64)”到您的本地计算机。如需更多信息,请参阅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-AllOS-ENU.exe 并将其放在目录 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46 中。安装程序设置项目现在构建但给出以下警告(同样,其中 3 个):
警告:“Microsoft .NET Framework 4.6(x86 和 x64)”中的“PublicKey”属性值与文件“C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\ DotNetFX46\NDP46-KB3045557-x86-x64-AllOS-ENU.exe'。
我想这意味着我不应该这样做?
【问题讨论】:
-
搜索了大约3个小时,终于找到了你的帖子,解决了我的问题。
标签: c# .net winforms windows-installer visual-studio-2017