AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 705702
Accepted
Zapto
Zapto
Asked: 2015-07-15 09:32:00 +0800 CST2015-07-15 09:32:00 +0800 CST 2015-07-15 09:32:00 +0800 CST

在 Windows 2012 R2 上安装 .Net 3.5

  • 772

所以我试图在 Windows 2012 R2 服务器上安装 .net 3.5。我已经尝试通过添加功能和通过 DISM 都失败了。

通过添加功能 GUI 尝试时,我正在使用“指定备用路径”这失败并出现错误“安装多个角色、角色服务或功能之一失败”

当尝试通过 Elevated PowerShell 使用 DISM 时,我正在使用以下命令。

dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs 

这失败了

错误:0x800f0906 无法下载源文件。使用“源”选项指定恢复功能所需的文件的位置。有关指定源位置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=243077

DISM 日志文件位于 C:\Windows\Logs\DISM\dism.log

我已按照上面列出的 KB (243077) 为 SXS 文件夹设置组策略位置。重新启动,仍然是同样的错误。DSIM 日志显示以下内容

处理命令 enable-feature 时失败。- CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f0906)

一个快速的谷歌显示很多人都遇到了这个问题,你应该卸载KB2966826 和 KB2966828 这个服务器还没有安装。

我还尝试了离线 .Net 安装程序,它说我必须通过 Windows 功能添加它。所有命令都以管理员身份并通过提升的提示运行。

在写这篇文章时,我搜索注意到“类似问题”并查看了这个Unable to install .net 3.5 on Windows server 2012

跑步

dism.exe /online /enable-feature /featurename:NetFX3 /all

产生与上述相同的错误。

windows
  • 10 10 个回答
  • 33016 Views

10 个回答

  • Voted
  1. Best Answer
    Joshua McKinnon
    2015-07-18T16:16:14+08:002015-07-18T16:16:14+08:00

    我用来在 Windows 8.1 和 Server 2012 R2 上安装 .NET Framework 3.5 的命令是:

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
    

    其中 D:\ 是已安装的 ISO 或 DVD 驱动器。与您的唯一区别是 /LimitAccess,但我认为这是重要的部分,因为它阻止它尝试联系 Windows Update 或 WSUS。无论出于何种原因,对于 Windows 8/8.1 和 Server 2012/2012R2 上的 .NET Framework 3.5,这方面(联系 Windows 更新)完全被破坏,并且总是会导致它失败。

    另见:http: //blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

    • 13
  2. Peter
    2015-07-21T11:34:20+08:002015-07-21T11:34:20+08:00

    当我挂载 Windows 安装磁盘或使用物理 DVD 时,我遇到了同样的问题,这是我修复它的方法:

    1. 在根目录下创建一个文件夹(例如 C:\NetFx3)
    2. 将microsoft-windows-netfx3-ondemand-package.cab从 Windows 安装盘 .\sources\sxs 复制到 C:\NetFx3 文件夹
    3. 命令提示符以管理员身份
    4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
    5. 完成后,文本进度条将变为 100%,并会给您一条消息:“操作已成功完成”。

    无论出于何种原因,我的光驱显示磁盘上的文件,但 DISM 不喜欢它,但将文件复制到 C: 似乎有效。

    • 6
  3. Guy Clark Rimel
    2019-07-16T12:36:03+08:002019-07-16T12:36:03+08:00

    对我来说,解决方案是结合这些答案。我在一台装有 Windows Server 2012 R2 的机器上。

    我尝试解决我手头没有操作系统 ISO 的事实。但无法让它工作。所以我不得不为 Windows Server 2012 R2 找到一个 ISO。

    1.) 启动本地组策略编辑器或组策略管理控制台(WIN+R 并键入 gpedit.msc)。

    2.) 展开计算机配置,展开管理模板,然后选择系统。

    3.) 打开“为可选组件安装和组件修复组策略指定设置”设置,然后选择启用。

    4.) 选择“直接联系 Windows 更新以下载修复内容而不是 Windows 服务器更新服务 (WSUS)”复选框。单击应用,单击确定。

    wsus 设置

    5.) 下载操作系统的 ISO 并安装映像。我在这里下载了一个: https ://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

    *注意:这是一个 3Gb 文件。

    6.) 打开提升的 Powershell 并运行:

    DISM /在线 /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

    *注意:在这种情况下,ISO 已安装到“E:\ 驱动器”。

    使用 Powershell 安装 Net 3.5

    *这个线程是一个救生员。感谢所有贡献者,尤其是@Joshua McKinnon!

    • 2
  4. formica
    2017-02-28T09:10:18+08:002017-02-28T09:10:18+08:00

    以上方法都不适合我。原来我配置了 WSUS 服务器。我可以安装它的唯一方法是

    1) 注册

    2) 转到计算机->HKEY_LOCAL_MACHINE->软件->策略->Microsoft->Windows->WindowsUpdate

    3) 记下两个键的值:WUServer 和 WUStatusServer

    4)删除/重命名这些键

    5) 停止并启动 WindowsUpdate

    6) 增加.Net3.5 功能

    7) 放回密钥并重新启动 WindowsUpdate。

    我希望它有帮助

    • 1
  5. b_levitt
    2019-01-24T09:38:18+08:002019-01-24T09:38:18+08:00

    互联网上有很多关于此的内容,其中大部分内容都在此处的答案中进行了总结。我们尝试了所有方法,但都没有奏效。即使指向 sxs 文件夹的各种副本,它仍然会出现“找不到源文件”错误的变体。

    我终于将它指向另一个具有 .net 3.5 (c:\windows\winsxs)的完全修补的服务器上的 winsxs 文件夹的共享,并且它起作用了:

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\\otherserver\winsxs
    

    我的理论是安装过程正在寻找与服务器上当前 KB 匹配的源文件。我知道还有其他文章指出要删除两个特定的 KB,但那些没有出现在我们的已安装补丁列表中。

    另请注意,添加/删除功能不适用于此共享。我不得不使用DISM。

    • 1
  6. Noor Khaldi
    2015-07-24T10:20:16+08:002015-07-24T10:20:16+08:00

    当 DISM 命令跳过/Source开关指定的媒体并在线查找文件时,这意味着指定媒体中的源文件已损坏或不适用于您的服务器(版本不匹配)。

    错误代码0x800f0906进一步证明了 Microsoft 记录的这种行为:https ://technet.microsoft.com/en-us/library/dn482067.aspx

    帮助解决这个问题的最好办法是:

    1. 更改您正在使用的媒体,如果可能,重新下载。
    2. 以不同的方式呈现媒体。如果是虚拟机,请挂载 ISO。如果是物理的,请刻录到 DVD。如果两个文件,复制到本地磁盘。如果失败,请尝试共享文件夹。
    3. 如果以上所有方法都失败了,我读到您正在使用 WSUS,请尝试使用“更新源”位置配置 WSUS,您将 sxs 文件夹复制到共享文件夹,网络中的服务器将使用该文件夹作为源用于安装 Windows 组件:https ://technet.microsoft.com/en-us/library/dn482065.aspx
    4. 如果出于任何原因无法选择使用 WSUS,请从服务器中删除 GPO,并通过运行“ gpupdate /sync /force ”确保其设置未被缓存,完成后,尝试使用命令“从 Internet 在线安装” DISM /在线 /Enable-Feature /FeatureName:NetFx3 /All "

    如果以上所有方法都失败,我强烈建议您提供 DISM 服务日志以进行任何进一步的故障排除,但在此阶段,我更倾向于进行完整的服务器重建。

    • 0
  7. austinian
    2015-07-24T10:37:34+08:002015-07-24T10:37:34+08:00

    您的 DISM 命令没有找到所需的资源,因为它正在“在线”检查源。如果为 Windows 更新服务指定了更新源,则 Windows 6.2+ 将(默认情况下)仅检查更新源服务器以进行组件安装/修复。

    如果您不想将更新源(通常是 WSUS)服务器设置为修复/安装组件的源,则可以启用以下组策略:

    计算机配置\管理模板\系统

    指定可选组件安装和组件修复的设置

    确保选中此选项:

    直接联系 Windows Update 以下载修复内容,而不是 Windows Server Update Services (WSUS)

    • 0
  8. alex.z
    2016-05-20T04:51:27+08:002016-05-20T04:51:27+08:00

    确保您的 Sources 媒体与您的 Windows 版本完全匹配。

    我花了半天时间尝试使用 Server 2012 ISO 在 Server 2012 R2 上安装 .NET35。一旦来源正确,DISM 命令(来自this answer)就可以完美运行。

    • 0
  9. Chris Satola
    2017-02-28T09:23:33+08:002017-02-28T09:23:33+08:00

    我有完全相同的问题。我的解决方案是从 Active Directory 中删除服务器,安装 .Net 3.5,然后添加回 AD。我确信它在某个层面与 WSUS 有关,但这为我们解决了这个问题。我们只是确保在添加到域之前在所有服务器上安装 3.5。

    • 0
  10. Mickeybyte
    2017-06-22T03:28:12+08:002017-06-22T03:28:12+08:00

    我已经能够通过使用服务器管理器添加功能向导并在那里指定备用源来解决这个问题。

    从http://www.danielclasson.com/install-net-framework-35-server-2012/获得此信息

    选项 1 对我也不起作用,选项 2 成功完成。

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve