我遇到了一个问题,我根本无法安装角色或功能。
我安装了 Windows Server 2016 标准版,桌面作为硬件机器(不是虚拟的),加入了现有域,安装了防病毒软件和一些工具,然后我添加了活动目录角色,提升为域控制器,然后使其成为主控制器。
我注意到 Windows Server Backup 默认未安装,并尝试添加它。使用 GUI 向导和 PS 都失败了,我还尝试使用 GUI 添加 IIS 服务器角色并得到相同的错误这是 PS 的输出我尝试使用 -source 开关指向 dell 安装 DVD,但错误没有改变我已经在网上搜索了一个星期,没有太多关于 Server 2016 的信息任何帮助都将不胜感激
PS C:\Users\Administrator.MOSBAUGH> install-windowsfeature -name windows-server-backup
install-windowsfeature : The request to add or remove features on the specified server failed.
Installation of one or more roles, role services, or features failed.
The referenced assembly could not be found. Error: 0x80073701
At line:1 char:1
+ install-windowsfeature -name windows-server-backup
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (@{Vhd=; Credent...Name=localhost}:PSObject) [Install-WindowsFeature],
Exception
+ FullyQualifiedErrorId : DISMAPI_Error__Failed_To_Enable_Updates,Microsoft.Windows.ServerManager.Commands.AddWind
owsFeatureCommand
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
False No Failed {}
以下是日志
2017-03-16 08:25:19,信息 CBS Exec:1 个部署需要批量暂存 2017-03-16 08:25:19,错误 CSI 00000008@2017/3/16:15:25:19.195 (F) onecore\base\wcp\componentstore\csd_locking.cpp(200):错误 STATUS_SXS_ASSEMBLY_MISSING 源自函数 CCSDirectTransaction::LockComponent 表达式:(null) [gle=0x80004005] 2017-03-16 08:25:19,信息 CBS 已将 C:\Windows\Logs\CBS\CBS.log 添加到 WER 报告中。 2017-03-16 08:25:19,Info CBS 将 C:\Windows\Logs\CBS\CbsPersist_20170316151828.log 添加到 WER 报告中。2017-03-16 08:25:19,Info CBS 将 C:\Windows\Logs\CBS\CbsPersist_20170316143828.log 添加到 WER 报告中。2017-03-16 08:25:19,Info CBS 将 C:\Windows\Logs\CBS\CbsPersist_20170316135830.log 添加到 WER 报告中。2017-03-16 08:25:19,Info CBS 将 C:\Windows\Logs\CBS\CbsPersist_20170316131828.log 添加到 WER 报告中。 2017-03-16 08:25:19,Info CBS 将 C:\Windows\Logs\CBS\CbsPersist_20170316123827.log 添加到 WER 报告。2017-03-16 08:25:19,Info CBS 无法将 pendating.xml 添加到 Windows 错误报告。[HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND] 2017-03-16 08:25:19,Info CBS 无法将 pendating.xml.bad 添加到 Windows 错误报告。[HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND] 2017-03-16 08:25:19,Info CBS 无法将 poqexec.log 添加到 Windows 错误报告。 [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND] 2017-03-16 08:25:19,错误 CSI 00000009 (F) STATUS_SXS_ASSEMBLY_MISSING #1938# 来自 CCSDirectTransaction::OperateEnding,位于索引 0(共 1 个操作),处置 2[gle=0xd015000c] 2017-03-16 08:25:19,错误 CSI 0000000a (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #1786# 来自 Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0,a = Microsoft-Windows-BLB-Deployment-LanguagePack,版本10.0.14393.0,arch amd64,culture [l:5]'de-DE',nonSxS,pkt {l:8 b:31bf3856ad364e35},cb = (null),s = (null),rid = 'Microsoft-Windows-BLB-Package~31bf3856ad364e35~amd64~de-DE~10.0.14393.0.WindowsServerBackup',rah = (null),manpath = (null),catpath = (null),ed = 0,disp = 0)[gle=0x80073701] 2017-03-16 08:25:19,Info CBS 解析更新时无法固定部署: Microsoft-Windows-BLB-Package~31bf3856ad364e35~amd64~de-DE~10.0.14393.0.WindowsServerBackup 来自文件: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING] 2017-03-16 08:25:19,信息 CBS 无法批量分阶段部署清单并固定程序包的部署:Microsoft-Windows-BLB-Package~31bf3856ad364e35~amd64~fr-FR~10.0.14393.0 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING] 2017-03-16 08:25:19,信息 CBS CommitPackagesState: 已开始保存程序包的状态2017年3月16日 08:25:19,信息 CBS CommitPackagesState:已完成包的持久状态 2017-03-16 08:25:19,信息 CSI 0000000b@2017/3/16:15:25:19.305 CSI 事务 @0x27e7fd8feb0 已销毁 2017-03-16 08:25:19,信息 CBS Perf:解析链已完成。 2017-03-16 08:25:19,信息 CBS 无法解析执行链。 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING] 2017-03-16 08:25:19,错误 CBS 无法处理单阶段执行。 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING] 2017-03-16 08:25:19,信息 CBS WER:为程序包生成失败报告:Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.14393.0,状态:0x80073701,故障来源:解决,启动状态:已安装,目标状态:已安装,客户端 ID:DISM 程序包管理器提供程序
2017-03-16 08:25:14,信息 DISM DISM 提供程序存储:PID=9420 TID=8584 提供程序之前未遇到过。正在尝试初始化提供程序。 - CDISMProviderStore::Internal_GetProvider 2017-03-16 08:25:14,信息 DISM DISM 提供程序存储:PID=9420 TID=8584 从位置 C:\Windows\TEMP\9635013C-AFB3-4CA4-A413-6716C64C4A10\CbsProvider.dll 加载提供程序 - CDISMProviderStore::Internal_GetProvider 2017-03-16 08:25:14,信息 DISM DISM 提供程序存储:PID=9420 TID=8584 连接到位于 C:\Windows\TEMP\9635013C-AFB3-4CA4-A413-6716C64C4A10\CbsProvider.dll 的提供程序。 - CDISMProviderStore::Internal_LoadProvider 2017-03-16 08:25:14,信息 DISM DISM 提供程序存储:PID=9420 TID=8584 遇到服务提供程序,正在执行其他服务初始化。 - CDISMProviderStore::Internal_LoadProvider 2017-03-16 08:25:15,信息 DISM DISM 包管理器:PID=9420 TID=8584 已完成初始化 CbsConUI 处理程序。 - CCbsConUIHandler::Initialize 2017-03-16 08:25:15,信息 DISM DISM 包管理器:PID=9420 TID=8584 CBS 正在初始化以供在线使用。有关 CBS 操作的更多信息,请参见:%windir%\logs\cbs\cbs.log - CDISMPackageManager::Initialize 2017-03-16 08:25:15,信息 DISM DISM 包管理器:PID=9420 TID=8584 已加载服务堆栈仅供在线使用。 - CDISMPackageManager::RefreshInstanceAndLock 2017-03-16 08:25:16,信息 DISM DISM 包管理器:PID=9420 TID=8584 正在启动对包的更改,值为:5、7 - CDISMPackage::Internal_ChangePackageState 2017-03-16 08:25:18,信息 DISM DISM 包管理器:PID=9420 TID=8584 CBS 会话选项 = 0x40100! - CDISMPackageManager::Internal_Finalize 2017-03-16 08:25:19,信息 DISM DISM 包管理器:PID=9420 TID=8012 操作错误:(null)(CBS HRESULT=0x80073701) - CCbsConUIHandler::Error 2017-03-16 08:25:19,错误 DISM DISM 包管理器:PID=9420 TID=8584 无法完成更改。 - CDISMPackageManager::Internal_Finalize(hr:0x80073701) 2017-03-16 08:25:19,错误 DISM DISM 包管理器:PID=9420 TID=8584 无法使用会话选项处理包更改 - CDISMPackageManager::ProcessChangesWithOptions(hr:0x80073701) 2017-03-16 08:25:19,错误 DISM API:PID=3560 TID=1232 无法处理功能更改 - CEnableDisableFeatureCommandObject::InternalExecute(hr:0x80073701) 2017-03-16 08:25:19,错误 DISM API:PID=3560 TID=1232 InternalExecute 失败 - CBaseCommandObject::Execute(hr:0x80073701)2017-03-16 08:25:19,错误 DISM API:PID=3560 TID=9896 CEnableDisableFeatureCommandObject 内部执行失败 - DismEnableDisableFeatureInternal(hr:0x80073701)2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 退出 DismEnableDisableFeatureInternal - DismEnableDisableFeatureInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 进入 DismGetLastErrorMessageInternal - DismGetLastErrorMessageInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 退出 DismGetLastErrorMessageInternal - DismGetLastErrorMessageInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 进入 DismDeleteInternal - DismDeleteInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 离开DismDeleteInternal - DismDeleteInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 输入 DismCloseSessionInternal - DismCloseSessionInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 输入参数:会话:2 - DismCloseSessionInternal 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 GetReferenceCount hr:0x0 - CSessionTable::RemoveSession 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 DismSession 的引用计数 = 2s 0 - CSessionTable::RemoveSession 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 成功将命令对象入队 - CCommandThread::EnqueueCommandObject 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 ExecuteLoop:CommandQueue 发出信号 - CCommandThread::ExecuteLoop 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 成功将命令对象出队 - CCommandThread::DequeueCommandObject 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 ExecuteLoop:取消发出信号 - CCommandThread::ExecuteLoop 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 离开 CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoopRemoveSession 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 成功将命令对象入队 - CCommandThread::EnqueueCommandObject 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 ExecuteLoop:CommandQueue 发出信号 - CCommandThread::ExecuteLoop 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 成功将命令对象出队 - CCommandThread::DequeueCommandObject 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 ExecuteLoop:取消发出信号 - CCommandThread::ExecuteLoop 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 离开 CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoopRemoveSession 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=9896 成功将命令对象入队 - CCommandThread::EnqueueCommandObject 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 ExecuteLoop:CommandQueue 发出信号 - CCommandThread::ExecuteLoop 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 成功将命令对象出队 - CCommandThread::DequeueCommandObject 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 ExecuteLoop:取消发出信号 - CCommandThread::ExecuteLoop 2017-03-16 08:25:19,信息 DISM API:PID=3560 TID=1232 离开 CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
昨天也进行了更新,除了 KB4013429 之外,其他都正常,但系统提示系统已更新
答案1
我可以按如下方式修复此问题:
我对新的戴尔服务器也有同样的体验,该服务器预装了 Server 2016,并预装了英语、日语、法语、西班牙语和韩语。
出了点问题,韩语语言包没有安装。但操作系统注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect
已创建并处于孤立状态。
当我尝试安装某些角色或功能时出现错误
找不到引用的程序集。
被返回,因为安装正在寻找那些未安装的引用语言条目。
如果您打开 powershell 并运行lpksetup
,请单击卸载显示语言并查看安装了哪些语言。我一次卸载了所有额外的语言。
现在您可以尝试安装,如果失败,请转到c:\windows\logs\cbs
。将 CBS 日志放入记事本并搜索文本错误。查找一行
错误 CSI 0000000a (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING)
下一行,比如说
信息 CBS 在解决更新时无法固定部署:
可能有缺少的包的名称。
如果你很幸运的话,它会有一个语言代码 EN、ES、ko-KR 等......
这就是那个已成为孤儿的语言包!
现在到了有趣的部分。你可以
- 删除注册表中的所有条目,很多!
或者
lpksetup
下载 2016 服务器的语言包或语言包 ISO,然后使用该实用程序和该语言的 cab安装有问题的语言的语言包。然后lpksetup
再次使用以删除该语言。
完毕!
再次尝试安装您的角色或功能。
这就是我最终解决问题的方法。
我花了一段时间才找到适用于 Server 2016 的正确语言包、Windows 10 包 — 没有工作……不得不从 Microsoft 许可站点下载 ISO 才能获得正确的语言包!
希望这对某人有帮助!
答案2
我必须从键 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect] 中删除所有参考值而不是包含 fr-FR 和 de-DE 值的键,现在我可以添加角色和功能,但服务器上均未安装任何语言包。
答案3
终于修好了!方法如下:
- 跑步
C:\Windows\System32\lpksetup.exe
- 选择“卸载”
- 卸载(几乎)所有显示的语言(例如法语、德语、韩语、日语)
- 这将需要一段时间
卸载这些附加语言后,再次打开服务器管理器,单击角色和功能向导并安装 telnet 功能。这不需要任何注册表编辑和服务器重启。