Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I'm creating a provider hosted app for sharepoint which contains a number of client web parts. The app is for a specific department and it needs some custom configuration (columns, contenttypes etc) in the site in order for it to work.

When I deploy the app to the app catalog, it automatically becomes available to all the sitecollections. I don't want users in other sitecollections to be able to install this app. Is there a way to do this without activating the sideloading feature?

EDIT: I'm in an SharePoint online environment so I'm not able to create a separate webapplication for the sitecollection

share|improve this question

2 Answers 2

Alternative 1

Your App Catalog site can be configured at web application, NOT at site collection level. Since an App Catalog is scoped to a web application, all apps that you want to make available have to be in the App Catalog site for that web application, and eventually to all site collections under it.

However, you can have more than one App Catalog site and create a separate App Catalog in another web application and move specific department site collection there.

Assuming you're on on-prem SharePoint environment, the aforementioned configuration could be done

Updated

Alternative 2 With the help of deployment UI and filtering, you can specify which specific site collection you want your app to be installed on, too. This method is effective for both SharePoint-Online and On-Prem

share|improve this answer
3  
Nice answer! I didn't know you could have more than one AppCatalog! –  Benny Skogberg Jul 10 at 11:02
    
I'm not on a on-prem SharePoint environment so moving the sitecollection to a different web application is not an option. I'll update my post with this information –  Marlou Jul 10 at 11:17
    
I have just updated my response –  Falak Mahmood Jul 10 at 12:06
    
Thanks for the update but it seems the deployment UI is not working for apps with app parts in it :( –  Marlou Jul 15 at 9:20
up vote 1 down vote accepted

I found out that a user needs read rights on the app catalog to be able to see the app in "Apps from your organization". This also applies to the list item in the app catalog. So I stopped the permission inheritance on the list item for my app in the app catalog, and only gave specific users of my sitecollection read rights on the list item.

I still can't prevent that those users with rights install it in another sitecollection, but at least not every user can install the app in his sitecollectin.

share|improve this answer
1  
Why not simply make it so that the app cannot be installed after installing it on the intended site? –  wjervis Jul 21 at 12:00
    
It has to be installed multiple times in the sitecollection because it contains some client web parts. –  Marlou Jul 21 at 12:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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