While performing a multi-server installation all servers subsequent to the App server AutoSPInstaller was initiated from failed to join the existing farm and attempted to recreate the configuration database as shown in the following screen shot (open images
in new tab if not displayed):
Servers were WS2012 R2 with no internet access (offline install/parallel/remote).
SQL Server connectivity to the configuration database was verified using the ODBC tool on each server where this occurred.
The next step was to start the UI version of psconfig to see if it could locate the farm configuration database and the following error message popped up:
"The program can't start because api-ms-win-crt-heap-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem."
Ignoring the error message allowed the configuration wizard to start and it easily found the farm and its configuration database. Closed the wizard since we didn't want to configure via UI.
Next wondered whether the DLL was actually missing, or just not registered. It was not present in the SYSTEM32 folder for the farm we were configuring, but was present on another previously (successfully) installed farm. Found
Vlad Castrinescu's post regarding this .dll belonging to a specific Windows Update
package, however these servers are automatically patched so no option to install the update package Additionally, the set of servers that had the update showed it had been
installed the same day as SharePoint, so it was likely a product of the SharePoint installation rather than a Windows Update process. Discovered the missing DLL in the root folder of the SharePoint 2016 installation media. Although AutoSPInstaller had reported
both the prerequisites and the SharePoint binaries had installed correctly, something had not gone well or the group of DLLs present in the installation media would be present.
Noted that the pre-reqs downloaders
, as of the date of this post, both link to a different set of the C++ DLLs than
TechNet's SharePoint installation guide
does. Also noticed TechNet version of the VS2015 redist is 14,231 KB compared to 7019 KB for the version provided in the first two. Thus, even though the install had gone fine using the pre-req builder versions, updated
the offline install files for the prerequisites to match the TechNet links. Uninstalled SharePoint on all the problem servers and manually installed those two pre-reqs, then checked to make sure the DLL was present.
Following the above AutoSPInstaller was able to perform a successful remote install on all the servers in the farm. Should there be a check to verify the VS2012/15 DLLs are present before attempting to join the farm?