SuperMap iObject .NET开发完成后私有部署,打包安装
转载自:http://blog.csdn.net/supermapsupport/article/details/53319800
作者:皇皇
SuperMap iObjict .NET组件开发结束后,要部署在用户机器上使用,有两种部署方式,分别是共享部署和私有部署。共享部署简单,下载.NET组件,运行解压包下的Install.bat进行安装,有许可就可以使用开发的程序了。但是.NET组件包比较大,下载拷贝都不方便,并且组件文件的位置变化后程序还运行不了。私有部署就不存在这些问题,接下来我用一个范例展示一下私有部署的步骤。
一、 程序开发
(1)准备软件:
SuperMap许可中心
SuperMap iObjict .NET 8C
Visual Studio 2012
超图的产品都可以在官网的资源中心下载(http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx)根据自己的需求下载对应的版本。
(2)许可配置:
根据需求购买产品许可或者用3个月的试用许可,具体可按SuperMap许可中心安装目录下LicenseCenterHelp文件中的index.html中的步骤说明来配置许可。
(3)工程配置:
运行.NET组件包下的Install.bat进行安装,为了方便布局的时候拖控件到界面,就安装32的,即运行Install_x86.bat,安装完成后运行组件包SampleCode文件夹里面的Startup.exe,找个有地图的范例程序,程序正常运行,说明安装成功。运行开发工具Visual Studio 2012,项目在界面设计时可以看见工具箱里面有SuperMap的控件,这就可以进行开发了。
注意:安装的是32位组件,所以程序输出一定是X86才正确,不然会报找不到运行库文件*.dll。如果需要64位程序,也不要着急,等开发完成部署的时候可以通过配置改为64位程序。
二、 私有部署
先私有部署32位程序
(1)把.NET组件目录的bin文件夹整个拷贝到程序输出路径,如图1。
(2)程序引用需要的库文件,图2,图3。
(3)修改程序配置文件
建的程序一般会有这个文件,没有的话就创建一个,图4。
把以下内容复制进去
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Bin"/>
</assemblyBinding>
</runtime>
</configuration>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
(4)配置活动平台
用的32位组件,解决方案平台要设置为X86,64位组件就设置为X64,图5。
注意,修改之后,检测一下程序的输出路径(工程右键-属性-生成-输出),不是前面设置的路径了就需要修改一下。
64位程序私有部署和32位不同的就是两个地方,一是拷贝bin的时候选择Bin_x64,拷贝过去后建议把文件夹名修改为Bin;二是配置活动平台配置的时候设置为X64.
三、 打包
打包的时候采用的第三方打包工具,我这里用的Setup Factory 9 (共享下载地址http://pan.baidu.com/s/1hrB5e9u)
按照以下截图就可以实现最简单的打包。
第1步:打开软件,默认弹出“开始新的工程”窗口,图6。
第2步:常规信息,图7.
第3步:平台, 图8.
第4步:源文件夹, 图9.
第5步:窗口设置, 图10.
第7步:“主题”窗口选择, 图11.
第8步:安装时使用的哪种语言, 图12.
第9步: “从属”窗口中选择的技术是安装软件需要依赖且必须的基础软件。
由于我的软件运行需要在.Net4平台上,所以勾选了 .NET4。勾选后,在安装的过程中会自动安装, 图13.
有一点需要注意的是,需要在SetUpFactory软件所在的目录中新建一下目录:Dependencies\dotnet4 。并且将 dotNetFx40_Full_x86_x64.exe放在其中, 图14.
第10步:创建完成, 图15.
第11步:添加要打包的程序,以及依赖的包
(1)加主程序, 图16.
(2)加依赖的包, 图17.
(3)加依赖的包, 图18.
第12步:主程序配置, 图19
(1)描述信息设置,以及在安装过程中,如果检测到系统中已经存在该文件,提示是否覆盖源文件,建议选择质询用户,图20.
(2)快捷方式设置。图21
第13步:开始打包, 图22.
第14步:打包路径及文件名称,图23.
第15步:打包完成,成功提示,图24。打包后的文件,图25.
四、 用户机器安装
用到的软件:SuperMap许可中心;打包后程序。
许可验证和前面是一样的,许可正确后,就可以安装程序,直接运行了。
SuperMap iObject .NET开发完成后私有部署,打包安装的更多相关文章
- SuperMap iObject入门开发系列之六管线区域查询
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线区域查询功能针对单一管线图层进行区域多边形框选查询,然后将查询结果输出为列表,并添加定位和闪烁功能,效果如下图所示 ...
- SuperMap iObject入门开发系列之三管线系统标注
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线系统会涉及到一些坐标标注,属性标注,提供给用户查询获取其需要的信息,这期的文章介绍的是基于超图iObject开发的 ...
- SuperMap iObject入门开发系列之二地下三维管线系统介绍
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上次对超图平台组件式开发进行介绍,这次介绍的是基于这个框架开发的地下三维管线系统.地下管线涉及给水.雨水.污水.燃气. ...
- SuperMap iObject入门开发系列之一组件式GIS开发平台介绍
本文是一位好友“炀炀”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢.平台介绍:SuperMap iObjects Java/.NET 是面向GIS应用系统开发者的组件式GIS开发平台,具有强 ...
- SuperMap iObject入门开发系列七管线横断面分析
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线横断面分析功能是管线系统常见的一个分析功能,地下管线横断面分析的原理,是根据需求,在管线区域画一条横截面线,使其与 ...
- SuperMap iObject入门开发系列之五管线属性查询
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线属性查询功能针对单一管线图层进行特定的条件查询,然后将查询结果输出为列表,并添加点位闪烁功能,例如查询污水管线中, ...
- SuperMap iObject入门开发系列之四管线长度统计
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上一期文章主要写了管线系统的标注功能,结合代码简单讲解了一些超图.NET开发框架气泡Bubble的使用方法,这期的文章 ...
- VS2015开发的Office Addin部署,安装时报错:无法解析属性“type”的值。
用VS2012开发的Outlook插件,在多数情况下安装正常,但是在某些机器上,安装时出现以下错误: 打开VSTOInstaller.exe.config文件查看,其中内容是: <?xml ve ...
- .net core webapi 前后端开发分离后的配置和部署
背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离. B/S Saas 项目:(这个项目可以理解成个人中心,当然不止这么点功能 ...
随机推荐
- AndroidStudio制作个人资料界面模块以及SQLite数据库的使用
前言 大家好,给大家带来AndroidStudio制作个人资料界面模块以及SQLite数据库的使用的概述,希望你们喜欢 学习目标 掌握SQLite数据库的使用,能够实现用数据库来保存用户的信息: 学会 ...
- php函数式编程
// 函数式编程 $users = array( array('id' => 1, 'name' => 'abc1', 'age' => 29, '性别' => '男'), a ...
- Ubuntu 16.04 安装 arm-linux-gcc 交叉编译工具
工作需要,最近在编译linux嵌入式内核时,需要安装arm-linux-gcc交叉编译,实际上,安装这个交叉编译器的难度没啥.不过,这里有些问题还是值得我去思考和记录下来的. 这个系统的上的编译器用的 ...
- linux中Java项目占用cpu、内存过高时的排查经历
一.使用top命令查看占用高资源的java项目的进程ID(pid): top 二.查看该进程中的线程所占用资源的情况:top -Hp pid 三.查看该线程对应的16进制:printf %x 1112 ...
- docker进阶篇(一) ---- Volume(数据卷)
引言 docker的镜像是由多个只读的文件系统叠加在一起形成的.当我们在我启动一个容器的时候,docker会加载这些只读层并在这些只读层的上面(栈顶)增加一个读写层.这时如果修改正在运行的容器中已有的 ...
- 测试工具之Match Tracer(正则表达式匹配工具)
这个工具完全界面化,非常好用,如果对自己写的正则表达式不够确定,可以使用这个软件来试水一下 从下面网址可以下载: http://www.regexlab.com/zh/mtracer/download ...
- Ubuntu18.04 下修改 root密码
首先打开终端输入命令 sudo passwd root 然后依次是当前用户密码,将要设置root密码,确认root密码.切换root看一下 备注: #符号 是系统用户 root$符号 是你创建的用户 ...
- salesforce零基础学习(九十)项目中的零碎知识点小总结(三)
本次的内容其实大部分人都遇到过,也知道解决方案.但是因为没有牢记于心,导致问题再次出现还是花费了一点时间去排查了原因.在此记录下来,好记性不如烂笔头,争取下次发现类似的现象可以直接就知道原因.废话少说 ...
- 从零开始学 Web 之 CSS(五)可见性、内容移除、精灵图、属性选择器、滑动门
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 获取C#中方法的执行时间及其代码注入
在优化C#代码或对比某些API的效率时,通常需要测试某个方法的运行时间,可以通过DateTime来统计指定方法的执行时间,也可以使用命名空间System.Diagnostics中封装了高精度计时器Qu ...