This post is article 27 from the 30 Articles App series for SharePoint
When an app is installed, the SharePoint host environment records the version number for the installed app instance. App catalog sites always track their version number with the Office Store and detect if there is any update is available or not. The upgrade process by the SharePoint app model provides user-friendly experience which looks like below steps.
The app tile you will show “An update for this app is available” approx. 24hrs after an app update is published to the app store.
By default, SharePoint checks every 24 hours for updates to installed apps. A farm administrator can change this value to whichever is suitable. SharePoint Management Shell command, where h is the number of hours between checks.
Set-SPInternalAppStateUpdateInterval -AppStateSyncHours h
If you need to run this update immediately then you can click on “About” from the app tile – > get it and trust it to update the app.
Make sure you do not change the ProductID number.
Major steps that may be needed when you create an update for an app for SharePoint :
- Raise the Version number in the App element of the appmanifest.xml file. (MUST BE DONE)
- Change the AppPermissionRequests and AppPrerequisites section of the appmanifest.xml file.
- If your updating app-web components then Add any new components to the Feature exactly as you would if you were creating a new app for SharePoint project. Change existing files as needed. Open the Feature XML for editing, Increment the Version attribute of the Feature element.
- Updating host-web components – custom actions and app parts is easier than in the app web. You don’t need any update semantics. Just add/change the custom actions and app parts. When the app for SharePoint is updated, SharePoint always applies any new element manifest files and reapplies any changed element manifest files with the most recent version. When you update an app part, SharePoint replaces the old version with the new version in the Web Part gallery. Be sure to change the Name property of the ClientWebPart object when you update an app part. Doing this ensures that, when the app is updated, SharePoint will remove the old version of the app part (which is no longer part of the app) from all pages to which it was added. Users will need to re-add the new version to pages.
You can also deploy web components programmatically using a remote event receiver, which I will cover in next article.