通过App Catalog进行共享应用程序部署 [英] Shared App Deployment via App Catalog

查看:114
本文介绍了通过App Catalog进行共享应用程序部署的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据这篇文章
https://blogs.msdn.microsoft.com/richard_dizeregas_blog/2013/03/04/sharepoint-2013-app-deployment-through-app-stapling/
您可以安装SharePoint Apps一次应用程序目录,然后与整个租户
(或只是一些sitecollections)共享它们(通过选项"部署")。这将有很大帮助,因为客户不再需要为每个网站安装和更新应用程序。
According to this article https://blogs.msdn.microsoft.com/richard_dizeregas_blog/2013/03/04/sharepoint-2013-app-deployment-through-app-stapling/ you can install SharePoint Apps once in the app-catalog and than share them (via the option "Deployment") with the whole tenant (or just some sitecollections). This would help a lot because than the customer no longer needs to install and update the app per website.

推荐答案

作为一种解决方法,我们可以通过代码将应用程序部署到站点。

As a workaround, we can deploy app to site by code.

这是CSOM的演示供您参考。您可以修改它以实现到多个站点的安装。

Here is a demo of CSOM for your reference. You can modify it to implement the installation to multiple sites.

/// <summary>
/// Deploy SP App 
/// </summary>
/// <param name="context">Client context</param>
/// <param name="appFullPath">Full path to app file (.app)</param>
/// <returns></returns>
private static AppInstance DeployApp(ClientContext context, string appFullPath)
{
    using (var packageStream = System.IO.File.OpenRead(appFullPath))
    {
       var appInstance = context.Web.LoadAndInstallApp(packageStream);
       context.Load(appInstance);
       context.ExecuteQuery();
       return appInstance;
    }
 }

用法。

using (var ctx = new ClientContext(url))
{              
      ctx.Credentials = new SharePointOnlineCredentials(userName, securePassword);
      var appInstance = DeployApp(ctx, @"C:\Packages\SPApp.app");
      if (appInstance != null && appInstance.Status == AppInstanceStatus.Initialized)
      {
          Console.WriteLine("App was installed.");
      }
 }

致以诚挚的问候,

Lee Liu


这篇关于通过App Catalog进行共享应用程序部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆