Deploying and installing apps for SharePoint: methods and options
Learn about the methods for publishing, installing, and uninstalling an app for SharePoint.
Last modified: October 31, 2013
Applies to: apps for SharePoint | Office 365 | SharePoint Foundation 2013 | SharePoint Server 2013
You can upload your app for SharePoint to either the public SharePoint app 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 public app 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 SharePoint developer center.
When you are developing your app and deploying with Office Developer Tools for Visual Studio 2012, the validation checking 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 public app store. To open the public app 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 public app 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 Install and manage apps for SharePoint.
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 app for SharePoint instances is clean. This means that everything installed by the app is uninstalled. No artifacts are left behind. Components that an app uses but that are installed separately 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 page, but it does not remove the lists that were created with it. 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.
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.