简短的回答:管理 .net 框架的安装,调用 .Net 框架安装引导程序并完成它不是您作为 ISV 的工作。系统管理员可能希望以不同的方式部署软件,确保您不会通过做出假设来限制自己。
长答案:使用部署指南来确定如何使用 .net 框架打包您的应用程序。
关于 DISM 的更新:
我并不是说 DISM 会消失,只是对 DISM 的引用被替换为对 powershell 的引用,并且 DISM 是一个纯粹的管理工具。例如,比较有关Windows Server 2012的 Windows 功能安装的 MSDN 文档,其中突出显示了Install-WindowsFeature用于功能的管理安装,并且仅简要提及 DISM 到2008 R2的等效文档。
但是,我坚持认为,添加和删除角色和功能等操作不应作为应用程序安装的结果而静默执行。根据部署指南,链接 .Net 框架的推荐安装方法是调用引导程序并将其余部分留给它。有关确切的论点,请参见此处。
引导程序(通常会在较低版本的 Windows 中安装 .net 框架)被填充并替换为下面列出的对话框 - 只要没有其他部署问题(媒体、权限、组策略等...)该功能已安装,每个人都很高兴。如果存在部署问题,用户将被定向到服务器管理工具,可以在其中手动启用它。
除了 .Net Framework 安装的正式指南之外,按需安装在以下文档中被引用为维护兼容性的首选方法:
- .Net 4.5(幻灯片 8)中的新功能
“首选:您的设置尝试安装 3.5 MSI ... shim 安装正确的版本...”
- Windows 8 和 .Net Framework 3.5
“您尝试使用可从 Microsoft 下载的可再发行程序包安装 .Net 2.0、3.0 或 3.5...Windows 8 中的应用程序 shim 拦截该尝试并调用新 .Net 的安装3.5 功能。一旦触发,安装应该像从 UI、DISM 或 Powershell 启动一样继续进行。
- 在 Windows 8 上安装 .NET Framework 3.5
“要在 Windows 8 上运行需要 .NET Framework 3.5 的应用程序,您必须在您的计算机上启用 3.5 版本。您可以通过两种方式执行此操作:安装或运行需要.NET Framework 3.5(即通过按需安装 .NET Framework 3.5),或通过在控制面板中启用 .NET Framework 3.5。”