Question

I'm upgrading our SharePoint environment, and was just going over over the farm solutions. The past administrators simply added solutions from past versions "Just in case" but I can't find what some of them even do, let alone if they're useful in our new version.

We're upgrading to SharePoint 2016, using 3 servers MS 2016 Servers:

  1. Application with Search server
  2. Front-end with Distributed Cache
  3. SQL server

What do the following farm solutions do? Do they work in SharePoint 2016 (not entirely sure if they even worked in 2013)?

  1. applicationtemplatecore.wsp -- I think its a base for other solutions?
  2. dev4side.sp2010.filteredlookup.wsp -- I know what this does, but does it work in 2016? It just allows the creation of a filtered lookup instead of using custom JS to do the same.
  3. form-allitems.aspx.wsp
  4. projecttrackingworkspace.wsp
  5. usersadbrowser.wsp
Was it helpful?

Solution

Usually there are features associated with SharePoint solution files. So, if you don’t deploy these solution files some of the features won’t be installed in to the new environment. However, these features are there in content databases and will complain during the upgrade. So, ideally you should deploy these solutions to new environment and you may remove these after the upgrade after doing some further analysis. Otherwise, you should remove these from current environment before the upgrade and make sure there’s no issue, then you don’t have to deploy these solutions to the new environment.

I found below PowerShell Scripts which are very useful to analyze about the solution files.

1.  Display all Solution files

    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    $farm=[Microsoft.SharePoint.Administration.SPFarm]::Local
    foreach ($solution in $farm.Solutions) 
            {
                if ($solution.Deployed){
                   Write-Host($solution.DisplayName)               
                }          
            }

2.  Identify features in a given solution file

    $packageName = "solutionname.wsp"
    $solId = (Get-SPSolution $packageName).Id
    Get-SPFeature | where {$_.solutionId -eq $solId}|select DisplayName, Scope

3.  Get all solution files and features

    foreach ($grp in Get-SPFeature | Group-Object SolutionId) {
        $sol = Get-SPSolution -Identity $grp.Name -ErrorAction "Continue"
        Write-Host $sol.Name '(ID:' $grp.Name '), Count:' $grp.Count -ForegroundColor Blue
        foreach ($fd in $grp.Group | sort DisplayName ) {
            Write-Host $fd.DisplayName '(' $fd.Scope ')'
        }
        Write-Host
    }

4.  Get all features 

    Get-SPFeature | select DisplayName, Scope , solutionId | Out-File C:\temp\Features.txt
Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top