您的位置:首页 > 移动开发

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

2017-08-12 21:14 393 查看

写在前面

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

      基数:十进制

      数值: 1 

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: