SharePoint2013部署App遇到”如果您知道运行服务器的人员,请告诉他们启用应用程序”

SharePoint2013 在去年就出来了,之前也做过几个基于SharePoint 2013的POC项目,可是关于2013里面APP这块一直没有研究!

最近开始折腾,一开始就遇到一个APP错误,“很抱歉,应用程序已关闭。如果您知道运行服务器的人员,请告诉他们启用应用程序。”

解决办法:

1、因为APP是需要承载在专门的网站上的,所以需要给app在dns上面配置别名如“app.contoso.com”(就像在SharePoint Online上面的app store一样,本地部署就要在本地搞这样的服务)

2、进入管理中心确保管 Subscription Settings Service 和 App Management Service 应用程序 已经启动

3、启动之后需要在使用 Windows PowerShell 配置 Subscription Settings Service 应用程序

Power Shell

$account = Get-SPManagedAccount "contoso\administrator"

$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account

$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB

$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc

4、进入管理中心中,单击“应用程序”,在“应用程序”页上,单击“配置应用程序 URL”。在“应用程序域”框中,键入为主机应用程序创建的独立域。如(app)

通过如上配置,就可以解决此错误

笔记 “应用程序依赖 App Management Service 应用程序和 Microsoft SharePoint Foundation Subscription Settings Service 应用程序。这些服务应用程序使用多租户功能提供应用程序权限和为应用程序创建子域。因此,即使您未承载多个租户,仍必须为您环境的默认租户建立名称(未与租户关联的任何 SharePoint 网站将位于默认租户中)”

还不习惯app的开发方式,其实sharepoint 2013继续支持wsp部署的,所以我都是推荐客户使用wsp。不过2012创建sp2013的webpart要安装另一个开发包,所以以前的webpart估计是不能直接使用的,可能编译的时候有些东西改。