我正在尝试在 Windows 2012 Essentials 服务器上安装 .NET 3.5 Framework,但遇到以下错误:HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING
检查 CBS 日志后,在我看来 Microsoft-Windows-ServerCore Package~31bf3856ad364e35~amd64~~6.2.9200.16384 是有问题的包。这是日志的片段:
2014-12-03 15:57:55, Info CBS Failed to resolve execution chain. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-03 15:57:55, Error CBS Failed to process single phase execution. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-03 15:57:55, Info CBS WER: Generating failure report for package: Microsoft-Windows-ServerCore-Package~31bf3856ad364e35~amd64~~6.2.9200.16384, status: 0x80073701, failure source: Resolve, start state: Installed, target state: Installed, client id: DISM Package Manager Provider
2014-12-03 15:57:55, Info CBS Not able to query DisableWerReporting flag. Assuming not set... [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2014-12-03 15:57:55, Info CBS Added C:\Windows\Logs\CBS\CBS.log to WER report.
编辑:更仔细地查看 CBS 日志后,实际错误似乎是服务器正在尝试安装西班牙语版本的 .NET
2014-12-10 08:53:39, Error CSI 0000000b (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #623199# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = Microsoft-Windows-NetFx3-Deployment-LanguagePack, Version = 6.2.9200.16384, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"es-ES", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral, cb = (null), s = (null), rid = [93]"Microsoft-Windows-NetFx3-Server-OC-Package~31bf3856ad364e35~amd64~es-ES~6.2.9200.16384.NetFx3", rah = (null), manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
“Microsoft-Windows-NetFx3-Server-OC-Package~31bf3856ad364e35~amd64~es-ES~6.2.9200.16384.NetFx3”
我找到了解决我的问题的方法。为了详细说明我今天早些时候所做的编辑,CBS 日志显示 DISM 正在尝试安装 .NET 3.5 框架的英文版和西班牙文版,下面让您更好地了解发生了什么。
在上面的输出中,您可以看到它仅在西班牙语包上出错。我检查了应该存储语言资源的位置“C:\Windows*Language*”,发现有一个用于西班牙语语言包的文件夹“C:\Windows\es-ES”,但是该文件夹是空的。这样信息很清楚, 语言包被错误地删除或安装尝试但从未完成. 以太方式, 我想出的最简单的解决方案是重新安装正确的语言包以包含任何必要的依赖项DISM 需要。
解决我的问题的步骤如下:
执行以下命令安装所需的语言包。提供的命令将安装西班牙语语言包,您应该根据您的具体情况进行修改
注意:“E”是windows决定挂载ISO的驱动器号,你的里程可能会有所不同。
安装语言包后,您的服务器将重新启动。