Adding Apps from Catalog or Store using CSOM API
As provisioning process, we would love to either add apps from app catalog or store directly using CSOM APIs. This should include the 'I Trust it' model as well. This will help in automating the entire site/sub-site provisioning and making sure apps are available after site is created.
Thanks for your feedback! We’re happy to report that your suggestion is now available in SharePoint Online tenants. You can programmatically add, publish, install, upgrade and uninstall add-ins and SharePoint Framework solutions from app catalog. See following documentation for additional details – https://docs.microsoft.com/en-us/sharepoint/dev/apis/alm-api-for-spfx-add-ins.
Wes Niemi commented
Hello - what about on premises SharePoint 2013? Our company policy is we cannot use Cloud Hosted Products. On premises only.
You guys are awesome!!! Thank you!! :)
Nigel Price commented
Would an idea be to have a two drops - the first (low level fruit) to publish SPFx webparts / solutions from the app catalog to sites and a second - later, second drop, would allow publishing from the store.
Stéphane Magne commented
In need too. Anything (REST, CSOM, gulp, ...) that is not manual: it is blocking for continuous integration.
We can actually update CDN files easily, but if we add a web part, a component, or just update its properties there's no other solution than manual.
Karim Roumani commented
Is there a PowerShell way to do this from the store?
Nik Patel commented
Agreed.. This should have more votes... This is huge gap in app installation and upgrade maintenance especially for large number of sites.
It will allow App Installation during site provisionning, and integration with devops tools such as TFS for install / update.
It's actually really difficult to integrate Apps Development in a continuous integration life cycle.
Currently if you implement site provisioning solution and you need to install some third party known app, you should activate side loading feature that is not recommended for production(by security reasons) and use method load and install.
this way has several disadvantages:
1) Customers will afraid such solution because of recommendations outlined above.
2) Upgrade process. it will "painfully" to upgrade each package on each site
3) You need an app package file to get file stream for LoadAndInstall method