【问题标题】:Visual Studio VB.Net form requires the User to install VB.Net-How to avoid?Visual Studio VB.Net表单需要用户安装VB.Net-如何避免?
【发布时间】:2016-07-04 19:55:42
【问题描述】:

我开发了一个简单的表单,它没有任何 .Net 要求,但已发布的表单未在用户系统中打开并显示在用户系统中安装 .Net 框架的消息。

但这个问题只发生在 Visual Studio 中,如果我在 VB6 中创建相同的表单,那么该表单运行良好,无需任何 .Net 安装要求。

关于如何在 VS 表单中摆脱这种 .Net 安装要求(在用户系统中)有什么建议吗?

【问题讨论】:

  • 你不能。你需要安装 .NET
  • 感谢您的评论。我知道我不能,但是为什么在没有使用.Net 相关的东西时强制要求安装.Net?似乎微软在 VS 中强制要求的愚蠢要求。
  • 因为 VB6 和 VB .NET 是完全不同的产品。它几乎就像 JavaScript 和 Java。即使你有一个只有一个空 Main 方法的 VB .NET 程序,你也必须安装 .NET(运行时)。

标签: vb.net visual-studio visual-studio-2010 visual-studio-2012 vb6


【解决方案1】:

VB6 和 VB.NET 都有先决条件。碰巧 VB6太旧了,所有仍在使用的操作系统中已经包含了所需的先决条件 (Windows NT 4 SP4 and above)。

你说你“不使用任何.net 相关的东西”。这不是真的。 VB.NET 本身是 .NET 框架的一部分,也是您使用的 UI 库(可能是 WinForms)的一部分。

如果您需要在没有先决条件的情况下运行应用程序,您可以针对较早版本的框架:.NET 2.0 is included in Vista and above, .NET 3.5 is included in Windows 7 and above.

【讨论】:

  • 感谢您启发我对 VS 的了解。问题是他们中的大多数人仍在使用 XP,所以要求他们更新 .Net Framework 对他们来说是一件神秘的事情。
  • @Sixthsense:如果他们还在用XP,我希望他们没有联网。由于 XP 不再接收安全更新,这就像将您的汽车解锁在危险区域,而您的所有个人文件都放在后座上。如果他们是您的客户,就向他们推销操作系统升级!
  • @Sixthsense 您可以在程序的安装包中包含 .NET 框架。例如,您可以使用 NSIS(Nullsoft Scriptable Install System...它是免费的)作为您的安装程序并找到为您执行此操作的安装脚本。它可以检测用户拥有的版本并在需要时下载/安装。
  • @Chase Rocker,感谢您分享有关 NSIS 计划的信息。我成功下载了它,现在在谷歌搜索如何使用它:)
【解决方案2】:

System.Windows.Form 对象是 .Net 的一部分。您在表单上使用的每个控件也是如此。因此,如果您在 VS(VS 6 之后)中开发任何类型的表单,无论您是否意识到,您都在使用 .Net 框架。在这种情况下,这不是 Microsoft 的任意要求之一。

您还应该意识到,您的表单的 VB6 版本也必须在目标计算机上安装 VB6 运行时模块才能正常工作。因此,如果它运行良好,那只是因为该模块恰好已经在您的目标机器上注册。情况可能并非总是如此。

【讨论】:

  • 所以强制用户升级到更高版本的Widows-XP是VS中预先计划好的动作
  • @Sixthsense:不是真的:只是碰巧.NET 2.0 是在 Windows XP 之后发布的;因此,Windows XP 仅包含 .NET 1.0。可以为 Windows XP 免费下载较新版本的 .NET 框架(最高 4.0),甚至可以在 Windows 更新中作为“可选升级”提供。
  • 再次感谢您的知识分享 :)
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多