Installation
This article describes the steps required to install EntraCP in your SharePoint farm.
About the installation
Installing EntraCP is much easier and safer than AzureCP because it uses the deployment type ApplicationServer, which implies that:
- Its features are installed with a specific, additional step, preventing conflicts.
- Its assemblies are deployed on truly all SharePoint servers.
Download the required assets
Browse to the latest release and download the assets assembly-bindings.config and EntraCP.wsp.
Set the assembly bindings
Why those bindings are needed?
EntraCP uses NuGet packages Microsoft.Graph and Azure.Identity, which both require assembly bindings to work with .NET Framework 4.8 (more info).Why setting them in the machine.config?
Since SharePoint runs in many processes (w3wp.exe, owstimer.exe, powershell.exe, etc…), the only config file that can propagate the bindings to all is themachine.config.Important
The steps below must be completed on all the SharePoint servers, before the solution is deployed.
- Open the file
%systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\Machine.configin a text editor. - Locate the node
runtime(<runtime />or<runtime>). - Replace it with the one in the file
assembly-bindings.config, available in the assets of the each release. - Save the file.
Deploy the solution
Restart the services
On each SharePoint server, restart the IIS and the SharePoint timer services:
Restart-Service -Name @("W3SVC", "SPTimerV4")Validate the setup
EntraCP includes special page TroubleshootEntraCP.aspx, that can be used to validate the install (or update) was performed correctly, and the prerequisites are met.
This page is standalone: It does NOT use your EntraCP configuration.
It can be found in the central administration > Security.
More info about this page.
Enable the claims provider
To be enabled, EntraCP must be associated with the SPTrustedLoginProvider created when the federation was configured.
Execute this script on the server running the central administration:
$trust = Get-SPTrustedIdentityTokenIssuer "YOUR_SPTRUST_NAME"
$trust.ClaimProviderName = "EntraCP"
$trust.Update()