Installing a solution to Sharepoint Farm:
We can install a solution package by loading Microsoft.SharePoint.Powershell snap-in and then calling the Add-SPSolution cmdlet passing the –LiteralPath parameter using a value that contains the physical path to the solution package file.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
Once
you have added the solution package using the Add-SPSolution cmdlet,
you can deploy it using the Install-SPSolution cmdlet. Note that once
the solution package has been added, you refer to it using the –Identity
parameter whose value should be the name of the solution package file
without any path.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction"SilentlyContinue"
You
should also observe that the call to Install-SPSolution includes two
additional parameters which are –Local and –GACDeployment. The –Local
parameter tells SharePoint Foundation that it only needs to worry about
deploying the solution package on the local server which can speed
things up when developing on a single-server farm. The other parameter
–GACDeployment is required whenever you are deploying a solution package
which installs an assembly in the GAC.
Retracting and Removing a Solution:
If you want to remove a solution package from a farm after it has been deployed you must retract it and then remove it. The act of retracting reverses the act of deployment. For example, retracting a solution will force SharePoint Foundation to delete all the files it copied during deployment as well as uninstalling features and deleting assemblies from the GAC. Once you have retracted a solution you can then remove it which deletes the solution package file from the configuration database.
You can retract a solution package using the Uninstall-SPSolution cmdlet. When calling Uninstall-SPSolution you should pass the -Identity parameter and the -Local parameter in the same manner as when calling Install-SPSolution. You should also pass the –Confirm parameter with a value of $false because failing to do so can cause the cmdlet to prompt the user. This can cause problems because it has the effect of freezing Visual Studio when you execute a script that prompts the user for a response.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
Once
you have retracted the solution using the Uninstall-SPSolution cmdlet,
you can then remove it by calling Remove-SPSolution which instructs
SharePoint Foundation to delete the solution package file from the
configuration database.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
Of
course, these calls to Uninstall-SPSolution and Remove-SPSolution will
fail if the solution package is not currently installed and deployed.
Therefore, it makes sense to add a call to Get-SPSolution and
conditional logic to determine whether the solution package is currently
installed and deployed before attempting to retract it or remove it.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
We can also check the status of the timer job that installs/uninstalls solution, using $solution.JobExists
while ( $solution.JobExists )
{
write-host "."
sleep 1
}
write-host "solution deployed"
We can install a solution package by loading Microsoft.SharePoint.Powershell snap-in and then calling the Add-SPSolution cmdlet passing the –LiteralPath parameter using a value that contains the physical path to the solution package file.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
Add-SPSolution -LiteralPath "C:\SolutionCollections\TestFeature.wsp"
Once
you have added the solution package using the Add-SPSolution cmdlet,
you can deploy it using the Install-SPSolution cmdlet. Note that once
the solution package has been added, you refer to it using the –Identity
parameter whose value should be the name of the solution package file
without any path.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction"SilentlyContinue"
Add-SPSolution -LiteralPath "C:\SolutionCollections\TestFeature.wsp"
Install-SPSolution -Identity "TestFeature.wsp" -Local -GACDeployment
You
should also observe that the call to Install-SPSolution includes two
additional parameters which are –Local and –GACDeployment. The –Local
parameter tells SharePoint Foundation that it only needs to worry about
deploying the solution package on the local server which can speed
things up when developing on a single-server farm. The other parameter
–GACDeployment is required whenever you are deploying a solution package
which installs an assembly in the GAC.Retracting and Removing a Solution:
If you want to remove a solution package from a farm after it has been deployed you must retract it and then remove it. The act of retracting reverses the act of deployment. For example, retracting a solution will force SharePoint Foundation to delete all the files it copied during deployment as well as uninstalling features and deleting assemblies from the GAC. Once you have retracted a solution you can then remove it which deletes the solution package file from the configuration database.
You can retract a solution package using the Uninstall-SPSolution cmdlet. When calling Uninstall-SPSolution you should pass the -Identity parameter and the -Local parameter in the same manner as when calling Install-SPSolution. You should also pass the –Confirm parameter with a value of $false because failing to do so can cause the cmdlet to prompt the user. This can cause problems because it has the effect of freezing Visual Studio when you execute a script that prompts the user for a response.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
$SolutionPackageName = "TestFeature.wsp"
Uninstall-SPSolution -Identity $SolutionPackageName -Local -Confirm:$false
Once
you have retracted the solution using the Uninstall-SPSolution cmdlet,
you can then remove it by calling Remove-SPSolution which instructs
SharePoint Foundation to delete the solution package file from the
configuration database.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
$SolutionPackageName = "TestFeature.wsp"
Uninstall-SPSolution -Identity $SolutionPackageName -Local -Confirm:$false
Remove-SPSolution -Identity $SolutionPackageName -Confirm:$false
Of
course, these calls to Uninstall-SPSolution and Remove-SPSolution will
fail if the solution package is not currently installed and deployed.
Therefore, it makes sense to add a call to Get-SPSolution and
conditional logic to determine whether the solution package is currently
installed and deployed before attempting to retract it or remove it.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction "SilentlyContinue"
$SolutionPackageName = "C:\SolutionCollections\TestFeature.wsp"
$solution = Get-SPSolution | where-object {$_.Name -eq $SolutionPackageName}
# check to see if solution package has been installed
if ($solution -ne $null) {
# check to see if solution package is currently deployed
if($solution.Deployed -eq $true){
Uninstall-SPSolution -Identity $SolutionPackageName -Local -Confirm:$false
}
}
We can also check the status of the timer job that installs/uninstalls solution, using $solution.JobExists
while ( $solution.JobExists )
{
write-host "."
sleep 1
}
write-host "solution deployed"
No comments:
Post a Comment