赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

使发布的VB程序带有最少量的库文件. maybe....

发布时间:2006.08.16 03:01     来源:plwww    作者:

 

用VB6编译成的EXE文件,运行时需要一个‘运行时’文件,即VB运行库.在VB6里是MSVBVM60.DLL在VB5里是MSVBVM50.DLL,VB5的这个文件在WIN98里是操作系统自代的。而VB6则没有,在用VB6的“Package & Deployment 向导”做安装程序时会自动打进去。
以上这些都不是问题,麻烦的是如果你在VB中用了‘数据库访问’组件,比如ADO和RDS,那么那个
“Package & Deployment 向导”会给你打入一个Mdac_typ.exe文件在里面,这是一个自解压文件,它有6M多。里面就是‘数据库访问’组件所需要的DLL文件等。但一般来说那些文件根本就不可能全是你写的程序都用到的。你可能只用到其中几个。因为VB6支持很多数据访问方法,你只要用其中一种就能写出一个很好的数据库访问程序。所以说,如果你把那个Mdac_typ.exe打入安装程序,你发布的安装程序最少也得有6M,而其中很多是你用不到的。
那么如果知道你到底需要哪些文件呢??我想出一个办法:在你机器上运行你写的程序,然后用WIN98自代的那个‘系统信息’来看看你运行你的VB程序时WIN98系统装入了哪些文件库。很简单:装入了哪些,就用哪些。
下面是具体做法:
1在WIN98里->程序->附件->系统工具->系统信息

2然后打开‘系统信息’后选那个树形中的‘已加载32位模块’
现在你所看到的就是系统当前用到的DLL和一些OCX文件, 还会有一些EXE文件。VB主要可能用的是DLL和OCX文件。运行上面两步时先不要启动你的VB程序以及其它的WIN98程序。这样我们得到的是一个最少的文库列表,以进与后面的列表比较。

3在右边的文件列表‘名称’里按SHIFT用鼠标选所有的文件名。然后选菜单的‘复制’并打开记事本将 ‘复制’的信息粘过来,并保存。如:first.txt
4打开你写的VB程序(我指的是已编译成EXE的程序)并使用它的所有功能(只是运行出来还是不够的,DLL文件是动太装入的,只有用到相应功能时才会装入),并且不要关你的程序。

5现在回到‘系统信息’里并按F5更新文件列表。这时所得到的列表就包括了VB所要用的运行库。然后你要重做上面的第3步。将它也保存。如:last.txt

6我们已经SAVE两个文件了,现在只要比较它们的不同就可以了。你可以打开那两个一边一个很眼一行行看,看看后来存的那个多了些什么。。。
也可以用 fc first.txt last.txt > diff.txt 来比。不过这样结果很乱。

总之以上方法就是根据程序运行时装入内存的文件库来确定,这个程序所必要的文件。

如果哪位更好的方法,请粘出来大家共看 ^_^


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· VB与数据库应用一例----生成EXCEL表 (11-08) · VB环境下压缩数据流播放技术(2) (04-11)
· VB源代码推荐: 动态的显示/隐藏start按钮 (09-14) · 判别剪贴板上所有可用的格式 (04-16)
· 取得网卡序列号 (09-08) · DirectX 7 编程初步 (01-03)
· ShellExecute 的应用技巧 (06-23) · 把图片框的完整内容复制到剪贴板 (07-20)
· 在运行时显示或隐藏窗体的标题栏 (05-12) · 强制和防止窗口重画 (02-16)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管