SharePoint2013 App开发部署遇到的一系列问题

写在前面

SharePoint Add-In = SharePoint App

中文: SharePoint加载项和SharePoint应用程序是一回事

所以看文章,找模板或找设置的时候要默念:SharePoint加载项和SharePoint应用程序tmd是一回事

加粗表示重要,欢迎入坑

 

满心欢喜用VS2013做了一个SharePoint2013 App Demo,F5一键运行却碰到一系列问题,随记录,与新手共享.

 

错误1

“未在此网站上启用应用程序的旁加载”,

 

解决办法:

 

进入SharePoint PowerShell

 

Enable-SPFeature -Identity e374875e-06b6-11e0-b0fa-57f5dfd72085 -url <siteurl>

 

 

启用这个Feature 即可!

错误2

部署步骤“安装 SharePoint 应用程序”中出现错误: 系统帐户无法执行此操作。

"Error occurred in deployment step "Installed app for SharePoint": The System Account cannot perform this action"

 

So the solution is:

- Create a new account.

- Add this account to local admin.

- Then add the account to farm admin group. Open sharepoint central administration, go to Security. From there select Manage the farm administrators group.

- Now open visual studio into different user ( Shift + Right Click, and open with different user ). and put the user which you have created now.

我在虚机域控上开发的,所以角色直接搞域管理员.

用另外一个身份运行VS2013打开App项目时会要求提升权限,点击使用其他凭据重启即可

 

问题3

本地SharePoint服务器不可用。检查服务器是否正在运行并连接到SharePoint场。

 "Error occurred in deployment step "Installed app for SharePoint": The local SharePoint server is not available. Check that the server is running and connected to the SharePoint Farm"

 

解决办法:新创建的账户要有sql server数据库的db_owner权限。记住每个数据库都要设置一遍。

 

问题4

错误 1 部署步骤“安装 SharePoint 应用程序”中出现错误: 只有网站管理员可以安装或卸载应用程序。

 

这个好解决:

进入SharePoint2013管理中心 -> 网站集 -> 更改网站集管理员

将新建的账户设为第二管理员即可.

 

问题5

部署步骤安装 SharePoint 应用程序中出现错误: 未能安装 SharePoint 应用程序。有关详细信息,请参见输出窗口。

 

输出窗口:

  @"错误 1

        相关 ID: 909d6d6b-f983-420a-800f-36c32230ed11

        错误详细信息: 此站点上已禁用应用程序。

        错误类型: Configuration

        错误类型名称: 配置

        异常消息: Microsoft.SharePoint.SPException: 无法安装应用程序。请检查诊断日志,了解有关应用程序部署失败的详细信息。

 

解决办法:

sahrepoint2013安装完后,需要通过powershell创建app domain,注意不要和所域使用相同的Domain

脚本如下,加精部分需要替换成你自己的,用管理员身份运行powershell.

 

 Add-PsSnapin Microsoft.SharePoint.PowerShell

 

#  net start spadminv4

#net start sptimerv4

 

 Set-SPAppDomain "spApp.com"

 

 Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} | Start-SPServiceInstance

 

 Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"}

 

$account = Get-SPManagedAccount "sp\administrator" 

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

$appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account

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

$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $appSubSvc

$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName AppServiceDB

$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc

 

 Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

 

问题6

问题5的后续,执行最后一句命令时报错:

PS C:\Windows\system32>  Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

Set-SPAppSiteSubscriptionName : 完成此请求所需的设置或服务当前不可用。请稍后重试此操作。如果问题仍然存在,请与系统管理员联系。

所在位置 :1 字符: 2

+  Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidData: (Microsoft.Share...ubscriptionName:SetSPAppSiteSubscriptionName) [Set-SPAppSiteSubscriptio

   nName]SPException

    + FullyQualifiedErrorId : Microsoft.SharePoint.Administration.SPAppCmdlets.SetSPAppSiteSubscriptionName

对应英文:

Settings or services required to complete this request are not currently available. Try this operation again later. If the problem persists, contact your administrator.

 

解决办法:

确保以下服务处于运行状态,

1. App Management Service Application

2. Microsoft SharePoint Foundation Subscription Settings Service Application

3. Managed Metadata Service

另可参考如下文章提到的服务

https://blogs.msdn.microsoft.com/how24/2013/06/14/prepare-your-sharepoint-2013-farm-for-app-development-and-debugging/

 

如果你的服务状态都没有问题,那么恭喜你和我遇到相同的问题,头疼吧.

头疼过后依然要解决问题.这就是攻城狮 哈哈哈!

尝试给服务设权限时发现Managed Metadata Service无法连接,,总算找到问题了.

打开IIS管理器,没错,IIS管理器,然后看到三个应用程序池处于停止状态,查看对应的应用程序,Sharepoint服务相关,全部启动,问题搞定.

 

问题7

怎么还有问题7,木错,还有问题7,颤抖么,你撸多了 骚年!

F5一键运行,弹出如下错误对话框:

无法启动程序”http://....../_layouts/15/AppRedirect.aspx?instance_id=......”

查看输出窗口,发现输出了App安装好的地址,所以忽略上面那个错,直接访问.

然后然后就有了本问题:

登录,无限跳出用户密码输入框

 

 解决方案: 

修改两个注册表选项,来禁止环回检查

1>. 启动注册表编辑器 (Regedt32.exe)

2>. 在注册表中找到并单击以下项:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters

3>. 在编辑菜单上,单击添加数值,然后添加以下注册表值:
      数值名称:DisableStrictNameChecking
      数据类型:REG_DWORD
      基数:十进制
      数值:

4>. 在注册表编辑器中,找到并单击下面的注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

5>. 右键单击“Lsa”,指向新建,然后单击“DWORD

      键入 DisableLoopbackCheck,然后按 Enter

      右键单击 DisableLoopbackCheck,然后单击修改 

      数值数据框中,键入 1,然后单击确定

6>. 退出注册表编辑器,然后重新启动您的计算机。

 

问题8

就是上面弹的那个无法启动程序的对话框.

这个应该是VS的问题,用那个地址直接敲入浏览器是可以访问的,所以也就不解决啦.

 

... 终于完成了.

遇到这么多问题可能和我的Sharepoint版本有关,用的是RTM版,连sp1都没打...

 

参考文章:

http://www.enjoysharepoint.com/Articles/Details/error-occurred-in-deployment-step-install-app-for-sharepoint-the-20819.aspx

http://www.cnblogs.com/jindahao/p/3580871.html

http://www.cnblogs.com/langu/p/4134881.html

https://msdn.microsoft.com/zh-cn/library/office/fp179923.aspx

https://blogs.msdn.microsoft.com/how24/2013/06/14/prepare-your-sharepoint-2013-farm-for-app-development-and-debugging/

https://sharepoint.stackexchange.com/questions/67034/error-while-opening-configure-app-urls-in-central-admin-sp2013

http://www.cnblogs.com/chenxizhang/p/3397543.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章