Update Features

Today I needed to add some additional fields to content types. I heard about upgrade features before, but I never tried using this.

It was quite simple.

First I added a version number to the feature:

Version=”2.0.0.1″

Then I added some Upgrade actions:

Now running an Update-SPSolution to install the new solution does … absolutely nothing to my site.

Your Solution

Each feature with upgrades need to have a feature upgraded.this can be done with the SPFeature.Upgrade() method.

So I created another feature, which upgrades my content type feature.

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{

try
{

SPSite site = properties.Feature.Parent as SPSite;
if (site != null)
{

foreach (SPFeature feature in site.Features)

{
if (feature.DefinitionId.ToString() == “119ea7f0-da08-4d6b-8c0f-0706240bfc5a”)
{

// Upgrade the Contenttype and custom columns feature
feature.Upgrade(true);

}

}

}
catch (Exception Ex)
{

LoggingService.WriteTrace(“FeatureUpgrade”, TraceSeverity.Unexpected, Ex.Message);

}

}

Still quite a tricky problem.

When you run Update-SPSolution the new feature doesn’t appear. You first need to uninstall and reinstall the solution. This will now add the new feature. But now when I activate my feature again absolutely nothing happens.

I had to update the version number of my feature again

Version=”2.0.0.2″

Run Update-SPSolution and my changes have come through after I activate my new feature.


Discover more from SharePains

Subscribe to get the latest posts sent to your email.

Avatar of Pieter Veenstra

Is your business still running on paper trails, sprawling Excel files, or ageing Access databases? There's a better way — and I can show you exactly what it looks like. I'm the Technical Director of Vantage 365, a Microsoft solutions consultancy working with clients across the UK, the Netherlands, and worldwide. For over 30 years I've been turning messy, manual business processes into clean, automated systems that save time, reduce errors, and give teams the visibility they need to make better decisions. SharePains is not just any blog run by a Microsoft MVP. Have you ever used Try-Catch in Power Automate? The original post about Try-Catch in Power Automate can still be found on this site, https://sharepains.com/2018/02/07/try-catch-finally-in-power-automate-flow/ Or have you ever used the Pieter’s method to avoid variables and speed up your flows? https://sharepains.com/2020/03/11/pieters-method-for-advanced-in-flows/ You can contact me using contact@sharepains.com

Related Posts

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from SharePains

Subscribe now to keep reading and get access to the full archive.

Continue reading