博客地址:http://blog.csdn.net/FoxDave

前几篇我们介绍了开发、部署和调试SharePoint应用程序的基础,本篇介绍更实用的操作,当我们开发一个SharePoint应用程序之后,如何发布它呢?

我们有两个途径发布我们的APP:发布到公共的Office商店,SharePoint可以通过在线查找商店中的应用进行安装;发布到内部组织的应用程序目录,这样SharePoint组织内的用户可以安装该APP。

发布到Office商店

发布到Office商店需要先进行注册卖方仪表板账户,上传到Office商店的应用微软会执行一系列的检查,确保上传的应用程序符合内容和行为准则,比如,它会检查清单目录标记是否完整有效,是否包含不允许的元素,应用的范围等等,如果通过检查,会打包成一个由微软签名的应用程序包。

上传到Office商店时,可以选择要提供给下载它的用户的许可证的条款:免费、试用或其他方式,按用户还是网站来提供。

SharePoint不强制实施应用程序使用的许可条款,而是提供了一个许可框架,我们可以在APP中包含代码逻辑来强制实施许可限制。比如,我们可以针对用户的付费情况来启用或禁用APP中的某些功能。

发布到应用程序目录

专用应用程序目录是SharePoint 2013Web应用程序中的一个专用网站集合,用来承载SharePoint APP的文档库。将目录放在自己的站点集合中更便于Web应用程序管理员来限制该目录的权限。

将SharePoint APP上传到企业应用程序目录就像上传文件到文档库一样。上传到应用程序目录的APP也会进行类似的检查,如果不能通过检查,APP会标记为无效或被禁用。

如何确定我们的APP要发布到哪里呢?下面的表格供我们参考:

Office商店 应用程序目录
应用程序公开可用 对此SharePoint部署具有访问权限的用户可使用应用程序
许可框架可用 许可框架不可用
应用程序包由微软进行技术和内容政策验证 在上传应用程序时由SharePoint执行应用程序包的验证
必须向微软卖方仪表板注册才能上传应用程序 不需要向微软注册

更多信息

本篇我们来发布到内部的应用程序目录上

首先在我们我们的测试Web应用程序上创建一个应用程序目录网站集:管理中心->应用程序->管理应用程序目录。

选定默认的创建新的应用程序目录网站,点击确定按钮。

如图所示填写信息,完成应用程序目录网站集的创建。

下面我们来具体看看如何发布我们的SharePoint APP。

SharePoint-hosted APP

此类SharePoint APP比较简单,没有外置的程序,我们只需要将应用程序包拿出来上传到SharePoint中即可,具体操作下面进行阐述。

我们打开之前的Hello World应用程序,右键点击项目节点,选择发布,点击打包应用程序按钮。

打包完成后会弹出APP包所在位置。

接下来到应用程序目录网站,点击左侧导航适用于SharePoint的应用程序,将打包的APP文件拖到该文档库里。

这样我们就发布好了这个应用程序。接下来我们浏览当前Web应用程序下的一个普通的网站。点击右上角的菜单,添加应用程序,左侧导航处选择来自您的组织分组。

点击应用程序图标,点击添加按钮,选择信任它,完成添加。


Provider-hosted APP

这种类型的APP由于有外置的Web应用程序,在以上步骤之前,我们需要先做一些准备工作,篇幅有限不细说了,但请仔细阅读(修改代码那里貌似可以忽略)。关于发行者ID和客户端ID,实际的环境中一般是多个APP共用一个发行者ID,我们这里只是用于测试,所以就将发行者ID设置为跟客户端ID一样的了。

然后我们先发布Web应用程序。

打开之前的SharePoint APP项目,右键点击Web应用程序项目节点,选择发布。在配置文件标签页,点击下拉框的新建配置文件,取一个名称,我们这里取作ProviderAPPWebConfig。(在发布之前先到IIS里面创建一个HTTPS类型的网站)

发布完成之后,再操作SharePoint APP项目,右键项目节点,选择发布,点击打包应用程序按钮,会弹出向导。

点击完成开始打包,打包成功之后同样会看到打完包的APP文件,跟上面一样,我们将它传到应用程序目录,然后添加到要使用的网站就可以了。

本篇完成了有几天了,迟迟没有发布是因为一直遇到问题,比如An error occurred...、拒绝访问等错误,尝试了几遍,总结出来的还是我上面说的,一定要仔细,ClientID和IssuerID一定要都对应上,认真检查,耐心些,问题会解决的。

最后附上调试时获取指定APP Pool的批处理

c:\windows\system32\inetsrv\appcmd list wp
pause




SharePoint 2013 开发——发布SharePoint应用程序的更多相关文章

  1. SharePoint 2013 开发——工作流架构

    博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...

  2. SharePoint 2013 开发——概述

     博客地址:http://blog.csdn.net/FoxDave 近来阅读SharePoint 2013开发一书,带着与大家一起分享其中的内容. 部署场景: 本地部署(On-Premise D ...

  3. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发         之前提到过, ...

  4. SharePoint 2013 开发——SharePoint Designer 2013工作流

    博客地址:http://blog.csdn.net/FoxDave SharePoint Designer 2013为开发者和高级用户提供了两种创建定制工作流的模式: 基于文本的设计器--即我们一直 ...

  5. 从SharePoint 2013迁移到SharePoint Online - 评估工具

    博客地址:http://blog.csdn.net/FoxDave 今天想跟大家分享一款从SharePoint 2013迁移到SharePoint Online时的评估工具:SharePoint ...

  6. SharePoint 2013开发入门探索(一)- 自定义列表

    在SharePoint 2013中创建自定义列表的方式有很多,在网站内容页面添加应用程序就可以创建(站点内容-〉 您的应用程序),也可以通过SharePoint Designer 2013创建,而本文 ...

  7. SharePoint 2013 开发教程

    做了SharePoint有三年了,大家经常会问到,你的SharePoint是怎么学的,想想自己的水平,也不过是初级开发罢了.因为,SharePoint开发需要接触的东西太多了,Windows操作系统. ...

  8. sharepoint 2013 开发环境安装

    Sharepoint 介绍 Sharepoint 可以帮助企业用户轻松完成日常工作中诸如文档审批.在线申请等业务流程,同时提供多种接口实现后台业务系统的集成,它将 Office 桌面端应用的优势结合 ...

  9. SharePoint 2013开发入门探索(二)- 列表操作

    我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其 ...

随机推荐

  1. 【转】 C++中的new VS C语言中的malloc

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 前几天一个朋友去面试百度空间的一个职位,被问及这个问题,我听后说了几点,不过感觉还是不透彻,所以上网查阅了一些资 ...

  2. MySQL通用优化手册

    转载: MySQL通用优化手册 内容提纲 MySQL的特点: 硬件.系统优化: MySQL 配置优化: SCHEMA设计优化: SQL 优化: 其他优化. MySQL 的特点 首先,需要明确的是.想要 ...

  3. Python 练习 11

    #!/usr/bin/python # -*- coding: UTF-8 -*- import math for i in range(10000): #转化为整型值 x = int(math.sq ...

  4. Scrum项目3.0

    1. 确保product backlog井然有序.(参考示例图1) 2. Sprint周期,一个冲刺周期,长度定为两周,本学期还有三个冲刺周期. 3. 确定Sprint目标. 3.1 产品负责人概括产 ...

  5. hdu 4405Aeroplane chess(概率DP)

    Aeroplane chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. nyoj------布线问题(kruscal+求最小值)

    布线问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1.把所有 ...

  7. 给Eclipse中hibernate.cfg.xml配置文件加提示

    在hibernate框架需要的jar包中找到hibernate3.jar,并用压缩软件打开,如图: 2 选择org文件夹--打开下一级文件夹 3 点击类型,方便找到dtd文件,下拉查看dtd文件,有两 ...

  8. javascript 对象和数组(花括号、方括号)

    1. javascript对象定义 var a = {var a = "test", var b = "test"} 2. javascript数组定义 var ...

  9. Objective-C:@class和#import

    @class和#import是OC中引用一个类的两种方式,其区别在于: #import相当于把被引用文件的内容拷贝到目标文件,这会包含被引用类的所有信息,包括被引用类的变量和方法(会降低编译性能 ): ...

  10. HDU 1864

    最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...