人公将军是谁:如何打包你的VB软件(一)

来源:百度文库 编辑:中财网 时间:2024/04/27 17:58:49
如何打包你的VB软件(一) --------------------------------------------------------------------------------
  一般来说,用VB开发完成的软件在开发环境所在计算机上运行是不会有什么问题的,但拷贝到其它计算机上就不能保证软件仍能正常运行,原因很简单:软件运行需要特写的动态链接库(包括控件)文件支持,并不是所有计算机上都会具备软件运行所需要的这些环境库文件。正因为如此,软件开发完成一般都需要制作安装程序,以便在目标计算机上安装这些环境库文件。
  VB集成开发软件提供了一个叫“Package & Deployment 向导”的安装程序制作工具,可以直接把编写完成的软件打包为安装程序,但这个安装程序本身就有BUG,有时无法完成安装程序的制作,有时制作好的安装程序无法在目标计算机上完成软件安装,另外,用该向导制作的安装程序包体积普遍偏大(向导常将软件并不需要的链接库文件打包其内),有时体积会超过软件运行所需要文件体积的数倍以至更多,所以很少有人直接使用这个工具来制作安装程序。
  其实为VB开发的软件制作安装程序关键是取得软件真正需要的动态链接库文件列表。只要有了这个列表,即可以手工制作安装程序,也可以用第三方安装程序制作软件来制作软件的安装程序。
一、用VB开发的软件对不同操作系统的不同要求
  目前Windows操作系统主要有95/98/Me/NT/2000/XP/2003,软件应该在全部七种操作系统下都能正常运行。考虑到目前Windows95已彻底退出操作系统舞台,所以软件可以不考虑Windows95环境下的运行支持(增加对Windows95的支持安装包体积要增加近1M且安装完成后必须重新启动计算机)。下面就软件在其它六种操作系统下的运行情况作一简要分析。
  1、在Windows98环境下开发完成的软件不一定能在所有Windows98计算机上正常运行,在WindowsMe/NT/2000/XP/2003下也不一定能正常运行。所以在Windows98环境下开发完成的软件至少应该在最小Windows98系统(安装最小规模的操作系统且不安装任何其它软件,以下同)上测试运行情况。  2、在最小Windows98计算机上能正常运行的软件就能在WindowsMe上正常运行,但在WindowsNT/2000/XP/2003下不一定能正常运行。所以软件还需要在WindowsNT/2000/XP/2003等系统下测试运行情况。  3、在常规Windows2000环境下能正常运行的软件在WindowsXP下不一定能正常运行,反之亦然。所以软件应该分别在最小Windows2000和最小WindowsXP环境下测试运行情况。  3、在最小Windows2000和XP环境下都能正常运行的软件在Windows2003下也能正常运行。所以,软件可以不必单独在Windows2003环境下测试运行情况。  4、在最小Windows2000的XP环境下都能正常运行的软件在安装了SP3或更高版本的补丁包程序的WindowsNT40计算机上也能正常运行。所以可以不必单独在WindowsNT环境下测试软件的运行情况。
  由此可以得出,软件开发的计算机上应该安装Windows98/2000/XP三个系统,软件最好能在Windows98环境下开发,然后在其它环境下测试。
二、操作系统的安装要求
  先在C:盘安装好最小Windows98系统,然后用GHOST作一克隆文件备份这个最小系统。这个系统用于软件开发完成后测试软件在Windows98环境下所需的链接库文件用。  在最小Windows98系统下安装VB开发工具、SP5中文版补丁包程序及必要的各类辅助软件,完成后同样用GHOST作一克隆文件备份。这个系统用于软件的开发。  把完整的Windows98系统目录(System)目录拷贝一份到其它分区下备用。该目录用于软件在最小Windows98系统下测试软件运行缺少链接库文件时从中选取复制用。  在其它两个分区内分别安装最小Windows2000和XP系统。这两个系统用于软件的运行测试用。  在WindowsXP系统下设置只保留对Windows2000和XP所在分区开通自动还原功能。启用这两个系统分区的自动还原功能可以在需要进行软件测试时随时恢复这两个系统为最小系统。
  软件完成开发后分别在最小Windows98/2000/XP下检测运行,全部通过后的软件才真正适用于Windows全系列的操作系统。
三、提取软件在Windwos98下运行所必须的动态链接库文件
  现在假设您已完成了一个在Windows98环境下制作完成的软件。
  请用GHOST将C:盘恢复为Windows98最小系统。
  在最小Windows98系统下运行软件,记录软件运行提示所缺少的动态链接库文件名。从备份的Windows98系统目录下找到提示缺少的动态链接库文件拷贝到最小Windows98的系统目录System内,再次试运行软件,直到运行完全正常为止。
  如果把所需的动态链接库文件拷贝到系统目录下运行软件时提示该文件未注册,请按如下方法完成该文件的注册:
  从“开始”菜单启动“运行”对话框,在“打开”框内输入“Regsvr32 c:\windows\system\链接库文件名”(不包括双引号)后确定。
  至此,你已经找到在软件在Windows98环境下所需要的动态链接库文件列表及哪些链接库需要注册了。
  用GHOST将C:盘恢复为Windows98的常规系统。
三、制作Windows98下的动态链接库专用安装程序
  inf文件为Windows系统使用的安装程序,不存在兼容性问题,适用于全部Windows系统。下面的专用安装程序就是以inf为脚本编写的。
  1、编写inf文件。
  以下为安装MSVBVM60.DLL、COMCAT.DLL、VB6CHS.DLL、GAPI32.DLL并注册前两个文件的inf文件完整示例:
[DefaultInstall]CopyFiles=install.filesRegisterOCXs=RegisterFiles
[DestinationDirs]install.files=11
[install.files]MSVBVM60.DLL,,MSVBVM60.DLL,32;COMCAT.DLL,,COMCAT.DLL,32;VB6CHS.DLL,,VB6CHS.DLL,32;GAPI32.DLL,,GAPI32.DLL,32;
[RegisterFiles]%11%\MSVBVM60.DLL%11%\COMCAT.DLL
[MSVBVM60.DLL]file-win32-x86=thiscabRegisterServer=YesFileVersion=6,0,89,64
[COMCAT.DLL]file-win32-x86=thiscabRegisterServer=YesFileVersion=4,71,1460,1
[VB6CHS.DLL]file-win32-x86=thiscabRegisterServer=NoFileVersion=6,0,8988,1
[GAPI32.DLL]file-win32-x86=thiscabRegisterServer=NoFileVersion=4,0,994,25
[version]signature="$CHICAGO$"AdvancedINF=2.0
[SourceDisksNames]1="default",,1
  文件中的前两节[DefaultInstall]和[DestinationDirs]以及后两节[version]和[SourceDisksNames]的内容都是固定不变的。
  第三节[install.files]的内容为需要安装的动态链接库文件列表。每个文件的文件名各占一行,每行格式相同:第一部分和第三部分为链接库文件名,大小写均可,第二部分为空,第四部分为32(32位系统文件),各部分用半角逗号隔开。
  第四小节[RegisterFiles]内容为需要注册的链接库文件,每个文件占用一行,每行格式相同:%11%指文件安装到系统目录中。  接下来的各节为安装链接库文件,每个文件占用四行:第一行为一对用[]括起来的链接库文件名,第二行内容所有文件相同,第三行指明该文件是否需要注册:Yes注册;No不注册,第四行为该文件的版本号,可以通过右击该文件从属性窗口中获得。
  完成后可以取任何合法的文件名(扩展名必须是.inf)保存在一个专用目录下备用。
  2、安装《连接管理器管理工具包》
  下面使用《连接管理器管理工具包》中的iexpress.exe配合inf文件制作动态链接库专用安装程序来安装软件的动态链接库文件。
  A、找一张OFFICE2000安装光盘(或5.0以上版本的IE安装光盘),定位到光盘根目录下Ie5\CN文件夹中,双击Ieak5.exe安装《连接管理器管理工具包》。  B、简易安装程序只使用其中的iexpress.exe,可以从《连接管理器管理工具包》默认安装目录C:\Program Files\IEAK\tools\下找到这个文件。
  3、制作简易安装程序
  A、启动iexpress.exe,选择“创建新的自解压文件指令文件”(默认)后按下一步;  B、选择“展开文件并运行安装命令”(默认)按下一步;  C、在压缩包标题框内输入“安装...”后按下一步;  D、选择“没有提示”(默认)按下一步;  E、选择“不显示许可协议”(默认)按下一步  F、按下添中按钮添加上面创建的inf文件,再添加全部需要安装的动态链接库文件(在windows\system目录内都可以找到),按下一步;  G、在“安装程序”框内选择上述inf文件按下一步;  H、选择“默认”按下一步;  I、选择“没有提示”(默认)按下一步;  J、输入安装程序文件保存到的路径和文件名按下一步;  K、选择“仅在需要时重新启动”(默认)按下一步;  L、按两次下一步,按下“完成”完成安装程序的制作。
  制作好的专用安装程序保存在“J”步中选择的路径下,双击此安装程序文件即可自动完成软件动态链接库的安装和注册。
四、在Windows2000下检测软件的运行
  启动最小Windows2000,运行上述生成的动态链接库专用安装程序。
  启动软件试运行,检测软件在Windows2000下的运行,如果运行有问题,根据提示对上述动态链接库安装程序作相应的修改。
  注:在Windows2000下检测软件还可以把在Windows98下运行时未被发现的软件本身的BUG检测出来。
五、在WindowsXP下检测软件的运行
  启动最小WindowsXP,运行上述生成的动态链接库专用安装程序。
  启动软件试运行,检测软件在WindowsXP下的运行,如果运行有问题,根据提示对上述动态链接库安装程序作相应的处理。
  至此,软件运行所需的动态链接库文件就全部找到了。如果您想发布您的软件,只需要把上述制作好的动态链接库专用安装程序与软件放在一起,在软件说明中告诉使用者先运行此安装程序即可。当然,找到了软件的动态链接库列表,还可以利用第三方安装程序制作软件来制作软件的安装程序,这里不作此介绍。
  下一讲将介绍如果编写操作数据库软件所需要动态链接库的inf文件(这些文件通常不是被安装在系统目录下的)。