浅析SuperMap iObject .NET开发完成后私有部署,打包安装

2023-11-10

作者:皇皇

      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。
图1

   (2)程序引用需要的库文件,图2,图3。
图2
图3

   (3)修改程序配置文件
   建的程序一般会有这个文件,没有的话就创建一个,图4。
图4
   把以下内容复制进去

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Bin"/>
</assemblyBinding>
</runtime>
</configuration>

   (4)配置活动平台
   用的32位组件,解决方案平台要设置为X86,64位组件就设置为X64,图5。
图5
      注意,修改之后,检测一下程序的输出路径(工程右键-属性-生成-输出),不是前面设置的路径了就需要修改一下。

      64位程序私有部署和32位不同的就是两个地方,一是拷贝bin的时候选择Bin_x64,拷贝过去后建议把文件夹名修改为Bin;二是配置活动平台配置的时候设置为X64.

三、 打包

      打包的时候采用的第三方打包工具,我这里用的Setup Factory 9 (共享下载地址http://pan.baidu.com/s/1hrB5e9u)
按照以下截图就可以实现最简单的打包。

   第1步:打开软件,默认弹出“开始新的工程”窗口,图6。
图6

   第2步:常规信息,图7.
图7

   第3步:平台, 图8.
图8

   第4步:源文件夹, 图9.
图9

   第5步:窗口设置, 图10.
图10

   第7步:“主题”窗口选择, 图11.
图11

   第8步:安装时使用的哪种语言, 图12.
图12

   第9步: “从属”窗口中选择的技术是安装软件需要依赖且必须的基础软件。
      由于我的软件运行需要在.Net4平台上,所以勾选了 .NET4。勾选后,在安装的过程中会自动安装, 图13.
    有一点需要注意的是,需要在SetUpFactory软件所在的目录中新建一下目录:Dependencies\dotnet4 。并且将 dotNetFx40_Full_x86_x64.exe放在其中, 图14.
图13

图14
   第10步:创建完成, 图15.
图15

   第11步:添加要打包的程序,以及依赖的包
   (1)加主程序, 图16.
这里写图片描述

   (2)加依赖的包, 图17.
图17

   (3)加依赖的包, 图18.
图18

   第12步:主程序配置, 图19
 图19

   (1)描述信息设置,以及在安装过程中,如果检测到系统中已经存在该文件,提示是否覆盖源文件,建议选择质询用户,图20.
图20

   (2)快捷方式设置。图21
图21

   第13步:开始打包, 图22.
图22

   第14步:打包路径及文件名称,图23.
图23

   第15步:打包完成,成功提示,图24。打包后的文件,图25.
图24

图25

四、 用户机器安装

   用到的软件:SuperMap许可中心;打包后程序。
   许可验证和前面是一样的,许可正确后,就可以安装程序,直接运行了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浅析SuperMap iObject .NET开发完成后私有部署,打包安装 的相关文章

  • Visual Studio 扩展找不到所需的程序集

    我为 Visual Studio 2013 编写了一个扩展 因为该死的组合框错误 https stackoverflow com questions 7800032 cancel combobox selection in wpf with
  • Visual Studio 2013 中的内存分析

    我想探索如何在我的应用程序中分配内存 我有 C 控制台应用程序并使用 Visual Studio 2013 Professional I go to Analyze gt 性能和诊断并选择 NET内存分配 结果我得到以下总结 图表中每次CP
  • 连接到 Facebook 并使用 api

    有没有好的教程如何制作简单的控制台 Facebook 应用程序 连接到 Facebook 并获取朋友列表 用户照片 状态或其他内容 我查看了 facebook SDK 的 facebook 示例 但如果我想在 facebook 上授权 我必
  • 使用编译时编织进行依赖注入? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我只是想了解 PostSharp 老实说我认为它太棒了 但有一件事对我来说很难如何纯依赖注入 不是服务定位器 无法完成 https cod
  • 如何使用 vb.net 将数据插入 Access 表?

    我想在 Access 数据库中插入一个新行 我正在考虑做类似的事情 oConnection new Connection connectionstring oTable oCennection table Orders oRow oTabl
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • 基于 Web.Config 使用的 GAC 程序集版本

    Good Day 我有一个在 GAC 中使用自定义程序集的项目 为了能够使用它 我在中添加了对我的项目的引用 C WINDOWS Microsoft NET assembly GAC MSIL JOHN CommonLib v4 0 1 0
  • C# 枚举 - 根据掩码检查标志

    我有以下枚举标志 Flags private enum MemoryProtection uint None 0x000 NoAccess 0x001 ReadOnly 0x002 ReadWrite 0x004 WriteCopy 0x0
  • 如果浏览器在 asp .net 中关闭,请从浏览器中注销?

    我的要求有点复杂 用户正在使用 Web 浏览器访问数据库 而在访问数据库时 如果用户关闭活动页面而不是注销会话 该会话需要自动注销 有人可以指导我如何做这个吗 我在母版页中使用了jquery onbeforeunload 我收到消息离开页面
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 生成 .tail IL 指令的简单 F# 代码是什么?

    我想看看 tailIL 指令 但我一直在编写的使用尾部调用的简单递归函数显然已优化为循环 我实际上是在猜测这一点 因为我不完全确定反射器中的循环是什么样的 我绝对没有看到任何 tail不过操作码 我在项目的属性中检查了 生成尾部调用 我还尝
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D
  • 当用户打开文件时如何锁定对文件的访问?

    我正在编写一个 C NET 程序 该程序使用 XmlSerializer 对当前用户正在处理的项目与 XML 文件进行序列化和反序列化 这工作正常 但我试图找到一种方法来防止两个用户从网络驱动器打开同一个文件并让一个用户覆盖前一个用户的保存
  • WCF 服务调用包装器

    为 WCF 服务调用创建包装器的最佳实践是什么 我认为有必要 为了在同一个地方监视所有呼叫 我正在考虑使用这种代码 这是正确的想法吗 RetType t ServiceExecutionContext
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此

随机推荐

  • cp命令详解_cp命令

    cp命令详解 You can copy a file using the cp command 您可以使用cp命令复制文件 touch test cp apple another apple To copy folders you need
  • FreeRTOS:中断配置

    目录 一 Cortex M 中断 1 1中断简介 1 2中断管理简介 1 3优先级分组定义 1 4优先级设置 1 5用于中断屏蔽的特殊寄存器 1 5 1PRIMASK 和 FAULTMASK 寄存器 1 5 2BASEPRI 寄存器 二 F
  • 通过JAVA的api来进行hbase编程

    操纵habase的时候 通过Hbase shell可以进行一些操作 但是和实际的编程实例联系起来不方便 因此本文介绍有关Hbase编程的相关java API 并直接在idea中编写java代码 连接hbase并执行相关操作 实际上 hbas
  • 数据库表的创建与查询

    目录 1 引言 SQL的特点 2 任务 1 定义模式test1 text1 其中test1有两张表 分别如下 模式 schema 2 删除模式test1 cascade 3 定义基本表 4 创建基本表table属于test1 针对DateG
  • 【ML on Kubernetes】第 8 章:使用平台构建完整的机器学习项目

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 正则表达式各参数及方法简介

    文章目录 前言 一 匹配单个字符 二 匹配多个字符 三 匹配开头结尾和分组 四 正则匹配方法的使 五 贪婪匹配和非贪婪匹配 前言 正则表达式 regular expression 描述了一种字符串匹配的模式 pattern 可以用来检查一个
  • 周志华《机器学习》课程系列笔记——目录导航页

    周志华 机器学习 课程系列笔记 说明 Introduction 最近自学机器学习课程 注意到了南京大学周志华老师的课程 我是在学堂在线平台观看的 注意到b站上也有相应视频 但b站上并未获得授权 随时有消失的可能 周志华老师的网络教学视频中
  • [leetcode]19 删除链表的倒数第 N 个结点

    题目链接 https leetcode cn problems remove nth node from end of list 该链表中 head节点对应有值 要想知道倒数第几个节点对应正序哪个节点 需要先进行遍历知道整个链表的长度 倒数
  • tcpdump抓包文件分段保存-指定时间或者指定大小

    指定间隔保存 tcpdump i tun0 s0 G 600 w Y m d H M S pcap G 600 600s保存一次 i 指定网卡 s w 保存文件的格式 指定大小保存 tcpdump i eth0 s0 C 5 Z root
  • safari浏览器中使用flex布局出现图片拉伸显示图片原始宽高

    在safari浏览器中使用flex布局出现图片拉伸的情况 一般设置图片宽度 图片高度会根据图片宽高比 高度自动伸缩进行调整 解决方案 1 在使用了flex的情况下 设置图片定宽定高 2 去掉flex 布局 图片设为display inlin
  • STM32F103RBT6+FATFS32移植心得

    由于进入下午移植FATAS32到STM32F103RBT6上遇到一些问题 经过调试成功后 一些心得来分享一下 本人移植的是原子的代码 具体代码可去原子官网下载 将原子FATFS实验文件夹下的FATFS MALLOC文件夹复制到我们的工程文件
  • 乐鑫ESP32芯片/模组选型参考指南

    1 最近一个项目中用到了ESP32的模组 于是开始查询相关的资料 首先来到乐鑫的官网可以看到关于ESP32分为芯片 模组与开发板三部分 2 由于乐鑫的芯片主打无线通信 包括蓝牙和wifi等一些高频信号 所以对于PCB布局走线要求比较高 为了
  • 上海某马培训软件测试工程师第01期就业班课程

    上海某马培训软件测试工程师第01期就业班课程完整不加密版 课程目录 课 件 一期 zip 第一阶段 数据库 linux LAMP环境搭建 iwebshop5 1临时试用版本 zip nginx 1 14 0 tar gz 3 视频 1 网站
  • Linux之忘记密码解决方案

    我们使用虚拟机时 若是设置的密码过于复杂 偶尔会忘记虚拟机的登录密码 若是忘记了密码 该怎么解决呢 以Centos7虚拟机操作系统为例 给大家提供一个用来解决忘记密码的方法 首先 将虚拟机进行重启 重启后看到以下界面就立即按e键 若不及时按
  • TPS-MIS-DSS

    TPS MIS DSS 业务处理系统TPS 管理信息系统MIS 决策支持系统DSS 业务处理系统TPS 最初级的信息系统 管理具体的事务 TPS是其他类型信息系统的信息产生器 处于企业系统的边界 管理信息系统MIS 对企业整体的信息进行处理
  • Cesium ion是什么?

    Cesium ion是一个云服务平台 当然 主要是基于cesiumjs的服务 包括数据服务等 https cesium com ion assets 1
  • java数组 方法工具包

    自己写的数组中可以用的方法 的工具包 package day09 自定义数组的工具类 public class ArrayUtil 求数组的最大值 public int getMax int arr int max 0 for int j
  • RTSP 交互流程

    转载自 http www 52rd com Blog Archive Thread asp SID 27757 略加修改 RTSP Setup 流程 中的client端 的端口协商部分 RTSP消息格式 RTSP的消息有两大类 请求消息 r
  • 【面向对象】多态数组

    package TcmStudy day26 public class Test03 public static void main String args all new Cat new Cat new Dog new Dog 创建有四个
  • 浅析SuperMap iObject .NET开发完成后私有部署,打包安装

    作者 皇皇 SuperMap iObjict NET组件开发结束后 要部署在用户机器上使用 有两种部署方式 分别是共享部署和私有部署 共享部署简单 下载 NET组件 运行解压包下的Install bat进行安装 有许可就可以使用开发的程序了