![在 Windows Server Core(2012 R2)上安装语言包](https://linux22.com/image/683776/%E5%9C%A8%20Windows%20Server%20Core%EF%BC%882012%20R2%EF%BC%89%E4%B8%8A%E5%AE%89%E8%A3%85%E8%AF%AD%E8%A8%80%E5%8C%85.png)
我有语言包KB3012997
,并KB2839636
在 Windows Server Update Services 2012 R2 中准备并批准,但我的 Windows Server Core 2012 R2 客户端拒绝安装它。在谷歌搜索该问题后,似乎这些语言包更新无法通过 WSUS 安装,必须通过语言控制面板手动安装在客户端上。不幸的是,语言控制面板在 Windows Server 的核心版本上不可用,并且都control.exe input.dll
不起作用control.exe /name Microsoft.Language
。我尝试手动安装 CAB 文件,dism /online /Add-Package /Package-Name:E:\WsusContent\65\F1C5505C26603C0E907DEDD5A4B3A0E6511E44C65.cab
但更新未在 WSUS 控制台中注册为已安装。
我该如何在 Server Core 2012 R2 上安装这些语言包?是的,我知道这些语言包在 Server Core 上的作用很小。我可以通过为 Windows Server 的核心版和非核心版在 WSUS 控制台中创建单独的组并仅为非核心版批准这些更新来解决此问题。但为了满足我的孤独感,我还是想安装这些更新,因为如果它们真的从未打算针对 Windows Server 的核心版,我假设 WSUS 控制台不会说我的核心服务器适用于它们。现在我能想到的唯一方法是使用 Altiris RapidInstall 或 Sysinternals Process Monitor 等工具来查看在非核心版 Windows Server 上添加语言包时所做的文件/注册表更改,在安装后将dism.exe
这些更改应用于核心版服务器。
答案1
这是按设计运行的。这是 WSUS 的“功能”/“缺陷”,由一组选定的“更新”暴露出来,但实际上这些更新并不是该术语典型含义上的更新。
某些 WSUS 更新(包括语言包)被检测为适用于计算机,这意味着它们可以选择通过 Windows 更新之外的某种机制手动安装。通过批准更新,您可以从 WSUS 下载更新,但这实际上不会触发任何自动下载或安装。需要通过其他工具(例如控制面板语言设置)触发更新。
除了语言包之外,各种动态安装程序出于类似原因也具有类似的功能。动态安装程序在安装运行时从 WSUS 下载,但实际上并不是安装所针对的系统的更新(它们更新安装程序,而不是系统)。它们不会注册为已安装,因为它们不会安装到系统上,并且如果安装程序运行多次,它们可能会被多次下载。
这是按设计工作的,因此它是一个“功能”,WSUS 能够在管理控制下从内容传送系统提供文件,并且可能将内容缓存/传送到更靠近客户端的地方。
这与 WSUS 的典型预期行为有着根本的不同,因此可以说,WSUS 处理可选组件(包括语言包)的方式与 Windows Update 自动安装的绝大多数更新完全不同,这是一个设计“缺陷”。
要在服务器核心上安装,可以使用 DISM 或 LPKSETUP 命令。 https://technet.microsoft.com/en-us/library/hh825679.aspx https://technet.microsoft.com/en-us/library/hh825178.aspx