Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a powershell script that deploys about 12 web parts. They have all been created in the manner through visual studio 2010 and are being deployed to sharepoint 2010.

I am getting the following error when running Install-SPSolution for one of my web parts: Install-SPSolution : This solution contains no resources scoped for a Web appli cation and cannot be deployed to a particular Web application.

Can someone help me debug this? Every other Install-SPSolution command uses -AllWebApplications, and I do not want to specify the web application directly using -URL. Here is the command that is breaking (this is the same command used to successfully deploy all 11 other web parts):

Install-SPSolution –Identity PortalSelector.wsp -AllWebApplications -GACDeployment

Thanks.

share|improve this question
    
Interesting that a web part solution contains no web application-scoped resources... normally I would expect at least a SafeControls entry. Does the web part that is breaking have its own code class? –  Paul Lucas Aug 11 '10 at 20:40

3 Answers 3

up vote 6 down vote accepted

If the solution has no web application resources it is considered a global solution and does not actually need to target an web applications. Remove the -AllWebApplicaitons and this global solution will be deployed globally to the farm and will be available to all web applicaitons.

share|improve this answer
    
Agreed. -AllWebApplications is (I believe) the analogue to -allcontenturls back in the days of stsadm, which would produce the exact same behaviour and error message. –  James Love Aug 11 '10 at 20:57

Or try checking the ContainsWebApplicationResource property on the solution object itself

$solutions = Get-SPSolution
foreach ($solution in $solutions)
{    
    if ($solution.ContainsWebApplicationResource)
    {
        $solution | Install-SPSolution -AllWebApplications -Confirm:$false
    }
    else
    {
        $solution | Install-SPSolution -Confirm:$false
    }
}
share|improve this answer

I think question was how to deploy to a particular webapplication which is best practice also..

answer is

Install-SPSolution -Identity "MySPSolution.wsp" –WebApplication "http://localhost" –GACDeployment

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.