写在前面
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