Deploying and installing SharePoint Add-ins: methods and options
Learn about the methods for publishing, installing, and uninstalling an app for SharePoint.
Last modified: June 03, 2015
Applies to: apps for SharePoint | Office 365 | SharePoint Add-ins | SharePoint Foundation 2013 | SharePoint Server 2013
The name "apps for SharePoint" is changing to "SharePoint Add-ins". During the transition, the documentation and the UI of some SharePoint products and Visual Studio tools might still use the term "apps for SharePoint". For details, see New name for apps for Office and SharePoint.
You can upload your app for SharePoint to either the public Office Store or to an organization's private app catalog. A private app catalog is a dedicated site collection in a SharePoint 2013 web application (or a SharePoint Online tenancy) that hosts document libraries for apps for SharePoint and apps for Office. Putting the catalog into its own site collection makes it easier for the web application administrator or tenant administrator to limit permissions to the catalog.
If the app is uploaded to the Office Store, Microsoft runs some validation checks on it. For example, it checks whether the app manifest markup is valid and complete and verifies that any SharePoint solution packages (.wsp files) that are included do not include disallowed elements or Features with a scope broader than Web. The content of the package is also inspected for objectionable content. If the app passes all tests, the app package is wrapped into a file and signed by Microsoft. For more information about the validation process, see the Validation policies for apps submitted to the Office Store (version 1.7).
When you are developing your app and deploying it with Microsoft Office Developer Tools for Visual Studio, the app is directly installed in the target test SharePoint site. Since it is not passing through the Office Store, the validation checking described above does not occur.
Uploading an app for SharePoint to an organization's app catalog is as easy as uploading any file to a SharePoint Foundation document library. You fill out a pop-up form in which you supply the local URL of the app package and other information, such as the name of the app. When the app is uploaded to an organization's app catalog, similar checks take place and apps that do not pass are marked as invalid or disabled in the catalog.
Tenant administrators and SharePoint 2013 web application administrators can shop for apps for SharePoint on the Office Store. To open the Office Store, the administrator selects Add an App on the Site Contents page and then selects SharePoint Store in the Your Apps page. This opens a SharePoint Store page that the administrators can use to discover and learn about apps for SharePoint that vendors are offering. (They can also do this on office.com.) Apps that require a prerequisite that is not installed on the administrator's web application or tenancy appear dimmed and are unavailable in the app store. For example, if an app requires Search Services and this is not installed, the app appears dimmed. Administrators can sort, filter, and browse the list of apps, read about the apps, see app reviews, and purchase licenses for an app.
When an administrator decides to purchase a license, she must accept the terms and conditions of purchase and agree to the permissions that the app must have in order to execute, such as read access to lists or full control access to the site collection.
When one or more licenses for an app are purchased, the licenses are downloaded to the web application or tenancy. The app is not automatically downloaded and installed when the license is purchased, although administrators have the option to combine installation with license purchase.
Users install apps from the Your Apps page. This page has a merged listing of the following:
Apps for SharePoint from the web application's (or the tenant's) organization app catalog.
Apps for SharePoint from the Office Store for which the organization or tenant already owns a site license or a license which has been assigned to the user.
All the apps that the user can install immediately are listed, and with few exceptions only apps the user can install immediately are listed. Users can filter the apps included on the page to include only apps in the organization's app catalog. When an app is installed, it appears in the list of apps on the Site Contents page of the website to which it is installed.
Website owners install apps for SharePoint from the Your Apps page as described earlier in this topic. Installation creates an instance of the app. For more information about installing apps, see Add apps for SharePoint to a SharePoint 2013 site.
Sometimes a temporary loss of a network connection can block installation. If installation fails for any reason, the installation infrastructure will retry three times. If it does not succeed, an indication of the failure appears in the UI. Users can retry the installation later.
Website owners can uninstall an instance of an app for SharePoint through the SharePoint UI. Uninstallation of an instance of a apps for SharePoint is clean. This means that everything installed by the app is uninstalled.
However, components that an app uses, but that are installed separately from the installation of the app, are not removed. For example, suppose an app has a remote web page with buttons that create lists on the host web. Uninstallation of the app removes the app's tile from the Site Contents page which, in turn makes the remote page effectively inaccessible or unusable for end users, but it does not remove the lists that were created with the app. SharePoint does not keep a record of which lists on the host web were created with the app and which ones were created by users in the SharePoint UI, so it can't delete lists that were created with the app. This is generally desirable behavior because the lists may have data that remains useful to users even after the removal of the app that created the lists.
If the app for SharePoint includes an app web, the app web is deleted. This provides a cleaner uninstall than systematically deactivating features and reversing the deployment of the app's internal .wsp file.
When a user uninstalls an app, it is moved to the first stage Recycle Bin. Deleting it from there moves it to the second stage Recycle Bin. If it is deleted from the second stage Recycle Bin, then it is completely deleted and cannot be restored.
The UninstallingEventEndpoint web service, if one is registered in the app manifest of the app, executes at the beginning of the uninstallation process. It is a best practice to have an UninstallingEventEndpoint web service if you have an InstalledEventEndpoint web service and to design the UninstallingEventEndpoint service to reverse anything done in your InstalledEventEndpoint service. For more information, see Handle events in SharePoint Add-ins.