在Windows 2012 R2上安装.Net 3.5

所以我想在windows 2012 R2服务器上安装.net 3.5。 我已经尝试通过添加function,并通过DISM都失败。

当通过添加functionGUI进行尝试时,我正在使用“指定备用path”,该操作失败,并显示错误“安装多个angular色,angular色服务或function失败”

当试图通过boostPowerShell使用DISM我使用下面的命令。

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

这失败了

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

DISM日志文件可以在C:\ Windows \ Logs \ DISM \ dism.log中find

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

处理命令启用function时失败。 – CPackageManagerCLIHandler :: ExecuteCmdLine(hr:0x800f0906)

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

我也试过离线.Net安装程序,它说,我必须通过Windowsfunction添加它。 所有命令都以pipe理员身份运行,并通过提示提升。

在写这篇文章的时候,我search到了“类似的问题”,并且看了一下这个问题。 无法在Windows server 2012上安装.net 3.5

运行

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

产生与上面相同的错误。

我用来在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 Update)完全失败,并始终导致失败。

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

当我安装Windows安装盘或使用物理DVD时,我遇到了同样的问题,下面是我解决它的方法:

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

无论什么原因,我的光盘驱动器显示磁盘上的文件,但DISM不喜欢它,但将文件复制到C:似乎工作。

上述方法都不适用于我。 事实certificate,我有一个WSUS服务器configuration。 唯一的办法,我可以安装它

1)注册

2)进入电脑 – > HKEY_LOCAL_MACHINE->软件 – >策略 – >微软 – > Windows – > WindowsUpdate

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

4)删除/重命名这些键

5)停止并启动WindowsUpdate

6)增加了.Net3.5function

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

我希望它有帮助

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

错误代码0x800f0906进一步certificate此行为由Microsoftlogging: https : //technet.microsoft.com/en-us/library/dn482067.aspx

你最好的select是帮助解决这个问题是:

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

如果上述所有失败,我强烈build议您提供DISM服务日志做任何进一步的故障排除,但在这个阶段,我会更倾向于做一个完整的服务器重build。

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

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

计算机configuration\pipe理模板\系统

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

一定要检查这个选项:

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

确保您的源媒体绝对匹配您的Windows版本。

我花了半天的时间尝试使用Server 2012 ISO在Server 2012 R2上安装.NET35。 一旦源是正确的,DISM命令(从这个答案 )完美地工作。

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

我已经能够通过使用服务器pipe理器添加function向导来解决这个问题,并在那里指定一个替代的源代码。

http://www.danielclasson.com/install-net-framework-35-server-2012/得到这个信息

选项1也不适用于我,选项2成功完成。