安装iexplore.exe应用程序错误

iexplore.exe应用程序错误  时间:2021-05-19  阅读:()
88软件技术2005年I1月J0日第ll期用InstallShield搭建应用软件运i5t]iii|一北京邮电大学计算机科学与技术学院余宝娟潘维民摘要:制作一个智能化的安装程序发行软件是项目开发的重要组成部分.
良好的安装程序不仅要完成基拳的程序和数据文件的拷皿厦相关蛆件的注册,还要能完成第=方软件的静态安装、设置环境变量、修改配置文件和安装系统服务等I作本文通过一个央倒着重讨论了使用lnstallShield实现应用软件运行环境的自动配置方法关键词:InstailShield;静态安装;第=方软件;运行环境;自动配置对于Win&)WS应用软件.
一叶、方便、交互的安装程序是不可缺少的特别是当软件运行环境搭建复杂的情况下,若所有丁作能在安装程序中能-次性完成.
仅给用户甜F一个良好的第印象,同时也有效地提高可靠r,降低维护成本.
安装程序制作的复杂是山应用软件的复杂度决定的应用软件可能『列时,f】到多种开发丁.
具.
如VC++、Delphililtlihler、MSXM1分析器以及后台数据库系统等这样.
软件的运行环境中.
Delphi丌发的数据库应用程J半就需要BDE数据库引擎;jBuilder的Web应用程序需要Weh服务器:VC++井发的c()M组件、DLI等需癸进行注册;以及安装MSXML和数据库仞始化等lnslallShield是一个强有,J的安装程序制作软件,面过其强大的脚本语言编程可在安装程序中完成诸如第三方软件静忿安裟,注册文件没环境变量和安装系统服务等等复杂的操作功能的慢大往往带米实现的复杂、本文通过一个实例讨沧r如何使用Tmta[IShil·I搭建应用软件运行环境文叶1实例为基于数据仓库技术的银行非现场稽枝监控系统+分为服务器版和窨户端版本字户端版本与服务器版制作过程类似,因此本文服务器版奉为例使用的lnstallshild为Prolein7.
0版乖舀'先.
通过hastalIShiehl的向导创建一个新的工程_本文是庄此基础上则其修改和编程.
完成虚用软件复杂运行j境的搭建一、实例运行环境配置车实例的安装前提条件是,服务器操作系统为windo~sN一1servt4.
0或更高版本、数据库为Mj一osoflsQL_2000.
待安装的具体内容包括:Web应川程序,Delphi应用程序:注册COM组件、I)LI静态安装.
1ava开发包JDKI4、wEB服务器T…ll1.
at5、数据昨引擎bde5lB【lria…tDataIⅢcEngi)、msxml4;设置环境变康、修改置文件,数据仓库初始化;安装系统服务等IJJ于篇幅的原因,软件的司】载就不再介绍r二、修改s(~tup.
rul文件luslallshield安装程序由㈣II_l¨JI文件中的丽数OnFirstUIHefore¨负责对安装程序进行仞始化,从而扶取川户安装信息其代码下:(J确定宦装的1]标日录:在默认情况下,I¨mIIshield会在默认安装路径中添J=『¨公司名称.
此时nT以通过修改TARGEqDIl束最终确定奠装路径N()V1r).
2IO5N()http://www.
paper.
edu.
cn中国科技论文在线坪如金骷越肛FINANCIALCOMPUTEROf''HUANAN软件技术2005年11月10日第11期(二)、窗口标题与提示信息的修改:在默认情况下,Installshield会根据项目名称生成相应的窗口标题和提示信息.
如果这些与我们所要求的不相符时,就可以通过修改szMsg、szTitle这两个变量完成.
(三)、注册码的处理:如果需要在安装程序中校验软件注册码,则需要调用SdRegisterUserEx函数向用户询问软件注册码.
否则调用SdRegisterUser函数只询问用户的基本信息.
(四)、确认磁盘可用空间:检查目标磁盘的可用空间满足安装需要,具体代码如下:GetDisk(TARGETDIR,SVDrive);1FreeSpace:GetDiskSpace(svDrive).
至此,安装程序主要初始化工作基本完成.
三、文件组设置与文件注册主应用程序的文件数量大且目录结构复杂.
为了将其方便快速的加到文件组里,采用了动态连接(DynamicLinks)方式.
选中文件组,双击文件组连接方式,在弹出的设置页面:指定文件所在目录;选中IncludeSubfold;InclusionWildCard(s)设为六.
六,ExclusionWildCard(S)设为空.
这样,该目录下的所有文件加入到该文件组中.
另外,Insta11Shield提供了文件组文件自动注册功能,将需要注册的COM组件和DLL(动态链接库)文件设为一个文件组进行统一注册.
四、静态安装第三方软件第三方软件由于其功能强大、性能稳定、使用方便,越来越多的用于软件开发和使用中.
它们的静态安装方式由制作软件和打包格式决定,下面就几种典型情况进行讨论.
(一)、静态安装JDK组件SUN公司JDK1.
4.
2的安装程序是采用In—stallshield打包制作,由两部分组成:i2re.
MSI和i2sdk142.
MSI.
msi格式的安装文件通过Win—dowsInstaller来完成安装.
i2sdk142.
MSI的安装与i2re.
MSI相似,下面以i2re.
msi为例说明.
首先设置静态安装命令参数:Sprintf(szCmd—Line,"/i\,,%S\,,INSTALLDIR=\,,%S\\j2re\,,REBOOT=SuppressADDLOCAL=ALL/qb!
一".
J2RE,szPath).
其中变量szCmdLine为静态安装的命令参数,包括源程序所在路径,安装目标路径,是否重启机器等;宏J2RE定义为:SRCDIRbin、\j2sdk142.
MSI";变量szPath表示安装的目标路径.
然后调用WindowsInstaller完成安装:nResult:LaunchAppAndWait(MSIEXEC,szCmdLine,WAIT).
函数LaunchAppAndWait的功能是加载安装程序.
参数:宏MSIEXEC定义为:WINSYSDIR~msiex.
ec.
exe";变量szCmdLine为前面设置的命令参数;WAIT表示LaunchAppWait函数等待安装完成后才返回.
变量nResult为函数返回的执行结果,0:成功,<0:失败.
(二)、静态安装Tomcat组件Tomcat4的安装程序采用NSIS(NullsoftScript—ableInstallationSystem)打包制作,静态安装实现比较简单.
首先设置命令参数:Sprintf(szCmdLine,"/S/D=%S\\tomcat",TARGETDIR).
其中变量szCmdLine为静态安装的命令参数:"/S"表示安装方式为静态安装,"/D:%S\\tomcat"表示安装目录;宏TARGETDIR表示用户指定的目标路径.
然后进行静态安装:nResult=LaunchAp—pAndWait(TOMCAT,szCmdLine,WAIT).
其中函数参数:宏TOMCAT定义为:SRCDIRbin\\tom—cat一4.
0.
4.
exe";变量szCmdLine为前面设置的命令参数;其他同4.
1.
(三)、安装BDEBDE5的安装程序采用的是Insta11Shield打包制作,文件格式为EXE,静态安装需要有相应的静态安装脚本Setup.
iss作支持.
Setup.
iss可以通过安装程序使用"/R"参数生成.
相比之下,这种静态安装的功能灵活、强大.
静态安装具体实现代码:nResult=LaunchAp.
pAndWait(BDE,"/S",WAIT).
其中函数参数:宏BDE定义为:SRCDIRbin\\bde5\\SETUP.
EXE";"/S"为静态安装的命令参数;其他请参照"静态安装JDK组件"小节.
此时,安装程序所需要的输入参数将由静态安装脚本文件给出.
需要注意的是,在静态安装BDE5之前应该根据用户所选择的安装目录,修改安装脚本中的安装目录设置.
N0V.
10.
2005NO.
11软件技术2005年11月10日第11期坪扔金骷电肛五、配置软件运行环境(一)、设置环境变量本实例采用T0MCAT作为wEB服务器,需要设置PATH、JAVA』{0ME和CLASSH0ME环境变量.
JAVA_H0ME和cLAssH0ME一般是JDK专有的环境变量,所以直接在注册表里添加或覆盖已有的值.
PATH是系统已存在的环境变量,所以首先得到该环境变量的值,然后判断是否已经含有要添加的值,没有则在该值中添加并重新设置PATH值,若已有则取消操作.
下面以设置CLASSPATH变量为例,具体代码如下:szKey=SYSTEM||CurrentControlSet||Control||SessionManager\\Environment":szPath=TARGETDIR;nSize=一1:strsub(jdkDir,TARGETDIR,0,3);jdkDir=jdkDir~'\\programfiles";nType=REGDBSTRINGEXPAND;RegDBGetKyValueEx(szKey,"PATH",nType,szValue,nSize);Sprintf(szEnv.
"%S\\JDK131\\bin;%S\\apache—ant—1.
5.
2\\bin;%S\\jawin\\bin;".
jdkDir,szPath,szPath);if(!
(szValue%szEnv))thenszValueszEnvszValue;nResuh=RgDBSetKeyValueEx(szKey,"PATH",nType,SZ—Value,nSize);if(nResuh<0)thenMessageBox("FailedtoAppendPathEnvironmentVariable!
",WARNING);endif;endif;(二)、修改配置文件Web应用程序需要根据实际安装环境修改配置文件内容.
较简单的实现:第一步,安装前处理配置文件,删除需要修改的信息;第二步,InstallShield安装过程中动态添加配置信息.
具体代码为:FileIn—sertLine(szPath,szCmdLine,9,AFTER);函数FileIn—sertLine的功能是向文件中插入一行.
参数szPath指向待修改文件及其路径;szCmdLine为插入的内容;数字9为在第几行插入;AFTER为插入方式.
(三)、导人注册表文件当往注册表里写的内容很多,可以编写一个注册表文件,然后通过安装第三方软件的方式将该文件内容一次性写入注册表,实现起来更简单,不易出错.
这时InstallShield需要调用系统的regedit.
exe实现静态安装.
具体实现代码为:regFileDir=TARGETDIRregfiles\\LookupDateGap.
reg":Sprintf(szCmd,/s%s\,,,,regFileDir);szPath=WINDIRregedit.
exe;nResuh=LaunchAppAndWait(szPath,szCmd,WAIT);(四)、注册文件虽然InstallShild提供了文件的自动注册功能,但是某些情况下通过编码实现一个文件的注册也是常见的.
具体实现代码为:saDir=TARGETDIR~'SaGSA.
dll":Sprintf(szCmd.
"/s\"%s.
saDir);nResuh=LaunchApp(regsvr32.
exe,szCmd);(五)、数据仓库初始化数据仓库的初始化工作比较复杂,本实例中包括获取元数据库、标准数据源和监控服务器的配置信息,并根据配置信息建立数据库服务器连接、创建数据库、表,导人元数据等等操作.
为了降低安装程序制作的复杂性,首先用VC编程实现上述功能,然后InstallShield轻松调用该程序即可.
具体代码为;nResult=LaunchAppAndWait(INITDB,,WAIT);函数参数:宏INITDB为数据库初始化程序,定义为:SRCDIRin\\InitDB.
exe".
(六)、安装系统服务软件中的系统服务需要将其安装到系统中,通过本地服务控制台中进行启动、暂停和停止等操作.
如本实例中的ETL数据抽取和任务执行,通过编写系统服务来实现定期的调度执行.
具体实现代码如F:nResult=LaunchAppAndWait(AuditService.
/一service",WAIT).
其中函数参数AuditService为服务文件名称及其路径,定义为:TARGETDIRAuditService.
exe";"/一service"表示将该软件安装成系统服务.
六、结束语本文通过一个实例,讨论了InstallShild如何实现复杂运行环境的自动搭建,希望能起到一定的借鉴作用.
上述方法在实际应用中均能正确运行.
参考文献:[1】BobBaker.
TheOfficialInstallShieldforWindowsInstaUerDevel0per'SGuide[M.
NYU.
S.
A:HungryMinds,Incorpo2rated,January2001:100—102[2】JeffreyM.
Rhodes.
InstallShieldProfes—sionalPrimerforToolBookInstaUati0ns[3】http://WW-vV.
installshield.
COB(责任编辑:高鹏志)N0V.
10.
2005NO.
11

RackNerd 2022春节促销提供三款年付套餐 低至年付10.88美元

RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...

bgpto:日本独立服务器6.5折($120起),新加坡独立服务器7.5折($93起)

bgp.to在对日本东京的独立服务器进行6.5折终身优惠促销,低至$120/月;对新加坡独立服务器进行7.5折终身优惠促销,低至$93/月。所有服务器都是直连国内,速度上面相比欧洲、美国有明显的优势,特别适合建站、远程办公等多种用途。官方网站:https://www.bgp.to/dedicated.html主打日本(东京、大阪)、新加坡、香港(CN)、洛杉矶(US)的服务器业务!日本服务器CPU...

Raksmart:香港高防服务器/20Mbps带宽(cn2+bgp)/40G-100Gbps防御

RAKsmart怎么样?RAKsmart香港机房新增了付费的DDoS高防保护服务,香港服务器默认接入20Mbps的大陆优化带宽(电信走CN2、联通和移动走BGP)。高防服务器需要在下单页面的IP Addresses Option里面选择购买,分:40Gbps大陆优化高防IP-$461/月、100Gbps国际BGP高防IP-$692/月,有兴趣的可以根据自己的需求来选择!点击进入:RAKsmart官...

iexplore.exe应用程序错误为你推荐
打印机morphvox北京市通州区教育委员会工艺美术品设计专业桥面163Couriercss绑定ipadxp如何关闭445端口系统怎么关闭445端口win10445端口windows server2008怎么开放4443端口itunes备份怎样用itunes备份iphonetcpip上的netbios怎么启用TCP/IP上的NetBIOS
二级域名查询 lamp 私人服务器 网站实时监控 大容量存储 本网站在美国维护 个人域名 idc是什么 cn3 爱奇艺vip免费试用7天 vip购优惠 免费高速空间 傲盾官网 linux使用教程 联通网站 免费个人主页 广东主机托管 国外免费云空间 北京主机托管 cdn免备案空间 更多