这两天由于runtime sdk for wpf的授权和runtime sdk 其他产品的授权的不一样导致自己混乱不堪。

总结下吧。

sdk 简介

当前ArcGIS runtime sdk 包括一系列的开发的工具。根据平台的划分,针对桌面的有ArcGIS runtime sdk for WPF/java/qt;针对移动端的ArcGIS runtime Sdk for ios/andriod/wp/winodwstore。

从10.2.2后esri新推出了一个sdk 叫做ArcGIS runtime sdk for .NET。runtime sdk for .NET 其实是将上面针对windows 平台的sdk整合了即,runtime sdk for .NET 包含ArcGIS runtime sdk for desktop(相当于ArcGIS runtime sdk for wpf),ArcGIS runtime sdk for windowphone和ArcGIS runtime sdk for window store(针对windows8以上的平板)。目前runtime sdk for .NET 的版本是10.3 beta. ArcGIS runtime sdk for .net 的出现使得原来的ArcGIS runtime sdk for windows phone和windows store 被取消。但是runtime sdk for wpf 依然存在且将会持续更新,目前wpf的版本是10.2.3,今年Q4将会推出10.2.4

由于runtime sdk for wpf 这个产品出现的比较早,其授权方式和其他的产品不太一样。

授权说明

ArcGIS runtime sdk 系列的产品在开发是不需要许可的。10.2.2的runtime sdk for ios/andriod/.net 安装后不需要使用许可,但是在开发的时候会出现水印。而runtime sdk for wpf安装后不授权,使用basic的功能是不需要许可,但是当使用到standard功能的时候,其会弹出一个对话框说是许可不支持。但是不会出现水印。

下面用个表格来说明wpf的授权级别这个问题:

|----|----|

|--开发许可--|--所有的功能都可以用,但是程序初始化的时候会弹出对话框--|

|--basic许可--|--可以使用除以为的功能--|

|--standard许可--|--所有功能包含LoacalServer--|

除了standard许可外,还可以选择购买Sptail Extension;3dExtension和NetworkExtension许可

如何授权

从10.2.2后,arcgis runtime sdk for ios、andriod、.net推出了离线的功能。这带来了授权的改变。runtime sdk for wpf作为sdk中的一员其授权方式 也发生了改变。

10.2.2以前的产品

NB:10.2.2以前的arcgis runtime 这个产品的授权wizard很是诡异,通过目前知道java和wpf都有问题

要想能够正常的授权,需要下面的三个原则:

  • 使用runtime sdk 自己的授权的wizard

  • 不能选择生成authorize.txt 文件,故离线授权的方式不行

  • 需要手动填写prvc的授权码,不能使用自己带过来的

下面依次展开说明:

STEP1: 使用自己的授权wizard

通常用户获取到的许可文件为prvc文件。ArcGIS 其他的产品,如ArcGIS for Server当机器处于联网环境下,通过双击prvc文件,即可授权。但是双击runtime sdk 的 prvc 会出现错误:invalid activation id。如图1所示**

出现这种错误的原因是由于通过双击prvc的方式,默认启用其他产品的授权wizard,而不是wpf的,runtime sdk for wpf 安装后有自己的wizard。通过使用wpf自己的授权wizard即可。如图2所示

STEP2: 输入授权码





生成授权文件,



STEP3:获取ecp文件

去keycodes中获取授权码(C:\Program Files (x86)\ESRI\License10.2\sysgen),将授权码粘贴到txt中,后缀改成ecp文件

STEP4:程序中绑定

授权完成后,通过runtime sdk for wpf的目录下的license viewer可以查看可以的许可文件。将该代码粘贴到应用程序的启动代码前,即可使用,如图所示

还有一种特殊的情形,有的开发人员,并不会安装sdk,而是直接引用sdk中的dll文件,这样的话,就没有办法使用授权的wizard,也就没有办法授权,建议是在可以使用的机器上授权

目前授权,只能严格按照上面的步骤。

10.2.2 后的授权

10.2.2以后,在runtime sdk的【开始】目录下面,没有了上面提到了Authorization wizard和license viewer的两个工具。

可以直接在下面的SetLicense方式中绑定ecp文件中的编码(将ecp文件使用notepad打开)。

basic的部署是不需要任何授权的,所以basic级别的授权不需要向以前粘贴许可字符串代码,但是在程序端,还是需要添加以下代码。


ArcGISRuntime.Initialize()

而standard通过下面的代码授权,授权码就是ecp文件中的代码

ArcGISRuntime.SetLicense("runtimestandard,101,rud####,none,0JLFD4S3####F002179",
"runtimespatial,101,rud###,none,KG##H148");

除了runtime sdk for wpf外,其他sdk的授权方式从10.2.2后完全改变,需要通过portal,online或者通过授权文件去授权standard的许可,而basic需要去develop center中生成client id来授权。

ArcGIS runtime sdk for wpf 授权的更多相关文章

  1. ArcGIS Runtime SDK for WPF已不更新,后续将被ArcGIS Runtime SDK for .NET取代

    ArcGIS Runtime SDK 10.2.5 for WPF is now available! by mbranscomb and Rex Hansen on January 27, 2015 ...

  2. ArcGIS Runtime SDK for Android 授权(arcgis android 去除水印)

    ArcGIS Runtime SDK for Android 授权 ESRI中国北京 要下载和安装 ArcGIS Runtime SDK for Android,您需要注册开发者账户,进而便拥有了访问 ...

  3. ArcGIS Runtime SDK for WPF之SimpleRenderer无法添加、报错“图形符号无法序列化为 JSON”

    ArcGIS Runtime SDK for WPF之SimpleRenderer无法添加.报错“图形符号无法序列化为 JSON” 在上一篇博文中如果在 esri:Map 里面是否设置了的UseAcc ...

  4. ArcGIS Runtime SDK for WPF学习笔记(一)

    本节主要讲解如何安装ArcGIS Runtime SDK,以及移除注释与水印. 附上ArcGIS Runtime SDK for .NET的官方操作手册网址:https://developers.ar ...

  5. ArcGIS Runtime SDK for WPF 初始化

    安装包 管理nuget包 Esri.ArcGISRuntime.WPF 也许还需要 Esri.ArcGISRuntime.Hydrography Esri.ArcGISRuntime.LocalSer ...

  6. Arcgis Runtime sdk for android 授权

    要下载和安装 ArcGISRuntime SDK for Android,您需要注册开发者账户,进而便拥有了访问所有功能的权限,从而实现开发和测试目的.但是,这种情况下,应用程序中的所有地图都具有水印 ...

  7. ArcGIS Runtime SDK for WPF之测量距离和面积

    bu不多说,上代码 using System.Windows; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Tasks; using ESRI ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述

    1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...

  9. Arcgis runtime sdk .net 二次开发

    前段时间研究了下 arcgis runtime sdk .net 二次开发··这里做个笔记 runtime版本为100.6 基于WPF 开发 命名空间引入 xmlns:esri="http: ...

随机推荐

  1. Atitit.  单列索引与多列索引 多个条件的查询原理与设计实现

    Atitit.  单列索引与多列索引 多个条件的查询原理与设计实现 1. MySQL只能使用一个索引1 1.1. 最左前缀1 1.2. 从另一方面理解,它相当于我们创建了(firstname,last ...

  2. Java Servlet/JSP容器配置 session id

    http://www.eclipse.org/jetty/documentation/current/session-management.html#setting-session-character ...

  3. redis源码学习_链表

    redis的链表是双向链表,该链表不带头结点,具体如下: 主要总结一下adlist.c和adlist.h里面的关键结构体和函数. 链表节点结构如下: /* * 双端链表节点 */ typedef st ...

  4. opencv读取图像输入到tensorflow模型中进行运算【cpp】

    void TransformMatToTensor(const cv::Mat &image, Tensor &input_tensor, int input_width, int i ...

  5. redis 服务相关

    一 什么是redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开 ...

  6. Apache: You don't have permission to access / on this server

    当我们需要使用Apache配置虚拟主机时,有可能会出现这个问题:Apache: You don't have permission to access / on this server # 同IP不同 ...

  7. 解决eclipse无法打开:Failed to load the JNI shared library

    64位系统安装了64位的eclipse,但是jdk是32位的 总之就是eclipse跟jdk搭配不上,所以解决的时候注意这一点

  8. Dijkstra普通算法及优先队列优化

    #include<stdio.h> #include<iostream> #define maxv 100 #define inf 0x3fffffff using names ...

  9. iOS 给tableView设置contentInset不生效?

    给tableView设置contentInset的时候如果tableView中内容比较多,超过一个屏幕,设置的contentInset是生效的,但是呢,如果页面内容比较少,我们会发现设置content ...

  10. .net , java webSocket 连接 Socket.io (1.4.4版本) 问题

    .net版Socketio4net类库和java版socket.io-java-client类库 连接socket.io 1.4版本都不行,网上大多是socket.io 0.9版本的,socket.i ...