用InnoSetup来解决.Framework框架安装问题.docVIP

用InnoSetup来解决.Framework框架安装问题.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用InnoSetup来解决.Framework框架安装问题

? 用Inno Setup来解决.Framework框架安装问题 此文于2010-03-01被推荐到CSDN首页 如何被推荐? 前段时间朋友接了一个项目,具体是开发一个安装在局域网内的软件,这个软件会定时连接局域网内的服务器来更新本地客户端的一些信息,因为在局域网内存在着多种不同的Windows版本,从WindowsXP、Windows2003及Windows2008到Windows7等,这个软件采用VS2008/.Net?Framework2.0开发,因为有些系统默认没有安装.Net?Framework2.0,所以在运行时需要确保客户机上已经安装上.Net?Framework2.0,于是想到将软件打包。 制作软件安装包有几种工具和方案:一是利用Visual?Studio自带的安装包制作工具;二是利用InstallShield这类收费的、专业的安装包制作工具;三是利用Inno?Setup这类免费的、专业的安装包制作工具。 对Visual?Studio自带的安装包制作工具研究得不深,早期曾经尝试过将软件打包成一个安装文件内,不过最终失败了,后来干脆就不再研究了;InstallShield这类收费的安装包制作软件功能确实强大,不过上手确实也不容易,再加上是收费的(尽管可以找到破解版,但是总觉得不爽),于是转而寻求利用Inno?Setup来解决。 Inno?Setup?是一个免费的?Windows?安装程序制作软件,它支持现在所有正在使用的?Windows?版本:?7,?2008?R2,?Vista,?XP,?2008,?2003,?2000,?Me,?98,?95,?和?NT?4.0?(不需要服务包)。?并且Inno?Setup最早出现在1997年,是一个免费开源的软件,即使作为商业使用也是如此。Inno?Setup的官方网站网址是,当然也可以下载它的中文版本,比如[枫林夜思雨]汉化的Inno?Setup就还不错,我给朋友打包时用的是英文版Inno?Setup文件,只不过安装文件中用到的.isl文件被我翻译成中文了。 我们想到的办法就是将软件制作成安装包,运行安装包的时候会检查客户机上是否安装了.Net?Framework2.0,如果没有则从局域网内服务器上下载.Net?Framework2.0安装文件安装,然后继续安装和配置开发的软件。 从网上搜到这个一个解决方案,代码如下: ? view plaincopy to clipboardprint? [code]牋 牋牋function營nitializeSetup:燘oolean;牋 牋牋var燩ath:string?牋 牋牋牋牋ResultCode:營nteger;牋 牋牋begin牋 牋牋牋if燫egKeyExists(HKLM,?SOFTWARE\Microsoft\.NETFramework\policy\v2.0)爐hen牋 牋牋牋begin牋 牋牋牋牋Result?=爐rue;牋 牋牋牋end牋 牋牋牋else牋 牋牋牋begin牋 牋牋牋牋if燤sgBox(系统检测到您没有安装.Net?Framework2.0,是否立刻下载并安装?,?mbConfirmation,?MB_YESNO)?=?idYes?then?? ????????begin?? ??????????Path?:=?ExpandConstant({pf}\Internet?Explorer\iexplore.exe);?? ??????????Exec(Path,?/down/dotnetfx2.exe,?,?SW_SHOWNORMAL,?ewWaitUntilTerminated,?ResultCode);?? ??????????MsgBox(请安装好.Net?Framework2.0环境后,再运行本安装包程序!,mbInformation,MB_OK);?? ??????????Result?:=?false;?? ????????end?? ????????else?? ????????begin?? ??????????MsgBox(没有安装.Net?Framework2.0环境,无法运行XXX程序,本安装程序即将退出!,mbInformation,MB_OK);?? ??????????Result?:=?false;?? ????????end;?? ??????end;?? ????end;?? 上面这段代码的作用是通过检查注册表来判断客户机上是否安装了.Net?Framework2.0,如果没有就从/down/dotnetfx2.exe处下载,并提示用户安装下载的.Net

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档