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 项目:(这个项目可以理解成个人中心,当然不止这么点功能 ...
随机推荐
- 锚接口(下)——html5的history api
概述 虽然html5的history api是H5专门用来解决记录历史记录和单页面的方法,但是很多老式的浏览器并不支持它,所以一般遇到老式的浏览器会做一个polyfill使用之前的hashchange ...
- ios webview下footer部分fixed失效问题
场景: 如下图所示,一个很正常的页面需求,footer固定在底部,中间为滚动内容区 然后footer的css一般是这样的 footer{ position:fixed; bottom:; left:; ...
- Shell-8--数值运算及处理
RANDOM 默认范围是 0~32767
- Tools - VirtualBox的使用方法和技巧
01 - 为CentOS虚拟机安装VirtualBox增强功能 启动CentOS虚拟机,点击"菜单 -> 设备 -> 安装增强功能". vboxadd的映像文件将会被挂 ...
- JavaScript 全屏展示
浏览器都有页面全屏的功能 F11 ,那么如何用JavaScript控制页面全屏呢?MDN上提供的的API , 一个小demo验证一下! <!DOCTYPE html> <html l ...
- mysql之数据分区
一:概述 通过把表分成多几区间,每个区间存储符合特定表达式的数据(即在我们创建分区表时指定每个分区存储的条件例如:PARTITION p0 VALUES LESS THAN (100) 即p0区间存 ...
- 内存管理buddy[原理]
TODO------------------------------------------------------------------------------------------------ ...
- 构建NTP时间服务器
NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间. 互联网的时间服务器也有很多,例如ntpdate ntp. ...
- 2019年19道java经典面试题(附答案)
1.不可变对象 指对象一旦被创建状态不能再改变.任何修改都会创建一个新的对象,如 String.Integer及其它包装类. 2.能否创建一个包含可变对象的不可变对象? 可以.不要共享可变对象的引用就 ...
- [Umbraco] umbraco中如何分页
分页功能应该说是web开发中最基本的功能了,常规的做法是通过查询sql语句进行分页数据显示.但在umbraco中却不是这样子的.而且通过xpath中的postion来定位.如下代码 <?xml ...