I am trying to build a SP Hosted App (On Prem).

What is the difference between installing a SharePoint app using Powershell (Import-SPAppPackage and Install-SPApp) vs uploading to the app catalog.

I see that when I run the powershell command, the app does not show up in app catalog, but app is installed on target site. Is it a way of bypassing app catalog or am I missing something?

What are the recomended approach for installing an app.

Update: Looks like using powershell to install apps is just another way to distribute apps but 'Administrator Driven' and not 'User Driven' like when using 'App Catalog'.I found below link helpful in understanding the difference.

Ref: http://www.slideshare.net/chrisobrien/deep-dive-into-sharepoint-2013-hosted-apps-chris-obrien slide no 13 for reference.

2 Answers 2


Import-SPAppPackage will import the App into the Site Collection.

Install-SPApp will install an instance of the imported App into the specified Web.

For SharePoint Server (on-prem) it is just a programmatic way to install Apps without utilising the App Catalog. These cmdlets are not the same (if even available) on SharePoint Online.

You can also use Tenant scoped deployment by deploying through the App Catalog but this will only maintain a single instance of the App across the entire tenant/farm.

  • So, if I install the app using Install-SPApp, it will bypass app catalog, essentially making it unavailable for site collections other that target site. Is that right? If I want to write an app to implement a specific functionality for a site, installing it this way makes it available only to that site, and make it unavailable for other sites, Correct?
    – sssreddy
    Nov 27, 2014 at 7:51
  • Yes, I believe that's correct. Adding the App to the Corporate/Internal App Catalog enables end users to install the App at a site that they wish (if they have permissions to do so) otherwise using the PowerShell methods enables you to install without making the App visible for end users to install. You could also add the App to the App Catalog, install the App to the site that you wish, then untick 'Enable' on the App in the App catalog, this will prevent end users from installing further instances of the App
    – z.rahui
    Dec 1, 2014 at 0:38
  • Thanks for the info. Based on your answer, I googled a bit, and found a interesting slide, that further explains the distribution process. I have added that to the question for reference.
    – sssreddy
    Jan 17, 2015 at 0:07

For SharePoint Apps exists an different deployment methodology.

The following figure shows the conceptual architecture for building apps for SharePoint.

enter image description here

Multiple options for hosting enter image description here

And therefore you not can to make solutions deployment a farm scope and of site.

Your application to be deployed in the enviroment of development from Visual Studio creates all items in the site of development automatically.

How to: Publish an app for SharePoint by using Visual Studio.

In the production site you have publish the app in the store private or public:

How to: Submit apps for SharePoint to the Office Store

  • I am not making the solution farm scope, its a SP Hosted App. I want to know, whats the difference between installing an app (SP hosted app) using Import-SPAppPackage and uploading it to the catalog, as it looks like Powershell seems to be doing something different.
    – sssreddy
    Nov 27, 2014 at 5:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.