如何以编程方式显示 "An app on your PC needs the following Windows feature." 对话框?

How to show "An app on your PC needs the following Windows feature." dialog programmatically?

当我尝试在没有 .NET 3.5 Framework 的 Windows 8.1 上 运行 .NET 3.5 应用程序时,Windows 将自动显示 "An app on your PC needs the following Windows feature. .NET Framework 3.5 (includes .NET 2.0 and .NET 3.0)" 对话框。

但我想以编程方式显示此对话框。我觉得对话框比DISM命令友好多了。

如有任何帮助,我们将不胜感激。

  1. 使用 Microsoft suggested code 在注册表中搜索 .NET 3.5。
  2. 创建一个Windows Form 程序,如果PC 没有.NET 3.5,则显示MessageBoxexample code

这是以安装了.NET Framework 的PC 为前提的。您无法检查是否使用 C# 安装了 .NET Framework。

这是不可能的。但是这里我有 2 个解决方案。

  1. 您可以用 C# 或其他编程语言制作一个 starter,用于检查 .NET Framework 的注册表项,以确定用户安装了哪个版本,或者没有安装 .NET Framework。

  2. 使用 InnoSetup。 InnoSetup 允许您编写一些脚本来检查对用户计算机的依赖性。您应该将应用程序打包到安装应用程序中。因此,您的应用程序不再是便携式软件。

您正在搜索的对话由名为 Fondue(功能点播用户体验工具)的工具提供。要请求 .NET 3.5,您需要像这样调用它:

FONDUE.exe /enable-feature:NetFx3

可以使用 DISM 列出可用功能:

DISM.exe /Online /Get-Features

您可以使用 FONDUE.exe /?on Microsoft Docs 找到有关火锅调用的更多详细信息。