Several months back, some folks started reporting an error when attempting to install SharePoint 2013 on certain Windows servers - specifically, ones that already had the .Net Framework 4.6 installed. The error simply states: "Setup is unable to proceed due to the following error(s): This product requires Microsoft .Net Framework 4.5" - well, 4.6 is surely newer, shinier and better than 4.5, so what gives?
Though initially identified as an incompatibility between the SharePoint 2013 installer and .Net 4.6, albeit with viable but potentially cumbersome workarounds (mess around in the registry, uninstall .Net 4.6 before re-attempting the SharePoint installation, etc.), Microsoft eventually released a permanent fix that involved some manual steps to replace a setup-related DLL. All good, right?
Well if you're lazy (erm I mean, efficient) like me, you might feel we can do one better. Since the fix involves basically downloading a file, extracting it, then replacing a file that's part of the SharePoint 2013 installation media, it kind of fits in nicely with one of my open-source projects which performs many of the same steps for SharePoint prerequisites and updates - AutoSPSourceBuilder. So I set about incorporating the KB3087184 fix as one of SharePoint 2013's "prerequisites" - that is, it should really be considered a prerequisite if you want to install 2013 on a server that has all Windows Updates (including .Net 4.6x) already applied to it.
Here's how to proceed with automatically integrating the KB3087184 fix yourself, if you find yourself in that situation:
- Download & extract the latest AutoSPSourceBuilder after reading a little bit about it to get acquainted, if you're not already
- Run the script as usual, making sure to specify:
- -SourceLocation <path to your SharePoint installation source/DVD/mounted ISO>
- -Destination <path where the assembled stuff should be saved>
- -GetPrerequisites:$true (this is important as we consider KB3087184 to be a SP2013 prerequisite now)
- -CumulativeUpdate <CU name, e.g. "October 2016">
- <other optional parameters e.g. -Languages, as needed>
- Check the output folder that appears, especially the _SLIPSTREAMED.txt file for confirmation that you have incorporated everything you were expecting
The AutoSPSourceBuilder PowerShell script will automatically detect if the fix is required, download the fix, rename the existing svrsetup.dll, then extract the updated svrsetup.dll to the correct location. Once the script completes, you should have a .Net 4.6 compatible SharePoint 2013 source, with your choice of cumulative update, language packs, etc. ready to be installed by something like SharePointDSC, AutoSPInstaller or (gasp) a manual process.