お客様先の Windows Server 2016 Std にて機能追加を実施しようとすると

-----------------------------------
指定されたサーバーで機能を追加または削除する要求に失敗しました。
1つ以上の役割、役割サービス、または機能をインストールできませんでした。
参照されたアセンブリは見つかりませんでした。エラー: 0x80073701
-----------------------------------

ネットで調べてみると言語パッケージ云々の情報があるものの
具体的な解決が判らず。。

最終的にOS再インストールで解決しかありませんでした。
お客様運用中のサーバなのに、再インストールはキツイ。。

ということで、こういうときのためにお客様に入っていただいている
某メーカーOS込の保守、以前もブルーアウトなどでお世話になってますが
今回も問合せすることに。

機能追加時のエラー詳細になる「CBS.LOG」を添付して状況を
お伝えすると早速、解答が。

なんと、OEM版で発生する問題で他メーカーで発生しているそうで
具体的な解決方法が。(さすがメーカー)

問題はやはり言語パッケージのようで、通常初期セットアップ後に
セットアップ以外の不要言語は自動的にアンインストールされるはずが
正しくアンインストールされず情報が中途半端に残ってしまうため
以後の機能追加やWindowsUpdateに影響しエラーが発生するとのこと。

具体的な対処方法は

1)不要な言語パッケージのアンインストール
2)問題となっている言語の特定
3)問題となっている言語の再インストール、アンインストール

まず、1)ですがコマンドプロンプトを管理者で起動し以下のコマンド

lpksetup /u

「表示言語のインストールまたはアンインストール」が起動するので
不要な言語を削除します。
日本語と英語は残してあとは削除。
※ 英語は基本機能らしく削除しない

続いて2)

C:\Windows\servicing
または
C:\Windows\servicing\Packages

レジストリ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages

を確認し、日本語と英語以外の言語らしき痕跡が残っていないかを
確認する。
今回の例では韓国語が残っていたので
Containers-Server-onecore-Package~31bf3856ad364e35~amd64~ko-KR~10.0.14393.0.cat
というファイルがありました。他にもko-KRが入ったファイルが複数ありました。

対象言語を特定したところで、3)のパッケージの作業になります。

まずは再インストールします。

言語パックは、OEM メディアの langpacks フォルダにあるので
DVDをセットし、:(DVDドライブ)\langpacks\¥ko-KR\lp.cab
をローカルにコピー

次のコマンドでインストール

Dism /online /Add-Package /PackagePath:C:\temp\lp.cab

インストールしたら、先程と同様に
lpksetup /u
でアンインストール。

上記により無事、機能追加を行うことが出来ました。
(※要所々々で再起動が必要なので、夜間再起動で数日要しました)

さすがメーカーサポートです。日本のFです。
ありがとうございました。

実は最後の問題がある言語パックをインストールする際に
もう一点問題が発生したのですが、それはまた別の機会に。