Author Posts

January 23, 2018 at 10:52 pm

I have 20+ custom SharePoint solutions I need to install and keep track of. I would like to setup some sort of workflow using DSC. Currently it works really well on a new client install. However, the custom solutions are updated frequently and we need to update them on the client SharePoint farms. Sometimes its just one or two solutions, sometimes its more. I have about 30 + farms that I need to track.

What I would like to accomplish is the following

After the initial installation of the .wsp files:
1. Determine version of solution installed – I get this through test-dscconfiguration and SharePointdsc.Reverse.ps1.
2. Edit the configuration to include newest versions of the .wsp solution
3. Remove old solution
4. install and deploy new version of solution.

Right now its a manual process and prone to errors.

Any ideas or suggestions to accomplish this ?

Partial listing of DSC config

 node $AllNodes.NodeName
    {
            
        #**********************************************************
        # This section deploys the Solutions in the 
        # SharePoint farm, 
        #**********************************************************
 
       SPFarmSolution nct.appointment.workflow.v.1.0.0.wsp
            {
                Name                  = "nct.appointment.workflow.v.1.0.0.wsp"
                LiteralPath           = "C:\DSC-Share\Media\NCT_WSP\nct.appointment.workflow.v.1.0.0.wsp"
                Ensure                = "Present"
                Version               = "1.0.0"
                WebApplications       = @("http://nctcentral.nctdev.com")
                Deployed              = $true
                PsDscRunAsCredential  = $Script:FarmAdmin
            }
        
        SPFarmSolution nct.caseworks.data.v.5.15.2_working.wsp
            {
                Name                  = "nct.caseworks.data.v.5.15.2_working.wsp"
                LiteralPath           = "C:\DSC-Share\Media\NCT_WSP\nct.caseworks.data.v.5.15.2_working.wsp"
                Ensure                = "Present"
                Version               = "5.15.2"
                WebApplications       = @("http://nctcentral.nctdev.com")
                Deployed              = $true
                PsDscRunAsCredential  = $Script:FarmAdmin
            }


.... about 20 more solutions follow 

Thanks