Apparently it is not possible to deploy a "classic" SharePoint solution (WSP) to a SharePoint 2016 MinRole server which is running a dedicated search role.

Most likely this is caused by the fact that on a dedicated search server role the „Microsoft SharePoint Foundation Web Application“ service is not installed. (At least I found posts which say this service had to be running in order to deploy WSP solutions. Yet I didn't find an official statement by Microsoft so far.)

Since our solution is a Custom Indexing Connector solution it has to be deployed on the crawl server. This works in most of topologies (in all likelihood as long as the „Microsoft SharePoint Foundation Web Application“ service is running on this server). But in a SharePoint 2016 MinRole deployment, running the crawl server on a dedicated search role is a designated topology.

(As a workaround you can copy the required DLLs manually to the GAC on the crawl server using gacutil.exe. This seems to be working so far but is no really satisfying solution.)

So my question is: is there any clean solution for this scenario?

  • What error you are getting? did you try install-spsolution with local parameter? is sharepoint admin and timer service running (check from services console)?
    – Waqas Sarwar MVP
    Oct 11, 2018 at 12:08
  • Unfortunately I have no environment with exactly this farm topology (dedicated search server role) available. The problem occurs on a customers system on which I have no access. But I stopped the Microsoft SharePoint Foundation Web Application service as well as the SharePoint Timer Service on my test farm and with this constellation I suceeded in deploying the solution (Install-SPSolution) using the "Local" parameter. So this seems to work. Oct 15, 2018 at 14:24
  • At the customers system ("real" MinRole dedicated search server) the local deployment failed. Error message at Install-SPSolution: "You cannot deploy this solution on this type of server computer as it is configured. This solution must be installed on a server of type: front-end Web server." Thus I changed the manifest.xml by adding the attribute DeploymentServerType = "ApplicationServer" and now I'm waiting again for feedback of the customer. (At my server it did work, of course :o) Oct 16, 2018 at 8:55
  • i am not developer so not sure if that works, I think safe option is either change the minrole to app+search or custom role or try to deploy locally.
    – Waqas Sarwar MVP
    Oct 16, 2018 at 13:05

2 Answers 2


Convert the server to the App+Search shared MinRole.

  • That would surely solve the problem - but this is (understandably) no option for our customer since it defies the purpose of using MinRoles in his scenario. Oct 16, 2018 at 8:59
  • Why? It is a MinRole. It enforces starting of services appropriately.
    – user6024
    Oct 16, 2018 at 17:15
  • Because he intends to have a "dedicated" search server. Oct 17, 2018 at 14:10

The solution was to add the (optional) DeploymentServerType attribute to the solution element of the manifest.xml for the WSP and set it to "ApplicationServer". (When omitted the default value for this attribute is "WebFrontEnd". See also https://docs.microsoft.com/en-us/sharepoint/dev/schema/solution-element-solution)

enter image description here

With the DeploymentServerType set to ApplicationServer the solution successfully deployed to all servers in the farm (with no need to use the "Local" Parameter on the dedicated Search servers). Centrally deploying it from one of the Application Servers using Install-SPSolution was enough.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.