转载自: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开发完成后私有部署,打包安装的更多相关文章

  1. SuperMap iObject入门开发系列之六管线区域查询

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线区域查询功能针对单一管线图层进行区域多边形框选查询,然后将查询结果输出为列表,并添加定位和闪烁功能,效果如下图所示 ...

  2. SuperMap iObject入门开发系列之三管线系统标注

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线系统会涉及到一些坐标标注,属性标注,提供给用户查询获取其需要的信息,这期的文章介绍的是基于超图iObject开发的 ...

  3. SuperMap iObject入门开发系列之二地下三维管线系统介绍

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上次对超图平台组件式开发进行介绍,这次介绍的是基于这个框架开发的地下三维管线系统.地下管线涉及给水.雨水.污水.燃气. ...

  4. SuperMap iObject入门开发系列之一组件式GIS开发平台介绍

    本文是一位好友“炀炀”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢.平台介绍:SuperMap iObjects Java/.NET 是面向GIS应用系统开发者的组件式GIS开发平台,具有强 ...

  5. SuperMap iObject入门开发系列七管线横断面分析

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线横断面分析功能是管线系统常见的一个分析功能,地下管线横断面分析的原理,是根据需求,在管线区域画一条横截面线,使其与 ...

  6. SuperMap iObject入门开发系列之五管线属性查询

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线属性查询功能针对单一管线图层进行特定的条件查询,然后将查询结果输出为列表,并添加点位闪烁功能,例如查询污水管线中, ...

  7. SuperMap iObject入门开发系列之四管线长度统计

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上一期文章主要写了管线系统的标注功能,结合代码简单讲解了一些超图.NET开发框架气泡Bubble的使用方法,这期的文章 ...

  8. VS2015开发的Office Addin部署,安装时报错:无法解析属性“type”的值。

    用VS2012开发的Outlook插件,在多数情况下安装正常,但是在某些机器上,安装时出现以下错误: 打开VSTOInstaller.exe.config文件查看,其中内容是: <?xml ve ...

  9. .net core webapi 前后端开发分离后的配置和部署

    背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离. B/S  Saas 项目:(这个项目可以理解成个人中心,当然不止这么点功能 ...

随机推荐

  1. httpd: apr_sockaddr_info_get() failed for bogon

    AH00557: httpd: apr_sockaddr_info_get() failed for bogon AH00558: httpd: Could not reliably determin ...

  2. Java 虚拟机的对象创建

    堆中存储的内容:在程序运行时,动态创建的对象. 创建对象的四种方式:new,clone(浅复制),反射,反序列化. 浅复制:只能复制当前对象本身,如果当前对象(A)引用了另外的对象(B),则引用对象( ...

  3. Swift5 语言指南(九) 闭包

    闭包是自包含的功能块,可以在代码中传递和使用.Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambdas. 闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用 ...

  4. nginx访问问题

    root响应的路径:配置的路径(root指向的路径)+完整访问路径(location的路径)+静态文件alias响应的路径:配置路径+静态文件(去除location中配置的路径)

  5. centos7上安装nagios

    前言:Nagios是一款开源的免费网络监视工具,可以监控Windows.Linux和Unix的主机状态,交换机路由器等网络设备,在系统或服务状态异常时发出邮件或短信报警,第一时间通知网站运维人员.流量 ...

  6. fast.ai(零)windows + pytorch 0.4

    一.下载 git clone https://github.com/fastai/fastai.git 或者直接下载下来 二.安装pytorch 去官网安装建议安装即可 https://pytorch ...

  7. 【转】php结合redis实现高并发下的抢购、秒杀功能

    抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存 ...

  8. Python多进程库multiprocessing中进程池Pool类的使用

    问题起因 最近要将一个文本分割成好几个topic,每个topic设计一个regressor,各regressor是相互独立的,最后汇总所有topic的regressor得到总得预测结果.没错!类似ba ...

  9. 【杂谈】Spring Boot 默认支持的并发量

    Spring Boot应用支持的最大并发量是多少? Spring Boot 能支持的最大并发量主要看其对Tomcat的设置,可以在配置文件中对其进行更改.当在配置文件中敲出max后提示值就是它的默认值 ...

  10. SSM框架、Druid连接池实现多数据源配置(已上线使用)

    总体大概流程: 1.配置数据源.账密(账密一致,文章不多阐述) driverClassName = com.mysql.jdbc.Driver   validationQuery = SELECT 1 ...