其他工具所指何物?
只要是把目标系统没有的文件打上就够了。
最主要的是一些控件的dll或者ocx.

解决方案 »

  1.   

    VB打包后有一个setup.lst文件,那里记录着VB程序要用的库和文件,看看你的“其他工具”打包时是否都有?
      

  2.   

    我看了setup.lst文件,不太懂,应该如何看呢?
    然后怎么办呢?小弟初学。请多多指教!文件如下:SetupTitle=安装
    SetupText=正在复制文件,请等待。
    CabFile=人事档案管理系统2.0.CAB
    Spawn=Setup1.exe
    Uninstal=st6unst.exe
    TmpDir=msftqws.pdw
    Cabs=1[Bootstrap Files]
    [email protected],$(WinSysPathSysFile),,,1/16/01 12:00:00 AM,101888,6.0.84.50
    [email protected],$(WinSysPathSysFile),,,6/1/99 12:00:00 AM,326656,4.22.0.0
    [email protected],$(WinSysPath),,$(Shared),10/2/00 12:00:00 AM,102160,6.0.89.88
    [email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 12:00:00 AM,22288,4.71.1460.1
    [email protected],$(WinSysPathSysFile),$(TLBRegister),,6/3/99 12:00:00 AM,17920,2.40.4275.1
    [email protected],$(WinSysPathSysFile),,,3/8/99 12:00:00 AM,147728,2.40.4275.1
    [email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,3/8/99 12:00:00 AM,164112,5.0.4275.1
    [email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,4/12/00 12:00:00 AM,598288,2.40.4275.1
    [email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,8/21/00 12:00:00 AM,1388544,6.0.89.64[IconGroups]
    Group0=人事档案管理系统
    PrivateGroup0=-1
    Parent0=$(Programs)[人事档案管理系统]
    Icon1="人事档案管理系统2.0.exe"
    Title1=人事档案管理系统2.0版
    StartIn1=$(AppPath)[Setup]
    Title=人事档案管理系统2.0
    DefaultDir=$(ProgramFiles)\人事档案管理系统
    AppExe=人事档案管理系统2.0.exe
    AppToUninstall=人事档案管理系统2.0.exe[Setup1 Files]
    [email protected],$(AppPath),,$(Shared),4/27/02 3:51:38 PM,369,0.0.0.0
    [email protected],$(AppPath),,$(Shared),4/27/02 3:30:00 PM,208896,0.0.0.0
    File3=@MDAC_TYP.EXE,$(AppPath),,$(Shared),2/15/00 12:00:00 AM,7832296,25.0.4403.12
    [email protected],$(WinSysPath),$(TLBRegister),$(Shared),6/8/00 5:00:00 PM,20539,1.50.1693.0
    [email protected],$(WinSysPath),$(DLLSelfRegister),$(Shared),9/28/00 2:39:40 PM,118784,1.0.0.1
    [email protected],$(WinSysPath),$(DLLSelfRegister),$(Shared),9/21/01 3:45:18 PM,846096,6.4.7.1121
    [email protected],$(WinSysPathSysFile),,,6/8/00 5:00:00 PM,30992,6.0.1.8268
    File8=@人事档案管理系统2.0.exe,$(AppPath),,$(Shared),4/28/02 10:59:20 AM,217088,1.0.0.0; 要在满的安装盘上定制该文件,需要额外的空间,下列行可能被删除。
      

  3.   

    类似
    File1=@……
    File2=@……的都是必须文件,用什么工具打包时都要加进去。
      

  4.   

    用VB打包的大小和其他工具没有什么差别的,只是执行速度上很慢。
    我用过的VB打包还不错的,不过考虑到界面和执行效率,后来就改用INSTALL SHIELD乐。
    我解释一下VB打包程序各个文件的作用吧,很长的,耐心的(文章是我原创喔!!)
    安装版使用的是VB的打包程序制作而成。您可以查看每个安装程序的目录结构,可以发现其大致结构如下:
    Support目录: 存放安装包原始文件的目录,可以使用该目录来重新更新安装包;
    Setup.exe: 安装程序的启动执行文件;
    Setup.lst: 安装记录文件,里面记录了诸如系统缺省安装路径,各文件安装目录以及注册类型等信息;Setup.exe会在启动后寻找该文件并解释执行。
    *.CAB: 压缩后的安装程序包;里面存放了系统需要的所有的文件;它们将在Setup.exe启动后被解压到WINDOWS系统临时目录下,然后按照Setup.lst的内容被分别拷到指定目录下,并注册为指定类型。现在我们进入Support目录,您可以看到各种文件。这些文件除了安装程序包的原始文件外,有以下几个为制作安装程序所需要的控制文件,其名字和作用列出如下:
    *.bat: 某一个BAT批量处理文件(比如对财政系统安装程序的安装包制作批处理文件为统发工资.BAT);使用这个批处理文件来制作、更新安装包(*.CAB);其内容如下:@echo off
    ECHO 使用这个批处理文件来生成一个新的压缩文件。按下 CTRL-C 来取消,或
    pause
    "f:\VB98\WIZARDS\PDWIZARD\MAKECAB.EXE" /f "统发工资系统.DDF" 前面三行的意义是“提示信息,敲任意键继续”,第四行的意义是使用VB自带的打包程序读入一个打包配置文件统发工资系统.DDF来生成安装程序包(*.cab)
    注意:如果您所安装的VB路径和上面MAKECAB.EXE前所指定的路径不同,那么您需要为MAKECAB.EXE指定路径,否则执行该批处理文件的结果是DOS报错:文件已丢失或不存在。您可以全盘查找MAKECAB.EXE,通常它都在[VB安装目录\WIZARDS\PDWIZARD\]目录下。
     *.DDF 在上面那个BAT文件中第四行指定的打包描述文件;对于上例来说,它是统发工资系统.DDF。这是一个文本文件,您可以使用通用的文本文件编辑器来阅读、修改其内容。其可能的内容如下:
    .OPTION EXPLICIT
    .Set Cabinet=off
    .Set Compress=off
    .Set MaxDiskSize=CDROM
    .Set ReservePerCabinetSize=6144
    .Set DiskDirectoryTemplate=".."
    .Set CompressionType=MSZIP
    .Set CompressionLevel=7
    .Set CompressionMemory=21
    .Set CabinetNameTemplate="统发工资.CAB"
    "Setup.Lst"
    "setup.exe"
    .Set Cabinet=on
    .Set Compress=on
    "czt.exe"
    "czt.ini"
    ……
    对于上面内容来说,斜体字部分为打包程序自己所需要的参数信息,后面的宋体为打包文件名列表。MAKECAB.EXE会在启动后在当前目录中搜寻文件列表中列出的文件,最后把它们压缩成CabinetNameTemplate参数指定的压缩程序包,放到DiskDirectoryTemplate参数指定的目录下。对于上面内容来说,执行统发工资.BAT的结果就是将czt.exe、czt.ini等文件压缩打包成统发工资.CAB,放到上一级目录里面去。
         提示: 您可以发现在.“Set Cabinet=on”之前有两行: "Setup.Lst"、"setup.exe",这意味MAKECAB.EXE在执行打包之前会在当前目录下搜寻"Setup.Lst"、"setup.exe",并把他们直接拷到DiskDirectoryTemplate参数指定的目录下。
    Setup.lst: 安装记录文件,和support上级目录的同名文件一样,里面记录了诸如系统缺省安装路径,各文件安装目录以及注册类型等信息;Setup.exe会在启动后寻找该文件并解释执行。
         注意: 由于DDF文件中的设定,MAKECAB.EXE会在每次生成包时更新上级目录下的setup.lst文件,所以您每次都应该修改support目录下的setup.lst文件,而不是上级目录下的同名文件;否则在压缩包更新后,您对上级目录下的setup.lst所做的修改又被原始setup.lst覆盖了。
    现在我们来看一看setup.lst的内容,由于其内容比较复杂,我们将只介绍我们需要改动的部分:
    [统发工资系统]
    Icon1="统发工资.exe"
    Title1=财政系统
    StartIn1=$(AppPath)
    这一段的意义是在统发工资系统程序组中加入一个名为统发工资的快捷方式,其图标为统发工资.exe的图标,程序启动目录为程序安装目录。您也可以加入自己的快捷方式,比如在上面内容的后面附加:
    Icon2=”我的外挂程序.exe”
    Title2=”外挂报表”
    StartIn2=$(AppPath)\pb
    [Setup]
    Title=统发工资财政系统
    DefaultDir=$(ProgramFiles)\统发工资系统
    AppExe=统发工资.exe
    AppToUninstall=统发工资.exe
    这一段的意义是在程序安装时背景显示的标题是“统发工资财政系统”;程序缺省的安装目录是WINDOWS标准目录[Program Files]下的[统发工资系统]目录;系统主程序为统发工资.exe,卸载注册信息为统发工资.exe。一般不需要做改动,除非是标题信息。
    [Setup1 Files]
    [email protected],$(WinSysPath),,$(Shared),12/23/97 11:25:02 PM,65024,1.0.4.0
    [email protected],$(WinSysPath),,,1/3/98 9:36:26 AM,3266,1.0.0.0
    [email protected],$(WinSysPath),,,12/13/99 1:46:40 PM,213078,0.0.0.0
    [email protected],$(AppPath),,,4/8/00 4:12:24 PM,69632,1.0.0.0
    [email protected],$(AppPath)\temp,,,1/15/00 9:40:38 PM,12,0.0.0.0
    [email protected],$(AppPath)\pb,,,6/24/98 2:09:54 PM,3408384,6.5.0.444
    [email protected],$(AppPath)\pb,,,6/10/98 10:09:00 AM,169984,6.5.0.444
    ……
    [email protected],$(AppPath)\dat,,,3/13/00 12:41:52 AM,2437120,1.0.0.0
    这一段是程序安装的主要设置;它的意义是压缩程序包中各个文件的文件名,对应拷贝目标路径,注册类型,文件最后修改日期,文件大小,版本信息等。
    这些信息对我们有用的只有:文件名,对应拷贝路径,和注册类型,其他如修改日期、文件大小、版本信息等可以乱填,不会对系统使用有任何影响。
    您可以参考各个seltup.lst来决定自己怎么修改该FILES列表。
         提示: 您可以使用拷贝一行,粘贴后修改的方法来达到新增注册文件的目的。必须修改的信息是:
    行头的文件序号、@后的文件名,文件拷贝目录,注册信息(如果有的话)
      

  5.   

    呵呵,没有看胡涂吧。这是我原来在项目技术手册里写的东西,今天又翻出来献丑乐。
    对你的建议是:
    如果还用其他打包工具,建议使用INSTALL SHIELD,它带有VB搜索向导,可以搜索你的VB工程文件,帮你找到所有DLL,并自动打包进VB RUNTIME包。
    如果你使用其他打包工具,如果它们没有提供分析工具,你就只有自己组织包内容乐。方法是:首先找到VB RUNTIME包,这个可以上微软或者其他编程网站上下一个回来。然后是所有你用到的动态联接库,最简单的方法就是看看SETUP.LST文件的
    [Setup1 Files]段,将其中dll,ocx文件都在你的打包工具中手工注册就可以乐。
    祝你好运。