Tenant App Catalog vs Site Collection App Catalog in SharePoint Online
Tags: sharepoint, spfx
Published: 2022-05-20 08:16:25

Tenant App Catalog in SharePoint Online is the central place for managing all your SharePoint Apps/add-ins and SPFx solutions. The deployed packages are visible to all site collections. 
With the introduction of Site Collection App Catalogs, tenant administrators can enable app catalogs in selected sites. Once enabled site collection admin can deploy packaged into that particular site collection. 

Let’s compare the Tenant App Catalog & Site Collection App Catalogs

|                | Tenant App Catalog                                                        | Site Collection App Catalog                                                                                                                                                                                                    |
|----------------|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Availability   | All the sites in the tenant                                               | Only selected site collection                                                                                                                                                                                                  |
| Who can deploy | Tenant Administrator                                                      | Site Collection Administrator                                                                                                                                                                                                  |
| When to use    | - Manage the apps centrally<br>- Have apps available globally             | - Try-out apps<br>- Apps are specific to a site collection<br>- Developing an App and want to make sure that app is only available in a specific site                                                                                                                                                                   |
| Limitations    | -                                                                         | Configure and manage using the SharePoint Online Management Shell                                                                                                                                                              |
| Security       | Tenant Administrator has the option to verify all the apps being deployed | Site Collection Administrator has the option to verify all the apps being deployed. Although solutions installed, can be used only in a particular site, they can potentially access resources from other sites in the tenant  |

**Enable Site Collection App Catalog**
Run the following commands in "SharePoint Online Management Shell"

`Connect-SPOService -Url https://<site name>-admin.sharepoint`

When prompt enter your tenant administrator credentials 

`Add-SPOSiteCollectionAppCatalog -Site https://<site name>.sharepoint.com/sites/DemoAppCatalog`

This command will create a App Catalog in "DemoAppCatalog" site as shown in the below image

![Site Collection App Catalog](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ky0zhomjnn70splcgqay.png)

**Deploy Apps into Site Collection App Catalog**

1. Navigate to the Site Contents page of the Site Collection you have enabled app catalog
2. Click on the “Apps for SharePoint” list
3. Upload your custom solution .sppkg or .app file to the library
4. If its a .sppkg, You’ll get a prompt asking if you trust the solution and if you would like to “Make this solution available to all sites in the organization”. Make sure to check this option and then click Deploy.

**Disable Site Collection App Catalog**
Run the following commands in "SharePoint Online Management Shell"

`Connect-SPOService -Url https://<site name>-admin.sharepoint`

When prompt enter your tenant administrator credentials 

`Remove-SPOSiteCollectionAppCatalog -Site https://<site name>.sharepoint.com/sites/DemoAppCatalog`

After executing this script, the Apps for SharePoint library will be still visible in your site collection, but you will not be able to deploy or use any solutions deployed in it.

Happy Coding :wink: