Answered by:
Installing roles and features error 0x80073701

Question
-
I have a Windows Server 2016 Standard with Active Directory Domain Services and DNS installed. The server is working for a few months now. Yesterday I was going to install the DHCP role and it gives the error "The referenced assembly could not be found. Error: 0x80073701".
I cannot also install updates with Windows Update, I can however install updates manually.
I searched for this error and some people worked this around by installing missing language packs, but I have never installed or removed any language pack.
Thursday, September 7, 2017 5:19 PM
Answers
-
You can also try a repair install by running setup.exe from the root of the install media but do so can be risky so I'd opt to stand up a new one, patch it fully, license it, join existing domain, add active directory domain services, promote it, transfer FSMO roles also making it a GC, check health via dcdiag / repadmin tools, when all is good decommission / demote old one. Sounds like a lot but should only take around an hour or so to do.
Regards, Dave Patrick ....
Microsoft Certified Professional
Microsoft MVP [Windows Server] Datacenter Management
Disclaimer: This posting is provided "AS IS" with no warranties or guarantees, and confers no rights.- Marked as answer by Carlos Sota Thursday, September 14, 2017 8:20 AM
Monday, September 11, 2017 1:33 PM
All replies
-
I searched for this error and some people worked this around by installing missing language packs, but I have never installed or removed any language pack.
I would not go down that rabbit hole unnecessarily. I'd check system and servicing health by running;
sfc /scannow
dism /online /cleanup-image /restorehealth
also try installing the latest cumulative update.
http://www.catalog.update.microsoft.com/Search.aspx?q=KB4039396
Regards, Dave Patrick ....
Microsoft Certified Professional
Microsoft MVP [Windows Server] Datacenter Management
Disclaimer: This posting is provided "AS IS" with no warranties or guarantees, and confers no rights.Thursday, September 7, 2017 6:26 PM -
@Dave patrick
I will try that, already have done sfc /scannow but did not help.
Friday, September 8, 2017 2:41 PM -
@Dave Patrick,
I have checked system and servicing health, both found and fixed errors. But I am still getting the same assembly error 0x80073701
Monday, September 11, 2017 11:52 AM -
You can also try a repair install by running setup.exe from the root of the install media but do so can be risky so I'd opt to stand up a new one, patch it fully, license it, join existing domain, add active directory domain services, promote it, transfer FSMO roles also making it a GC, check health via dcdiag / repadmin tools, when all is good decommission / demote old one. Sounds like a lot but should only take around an hour or so to do.
Regards, Dave Patrick ....
Microsoft Certified Professional
Microsoft MVP [Windows Server] Datacenter Management
Disclaimer: This posting is provided "AS IS" with no warranties or guarantees, and confers no rights.- Marked as answer by Carlos Sota Thursday, September 14, 2017 8:20 AM
Monday, September 11, 2017 1:33 PM -
Thanks Dave Patrick, it looks like I will have to configure a brand new server.Thursday, September 14, 2017 8:20 AM
-
Right, so after spending a few hours on this issue, I finally found a solution. The internet has a few sources on this, while https://www.urtech.ca/2018/02/solved-windows-feature-installation-the-referenced-assembly-could-not-be-found-error-0x80073701/ this link was probably the closest to solution, but not enough info.
Problem:
Windows thinks there is a language pack installed and hence attempts to install additional MUI files during role deployment. This fails and the installation as well.
Solution:
1. (Easy) Run lpksetup.exe from administrative command prompt. Choose to uninstall language packs and if you find any, remove them. Then reboot just in case. For some crazy reason the machine I had this problem on (a DC) had Korean language pack installed for god knows what reason - we are not even in Asia.
In the end - it did not help my cause... Still failing with same error. But try this first as some people said it helped them and this is an easy try.
2. Looking at the DISM log, I found nothing useful. SBC.log however contained the following error:
2018-05-31 18:21:40, Error CSI 0000000e (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #17491# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = Microsoft-Windows-ServerManager-Core-MgmtProvider-Deployment-LanguagePack, Version = 6.3.9600.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 = [140]"Microsoft-Windows-ServerManager-Core-Package~31bf3856ad364e35~amd64~es-ES~6.3.9600.16384.ServerManager-Core-MgmtProvider-Deployment-LangPack", rah = (null), manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]Note the fact it attempted to install a Spanish package, while our server has nothing to do with the Spanish language. This brings us to the registry editing and dependency cleanup.
WARNING: registry editing, especially on PRODUCTION SERVERS is a DANGEROUS task and should be taken with care, knowledge, patience and proper backup (or even several of different types). Please be warned.
The key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing" contains a few subkeys, notably PackageDetect, UpdateDetect and a few more. I did a registry search from this location ("Component Based Servicing") and looked for "Microsoft-Windows-ServerManager-Core-Package~31bf3856ad364e35~amd64~es-ES" (without the quotes), looking for the "data" entries. Those entries represent dependencies and once removed, solved the issue. Few notes:
a. Many of the keys are protected, but you have full control, so you can either add full permissions for the "administrators" group or take ownership of the key and then give the "administrators" group full permissions.
b. Permissions are set on the key level (the folder icon), not the data level.
c. You need to delete only the data entries you see are odd and out of place. For example, a package for ServerCore-something had a few dependencies, all of them language-neutral and an oddball of "Microsoft-Windows-ServerManager-Core-Package~31bf3856ad364e35~amd64~es-ES". Obviously it is out of place and can be removed.
d. i also searched for "es-es" under "packageDetect" and for some reason had a spanish version of a Windows KB. In this case it was not a dependency, but I deleted it anyway as I could not find any evidence Spanish version for this update was in fact installed.
I hope it will save someone a few hours. By the way, I was working on Server 2012 R2
Regards, Leonid
- Proposed as answer by Dmitriy VereshchakMicrosoft contingent staff Thursday, April 11, 2019 11:12 AM
Thursday, May 31, 2018 7:30 PM -
Thank you very much for the detailed information, It worked for me, but in my case it was in tr-TR language (never installed before). Thank you again.Thursday, August 2, 2018 1:01 PM
-
This was exactly what was keeping me from installing the Hyper-V role on Server 2012 R2 so thank you very much for the detail you provided. They had a few languages in there whose Packages, PackageDetect, and other keys needed to be removed. Once I removed all of the Hyper-V related keys involving other languages, Hyper-V installed without issue. Interestingly enough, the server in my case had Japanese and Spanish installed, but most of the keys I had to delete were Korean, which did not show up on the language pack uninstaller. Even after the language pack uninstaller removed Japanese and Spanish, there were still many keys with "es-es" and "jp-jp" inside the registry folders above.
One thing I did to make it easier was to take ownership of the entire "Component Based Servicing" key and assign Administrators Full Control.
Thanks again!
Tuesday, June 30, 2020 3:01 PM