ArcGIS Engine应用程序打包.docx_第1页
ArcGIS Engine应用程序打包.docx_第2页
ArcGIS Engine应用程序打包.docx_第3页
ArcGIS Engine应用程序打包.docx_第4页
ArcGIS Engine应用程序打包.docx_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内部文档,请勿外传arcgis engine应用程序打包esri中国(北京)有限公司2019年12月版权声明本文档版权为esri中国(北京)有限公司所有。未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。制定及修订记录版本完成日期编写/修订纪要编写者备 注v0.12011年4月27日刘宇初步完成v0.22011年5月6日刘宇修改部分不足目 录一 netframwork35sp1, arcgis engine runtime单独安装2二 将netframwork35sp1 ,argis engine runtime 一起打包9三 打包中的两个问题26一 netframwork35sp1, arcgis engine runtime单独安装arcgis engine 应用程序打包的打包,我们可以采取这样的方案(runtime 和应用程序分开安装,runtime和应用程序一起安装),这里我先介绍分开安装。为了能正确的使用我们开发的应用程序,确保自己的电脑上装了以下组件:1)netframework35sp1;2)arcgis engine 10 runtime(arcgis engine runtime已经正确授权)。采用visual stuido 2008 自带的打包程序打包步骤如下:1,在解决资源方案中添加新的项目(我的engine应用程序也存在这个解决发方案中),如下图:2,找到安装和部署的节点,选择安装项目这个模板,并命名为setup,如下图:3,选择setup的文件系统编辑按钮中,然后在应用程序文件夹中右键 选择添加项目-输出,如下图:4,选择主输出,项目为我们的engine应用程序的名称,如下图:5,我们会看到中间的一个窗口中多了很多esri的dll,还有我们的exe,在我们应用程序上右键,创建快捷方式,如下图:6,在setup的引用中,排除esri的dll,为什么?因为runtime中有这些dll,所以我们不需要打包这些,如下图:7,将我们刚才创建的快捷方式,重命名,拖到用户桌面的那个目录中或者程序菜单中,当然可以创建两个快捷方式,分别拖过去.8,执行setup,我们就可以看到打包后的msi和exe,如下图:9, 安装就会看到如下界面,如下图:二 将netframwork35sp1 ,arcgis engine runtime 一起打包1,新建立一个工程,填写这个工程的位置以及工程的名字,如下图所示:2, 新建工程完成后,installshield会进入project assistant界面,这是installshield的安装助手,它将一些最常用的操作按照“上一步”、“下一步”的方式组织成为一个向导,我们可以利用此向导快速的完成安装程序制作的全过程。不过此方式过于简单,如果我们想进行复杂一些的操作就做不到了。所以需要制作专业的安装程序的朋友们还是使用installation designer方式来制作安装程序,但是偶是一个菜鸟,就两种方式结合了下。建立工程完成后,会在project assistant看到installshield的打包流程,如下图:3,下一步,填写应用程序的信息,如下图:4,下一步,设置安装架构(我直接默认),如下图:5,下一步之后就到了,应用程序的文件,如下图:我们可以添加文件,我没这么做,而是切换到了installation designer这个中,在左边的files and folders 双击,如下图:双击了files and folders,会出来几个窗口,其中source computers folders 就是我们的计算机上的目录,而下面的那个destination computers folders 就是安装的目录,将我们的源程序文件夹从source computers folders拖到destination computers folders的application target folder 中,并建立在application target folder右键 建立一个temp目录,将我们的arcengine 10(这个目录中含有arcgis engine runtime 以及相应的授权文件)拖放到这个temp目录中,如下图:建立temp目录如下图:两步操作完成后,我们可以看到下面的结构图:我们有切换的project assistant面板中,如下:6,下一步,创建开始菜单和快捷方式,如下图:单击new按钮,选择我们的exe文件将系统给的名字launch wre_b.exe 重新命名下,如下图:切换到installation designer中,找到shortcuts,进行进一步的设计,如下图:将上图的esri删除掉,重新建立目录和快捷方式,并对右边的internal name进行改写,如下图:7,切换到project assistant,然后下一步,如下图:8,下一步,这一步就让选择一些许可声明之类的(安装过软件的朋友都知道,安装的时候会出现一些声明条款的,就是这个),我没有这个需要,所以没选这个,如下图:9,下一步,选择语言,我当然选择中文了(说明下,不同的版本不同,2011的默认语言是英文,2008的是繁体中文,2010是中文,想不到,我为了打包这个,用了3个版本的软件),如下图:10,下一步,选择打包的类型,选择第一个(这个流程已经完成,别急着建立,我们的net framework 3.5 sp1还没打包进去呢),如下图:11,切换到installation designer面板中,找到installscript,如下图:将这个函数粘贴在这个脚本文件中,函数如下:function onmoved() string szcommand,szcmdline,szpath,svresult,licpath; string svline,svreturnline,inserttxt; /操作文件的变量 number nvfilehandle; /文件句柄 number nvlinenumber ,nvresult; /操作文件的变量begin szpath=targetdirtemp; szcommand = winsysdirmsiexec.exe; longpathtoshortpath(szcommand); /安装ae 运行时 if (findfile (szpatharcengine10, setup.msi, svresult) = 0) then szcmdline =targetdirtemparcengine10setup.msi /qn; longpathtoshortpath(szcmdline); delay(1); if (launchappandwait(szcommand ,/i +szcmdline,wait) 0) then abort; endif; endif;/ae 授权 licpath= -lif +targetdirtemparcengine10arcgis engine runtime license.ecp -s; if (findfile (targetdirtemparcengine10, arcgis engine runtime license.ecp, svresult) = 0) then if(sysinfo.biswow64) then szcmdline=c:program filescommon files (x86)arcgisbinsoftwareauthorization.exe; else szcmdline=c:program filescommon filesarcgisbinsoftwareauthorization.exe; endif; if (launchappandwait(szcmdline ,licpath,wait) 0) then abort; endif; endif; if (existsdir(targetdirtemp)=0 ) then if (deleteprogramfolder (targetdirtemp) 0) then endif ; endif ; end;12,打包net framework 3.5 sp1,在prerequisites中找到net framework 3.5 sp1,如下图:在net framework 3.5 sp1 前打钩,出现是否下载的对话框,选择否(因为我已经有了这个),如下图:在net framework 3.5 sp1上右键,选择编辑,移除原来的那个文件,添加上自己机器上的net framework 3.5 sp1,如如下图:在application to run 的界面中将specify the command line for the application和 specify the command line for the application when the setup is running in silent mode 中的参数改为:/q 、norestart,如下图:14,在user interface中找到 dialogue,然后找到skin,设置皮肤的颜色,如下图:设置完之后,建立我们的程序,运行成功后,如下图:这样我们只需要将这个在客户机上安装即可。三 打包中的两个问题问题(1):当执行setup.exe的时候,由于我们打包了netframwork3.5 sp1,当netframwork3.5 sp1装完后,会问我们是否要重新启动电脑,如果点了否,安装程序就中断了,当再次安装setup.exe的时候,就可以完成。问题(2):当runtime完成后,发现应用程序不能用,没有授权成功?授权是成功的,因为arcgis engine 10 的许可机制发生了点变化,所以我们可以通过手动配置:开始-程序-arcgis-administrator(但是不需要授权文件,只需要点了,授权,然后取消即可)。因为有以上两个问题,我们可以变通下,比如说手动操作下administrator。先说授权的问题,将arcgis engine 10 的许可的注册文件打包进去,操作如下:将已经可用arcgis engine 10 的注册表导出去,然后利用installshield,操作如下:1, 在installation designer面板中,在system configuratin中找到registy,然后右键,在destination中找到local-machine,如下图:2, 右键,找到import reg file3, 点了import reg file之后,就看到注册表导入向导,进行设置如下:想一下操作有问题吗?有一个前提条件,就是这个打包程序要开启使用注册表,在project assistant如下:4,至于netframwork3.5 sp1,在installation designer中找 prerequistes中将netframwork3.5 sp1前面的勾去掉,如下图:5,在installation designer中,将netframwork3.5 sp1添加到 language independent中,如下图:然后写入以下脚本: /安装dotnetfx35sp1.exe getenvvar(temp, tempdir);/得到临时目录 findallfiles(tempdir, dotnetfx35sp1.exe , tempdir, continue );/在临时目录下搜索dotnetfx.exe文件 if(launchappandwait(tempdir, /q /norestart,wait)0) then abort; endif;整个完整的脚本如下:,function onmoved() string szcommand,szcmdline,szpath,svresult,licpath,tempdir; string svline,svreturnline,inserttxt; /操作文件的变量 number nvfilehandle; /文件句柄 number nvlinenumber ,nvresult; /操作文件的变量begin szpath=targetdirtemp; szcommand = winsysdirmsiexec.exe; longpathtoshortpath(szcommand); /安装dotnetfx35sp1.exe getenvvar(temp, tempdir);/得到临时目录 findallfiles(tempdir, dotnetfx35sp1.exe , tempdir, continue );/在临时目录下搜索dotnetfx.exe文件 if(launchappandwait(tempdir, /q /norestart,wait)0) then abort; endif; /安装ae 运行时 if (findfile (szpatharcengine10, setup.msi, svresult) = 0) then szcmdline =targetdirtemparcengine10setup.msi /qn; longpathtoshortpath(szcmdline); delay(1); if (launchappandwait(szcommand ,/i +szcmdline,wait) 0) then abort; endif; endif;/ae 授权 licpath=/lif +targetdirtemparcengine10arcgis engine runtime license.asr /s; if (findfile (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论