If you must stay with the same hardware/machines, then a two-step upgrade is your only option:
2008 to 2012, then 2012 to 2016.
But, if you have a virtual infrastructure or can use additional hardware, you can treat this as a migration rather than an upgrade.
Build new SQL servers and new IIS hosts, and then migrate the applications rather than upgrade the OSes.
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:
might have the name of the package that is missing.
If you're lucky, 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
- Delete all the entries in the registry, a lot of them!
or
- 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 use 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 download an ISO from the Microsoft licensing site to get the correct one!
Hope this helps someone!
Best Answer
Application Server role has been deprecated in Windows Server 2012 R2 as you already noted, though there is no indication as to where role features are moved or how they are named now. Documentation just says: "The Application Server role is deprecated and will eventually no longer be available as an installable server role. Instead, install individual features and roles separately."
Though by looking at Server 2012 R2 installation I was able to find all the features you mentioned anyway, but it seems it is in Server 2016 where we see "no longer be available as an installable server role" part really implemented - so there out of all role features/components mentioned by you I was only able to find that AS-WAS-Support from 2012 R2 renamed to WAS in Server 2016 this one is exactly what you need, i.e. Windows Process Activation and it includes exactly the same sub components in Server 2016. Screenshot of Get-WindowsFeature output:
If you execute Dism /online /Get-Features you also should be able to see WAS* features somewhere in between other IIS* features:
I think some functionality could have been merged into other features but maybe not. If you have software product requiring this role likely it does not have support for recently RTMed Server 2016 - you may work with vendor to get statement on supportability, if you have access to MSFT support just request them for information about where are all the features mentioned by you in Server 2016 and whether they all were they all removed or what.
Based on how it is worded in documentation mentioned above it is quite valid to ask MSFT to update their documentation to explain exactly where all the sub-components in Server 2016 as it does not seem to be the case that we can "install individual features and roles separately".
Additional section of MSFT documentation "Features Removed or Deprecated in Windows Server 2016" does not add any clarifications on Application Server role, referring back to the list of what has been deprecated in 2012 R2 & 2012.