If you receive, The Referenced Assembly Could Not Be Found. Error: 0x80073701

server-Referenced-Assembly-Could-Not-Be-Found-Error-0x80073701

while trying to install a Windows Feature, the problem is likely region / language related.  I have seen this error while installing serious features like Multipath IO and small features like Telnet.

The solution for most is to reinstall the operating system.  You can perform an ‘in-place upgrade’ which means putting in a DVD or USB stick that contains Windows installation and running the setup again.  You will have to reinstall your programs but you will not loose your data files.

According to several posts/blogs/articles like THIS one, the alternate solution is to set all of the language settings in CONTROL PANEL > REGION to be the same or to edit the registry to remove languages that do not match yours.  Take note that these have not worked for me and I end up performing an inplace upgrade.

If you still want to play to avoid reinstalling the OS, the registry key that others point to is:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect

 


8 Comments

bw · March 16, 2022 at 8:29 am

I also got this same error in PowerShell. Here’s what was going on for me. Maybe something similar is happening and my experience will give you some ideas.

I am pushing a new anti-virus product (Sophos) to Windows Server 2016. There are known incompatibilities running Windows-Defender and Sophos. My script was supposed to uninstall Windows-Defender before installing Sophos but it didn’t. After both are installed I get the error message when trying to uninstall Windows-Defender. My plan is to uninstall Sophos then uninstall Windows-Defender then re-install Sophos.

Michael Lynn · October 16, 2019 at 1:12 pm

You’re a good man JoeN! installing, uninstalling the language pack of the offending language (foundin referenced CBS log) fixed my issue.

Phil · September 10, 2019 at 7:27 am

Thanks so much! Uninstalling languages sorted it right out 😀

Ritesh Srivastava · April 16, 2019 at 5:36 am

Thanks, It works
Just open the Windows Powershell in SERVER 2016 and follow the path, C:\Windows\System32> lpksetup
” Choose uninstall display languages” and uninstall the French,German, Korean,Japanese language. It will take 2-3 Hours time to uninstall the languages Package.
After uninstalling the languages , fresh open the Server Manager Dashboard and again install the telnet client Feature , This time I got succeeded in installing Telnet Client in server 2016.

techguyx · September 30, 2018 at 8:41 am

Interesting article. Same issue here, but we only have English installed. In registry, we can see all other languages. Can’t delete any of them, get an error Error While Deleting Key.

    rajababu · July 21, 2020 at 10:23 pm

    Any solution?

Joe N · August 31, 2018 at 7:23 am

I was able to fix this as follows:

I had the same experience with a new Dell server, loaded with Server 2016 with English, Japanese, French, Spanish, and Korean languages pre-installed.

Something went south and the language pack for Korean was not installed. But the OS registry entries in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect] were created and orphaned.

When I tried to install some roles or features the error “The referenced assembly could not be found.” was returned due to the install looking for those referenced language entries that were not installed.

If you open powershell and run lpksetup, click on uninstall display languages and see which languages are installed. I uninstalled all extra languages, one at a time.

Now you can try the install and when it fails goto c:\windows\logs\cbs. Throw the CBS log into notepad and search for the text error. Look for a line with “error CSI 0000000a (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) “, the next line with say “Info CBS Failed to pin deployment while resolving Update:” and might have the name of the package that is missing.

If your luck it will have a language code EN, ES, ko-KR, etc…

That’s the language package that has been orphaned!

Now the fun part you can
1. Delete all the entries in the registry, alot of them!
or
2. Download the language pack or language pack ISO for 2016 server and install the language pack for the offending language using the lpksetup utility and the cab for the language. Then using lpksetup again to remove the language.

Done!

Try your role or feature install again.

This is how I ended up fixing the problem.

Took me a while to find the proper language pack for Server 2016, the windows 10 packs no work-y… Had to down load an ISO from the Microsoft licensing site to get the correct one!

Hope this helps someone!

Windows Feature Installation The Referenced Assembly Could Not Be Found. Error: 0x80073701 | daHIFI.net · December 4, 2019 at 10:03 am

[…] on a Dell Server 2016 machine when trying to uninstall Windows components (Hyper-V in this case). This post gave me hint I needed to figure out the root cause, some missing language […]

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *