Monday, May 19, 2014

How to disable SharePoint 2013 App store?

After our SharePoint 2013 environment has been configured for Access Apps user requested, by default the SharePoint Store is also open for all farm administrators and anyone with Site Owner/Full Control access to a SharePoint site. However, our SharePoint team is afraid that SharePoint Store Apps could become another Fab 40 issue in the future upgrade which means that vendor may not support them to work with new SharePoint versions. Before having a governance plan in place, we plan to disable users adding any SharePoint Store App and remove any SharePoint Store App that have been added already.

From Microsoft technet articles and blogs , it seems that there is no way of keeping site owners from of browsing the SharePoint Store. The only thing we could do is to configure the SharePoint so that they must request an app from the store and only specified administrators can approve these requests. We also identified several different ways to remove SharePoint Store App that have been added to SharePoint farm. As a result, any instances of the app that have already been added to sites by users will remain, but the app will no longer be available for users to add to additional sites. Here are the details steps.

1. The first step to disable users adding any SharePoint Store App to SharePoint is to create a new app catalog site for each webapp.

Because an App Catalog is scoped to a web application, all apps that you want to make available for a web application have to be in the App Catalog site collection for that web application. you have to create different app catalog site inside each webapp to manage the Apps for that particular webapp. I would strongly recommended to create separate content DB for app catalog sites for manageability. In order to create inside specific content DB, you would need to user Powershell commands instead of CA. Here is one example to create two app catalog sites for webapp  https://sharepointdev13.qualcomm.com/ and https://projectsdev13.qualcomm.com/.

# Create a new content DB inside on database avalability group
New-SPContentDatabase WSS_Content_AppCatalog -DatabaseServer spsqldev2 -WebApplication https://sharepointdev13.qualcomm.com/
New-SPContentDatabase PROJECTS_Content_AppCatalog -DatabaseServer spsqldev2 -WebApplication https://projectsdev13.qualcomm.com/

# Retrieve app catalog site template
$template = Get-SPWebTemplate “APPCATALOG#0”

# Create app catalog site in the new content DB using app catalog site template
New-SPSite -Url “https://sharepointdev13.qualcomm.com/sites/AppCatalog” -OwnerAlias “na\spdev1” -Name "Qualcomm SharePoint App Catalog" -Template $template –ContentDatabase WSS_Content_AppCatalog
New-SPSite -Url “https://projectsdev13.qualcomm.com/sites/AppCatalog” -OwnerAlias “na\spdev1” -Name "Qualcomm Projects App Catalog" -Template $template –ContentDatabase PROJECTS_Content_AppCatalog

# Update catalog configuration so it can be seen from CA
Update-SPAppCatalogConfiguration -site https://sharepointdev13.qualcomm.com/sites/AppCatalog”
Update-SPAppCatalogConfiguration -site https://projectsdev13.qualcomm.com/sites/AppCatalog”

2. The second step to configure SharePoint store to disallow user directly adding SharePoint store apps.  
This setting is at the web application scope. If users cannot purchase apps, they can still browse the SharePoint Store, and request an app. Farm administrators and the App Catalog site owner can view and respond to app requests.
  • Verify that the user account that is performing this procedure is a member of the Farm Administrators group. 
  • In Central Administration, on the Apps page, in the SharePoint and Office Store section, click Configure Store Settings. 
  • On the SharePoint Store Settings page, verify that the selected web application is the web application that you want to configure.
  • If you want to switch to a different web application, click the down arrow next to the web application URL to change to a different web application.
  • To allow or prevent purchases, select an option for Should end users be able to get apps from the SharePoint Store? Select No to prevent purchases but allow users to request apps.
  • To allow or prevent apps for Office from the Office Store to be started when a user opens a document in the browser, select an option for Should apps for Office from the store be able to start when documents are opened in the browser? Select No to prevent apps for Office from the Office Store from starting.
  • Click OK.  

3. The third step is to remove all the SharePoint App from the catalog so users will not able to add them as indicated from Microsoft technet.
Removal does not uninstall or remove the app from sites to which it has been added. It merely removes the app from the App Catalog, and users cannot add the app to other sites. Here are steps if you want to remove from the farm scope. 
  • In Central Administration, on the Apps page, click the Manage App Licenses 
  • For each SharePoint App Store app, select remove
  • The app is removed
If you only want to remove from certain Webapps instead of the whole farm, you could follow the following steps.
  • On the App Catalog site, click the Apps for SharePoint list.
  • On the Apps for SharePoint page, select the app that you want to remove.
  • In the ribbon, on the Files tab, click Delete Document to remove the app.
  • In the dialog box, click OK to confirm that you want to send the item to the site Recycle Bin.

Please note there is a way to remove app instance using Powershell the following powershell commands. Here is one example to remove one App named "Project Management" form one webapp.



$installedapps = Get-SPAppInstance  -web https://sharepointdev13.qualcomm.com

$yourInstalledapp = $installedapps | where {$_.Title -eq ‘Project Management’}
Uninstall-SPAppInstance -Identity $yourInstalledapp 




There is potential issue you might have is the error when the app is not installed using the same account you run the powershell command. This might be a bug since this account can remove apps from SharePoint UI directly.


Uninstall-SPAppInstance : The System Account cannot perform this action.

At line:1 char:1
+ Uninstall-SPAppInstance -Identity $yourInstalledapp
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Share...pInstanceCmdlet:UninstallSPAppInstanceCmdlet) [Uninstall-SPAppInstance], InvalidOperat
   ionException
    + FullyQualifiedErrorId : Microsoft.SharePoint.Administration.SPAppCmdlets.UninstallSPAppInstanceCmdlet 


Now, you should have disabled the SharePoint Store to all end users. You should build the App management governance plan before you open to end users again.





 

20 comments:

  1. Excellent and very cool idea and the subject at the top of magnificence and I am happy to this post..Interesting post! Thanks for writing it.What's wrong with this kind of post exactly? It follows your previous guideline for post length as well as clarity
    Sharepoint Training in Chennai

    ReplyDelete
  2. This article is very much helpful and i hope this will be an useful information for the needed one. Keep on updating these kinds of informative things...
    ios App Development Company

    ReplyDelete
  3. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
    Oracle training in annanagar

    ReplyDelete
  4. A universal message I suppose, not giving up is the formula for success I think. Some things take longer than others to accomplish, so people must understand that they should have their eyes on the goal, and that should keep them motivated to see it out til the end.
    digital marketing training in annanagar

    digital marketing training in marathahalli

    ReplyDelete
  5. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
    full stack developer training in annanagar

    full stack developer training in tambaram

    full stack developer training in velachery

    ReplyDelete
  6. Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
    Devops Training in Chennai

    Devops Training in Bangalore

    Devops Training in pune

    ReplyDelete
  7. I appreciate your efforts because it conveys the message of what you are trying to say. It's a great skill to make even the person who doesn't know about the subject could able to understand the subject . Your blogs are understandable and also elaborately described. I hope to read more and more interesting articles from your blog. All the best.
    python training institute in chennai
    python training in Bangalore
    python training in pune

    ReplyDelete
  8. This is a terrific article, and that I would really like additional info if you have got any. I’m fascinated with this subject and your post has been one among the simplest I actually have read.
    python training in Bangalore
    python training in pune
    python online training

    ReplyDelete
  9. I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post I would like to read this
    python training in tambaram
    python training in annanagar
    python training in OMR

    ReplyDelete
  10. I really like your blog. You make it interesting to read and entertaining at the same time. I cant wait to read more from you.
    python training in tambaram
    python training in annanagar
    python training in OMR

    ReplyDelete
  11. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving.Most of ideas can be nice content.The people to give them a good shake to get your point and across the command
    Blueprism training in Pune

    Blueprism online training

    Blue Prism Training in Pune

    ReplyDelete
  12. After seeing your article I want to say that the presentation is very good and also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.
    Blueprism training in tambaram

    Blueprism training in annanagar

    Blueprism training in velachery

    ReplyDelete
  13. We are a group of volunteers and starting a new initiative in a community. Your blog provided us valuable information to work on.You have done a marvellous job!

    Data science training in tambaram | Data Science training in anna nagar
    Data Science training in chennai | Data science training in Bangalore
    Data Science training in marathahalli | Data Science training in btm

    ReplyDelete
  14. Thank you for an additional great post. Exactly where else could anybody get that kind of facts in this kind of a ideal way of writing? I have a presentation next week, and I’m around the appear for this kind of data.

    Data Science course in rajaji nagar | Data Science with Python course in chenni
    Data Science course in electronic city | Data Science course in USA
    Data science course in pune | Data science course in kalyan nagar

    ReplyDelete
  15. Very good brief and this post helped me alot. Say thank you I searching for your facts. Thanks for sharing with us!

    java training in omr | oracle training in chennai

    java training in annanagar | java training in chennai

    ReplyDelete
  16. I likable the posts and offbeat format you've got here! I’d wish many thanks for sharing your expertise and also the time it took to post!!
    angularjs Training in bangalore

    angularjs Training in bangalore

    angularjs Training in btm

    angularjs Training in electronic-city

    angularjs online Training

    ReplyDelete
  17. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.


    AWS Training in Bangalore | Amazon Web Services Training in bangalore , india

    AWS Training in pune | Amazon Web Services Training in Pune, india

    AWS Training in Chennai|Amazon Web Services Training in Chennai,India



    aws online training and certification | amazon web services online training ,india

    ReplyDelete
  18. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.


    AWS Training in Bangalore | Amazon Web Services Training in bangalore , india

    AWS Training in pune | Amazon Web Services Training in Pune, india

    AWS Training in Chennai|Amazon Web Services Training in Chennai,India



    aws online training and certification | amazon web services online training ,india

    ReplyDelete
  19. When I initially commented, I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several emails with the same comment. Is there any way you can remove people from that service? Thanks.

    AWS Interview Questions And Answers

    AWS Training in Chennai | Best AWS Training in Chennai

    AWS Training in Pune | Best Amazon Web Services Training in Pune

    ReplyDelete