Не найдена сборка на которую имеется ссылка (0x80073701) при установке компонентов Windows
При установке или удалении компонентов или ролей в Windows Server или десктопных версиях Windows 10/11 может появится ошибка:
The referenced assembly could not be found. Error: 0x80073701.
Не найдена сборка, на которую имеется ссылка. Ошибка: 0x80073701.

Аналогичная ошибка при попытке установить компонент (WSL в этом случае) с помощью PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature : The referenced assembly could not be found.

Данная ошибка указывает на то, что файлы указанного компонента в образе Windows отсутствуют или повреждены.
Прежде чем продолжить диагностику, проверьте, есть ли обновления, которые требуют перезагрузки хоста (статус
Pending Reboot
):
dism /online /get-packages /format:table | Select-String "Pending"
Если после установки каких-то компонентов или пакетов нужно выполнять перезагрузку, сделайте это.
Затем проверьте целостность образа Windows с помощью команды DISM:
DISM /Online /Cleanup-Image /CheckHealth

Если команда вернет The component store is repairable, выполнить восстановление хранилища компонентов:
DISM /Online /Cleanup-Image /RestoreHealth
После этого восстановите целостность системных файлов (восстановленное хранилище будет использовать в качестве источника исходных файлов):
sfc /scannow
Если после восстановления системных файлов, компоненты Windows также не устанавливаются, проверьте ошибки в логе
%windir%LogsCBSCBS.log
.
В моем случае на Windows Server 2022 в логе CBS содержалась ошибка, указывающая на отсутствующие системные файлы ранее установленного обновления KB5012170:
CBS Failed to pin deployment while resolving Update: Package_for_KB5012170~31bf3856ad364e35~amd64~~20348.880.1.1from file: (null) [HRESULT = 0x80073701 – ERROR_SXS_ASSEMBLY_MISSING]
В этом случае нужно вручную скачать указанное обновление Windows из каталога обновлений Microsoft и установить MSU обновление на проблемной системе.
Если обновление отказывается устанавливаться из MSU файла, нужно распаковать его и установить в образ Windows в виде CAB пакета:
Распаковать MSU пакет:
expand -f:* windows10.0-kb5012170-x64 c:temp
Добавить пакет в онлайн образ Windows:
DISM.exe /Online /Add-Package /PackagePath:c:TempWindows10.0-KB5012170-x64.cab
Если скачать пакет нельзя (он не доступен) или пишет, что обновление неприменимо к вашей версии Windows, можно сделать так, чтобы Windows игнорировала поврежденный пакет
- Откройте раздел реестра
HKLMSOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing - Назначьте себя владельцем ветки (владелец по умолчанию – TrustedInstaller) и предоставьте себе полный права на все вложенные разделы

- Найдите ветку реестра с пакетом, который нужно игнорировать
- Измените значение параметра CurrentState на 0. Это указывает системе обслуживания Windows, что данный компоненте не установлен или не активен.
В нашем примере предыдущее значение состояния пакета
112
(Installed), мы изменили на
0
(Absent).
- Верните исходные права на ветку реестра, оставив для администратора только ReadOnly.
- Перезагрузите компьютер и проверьте, что компоненты (роли) Windows теперь добавляются успешно.
ERROR_SXS_ASSEMBLY_MISSINGвстречается для нескольких пакетов, возможно придется выполнить указанные действия для каждого из них. Все пакеты с ошибками из лога CBS.LOG можно вывести, выполнив поиск в файле с помощью Select-String:
Select-String -Path "c:windowslogscbscbs.log" -Pattern "Failed to pin"
Если и это не помогло, попробуйте выполнить In-place обновление текущего билда Windows с помощью последней версии установочного ISO образа с вашей редакцией ОС. Запустите мастер setup.exe с установочного образа Windows и при выборе режима обновлении, выберите Keep personal files and apps.

Windows Server 2022
Не найдена сборка на которую имеется ссылка (0x80073701) при установке компонентов Windows