VCLZIP 不是可以将文件打包成自解压文件吗?

解决方案 »

  1.   

    具体怎么做,不大清楚
    我曾做个安装程序,我想用这个方法可行
    1。制作压缩包(有很多的控件可用,推荐使用backup,我用的就是这个相当的好)
    2。制作程序关联(这步应该在注册表中完成,不用多少了吧)
    3。实现自解压(向解压程序传递参数,让解压程序隐藏完成解压,着方面的资料很多,没有的话,我还有份)
    只是个人想法,别见笑。
      

  2.   

    这个功能我用DELPHI实现了(从EXE解出其他的EXE及相关文件后运行其他的EXE)。
    有现成的代码。
    如要请用QQ:10350670
    [email protected]
      

  3.   

    首先明确一个可执行文件在后面附加信息对原来的应用程序执行没有影响。
     bluenightsky()的方法也是可行的。但是那只能在编译时候对文件进行增加或删除。当然,NT/2K是可以更新资源的。但很麻烦。原来做过这种东西,思路是这样的:选将多个文件压缩成一个流,附加到应用程序后面。再在后面附加一个固定的长度的字符串(说明这个流的大小),应用程序运行时将流长度读出来。再将流读出解压到临时目录下面。想运行也好,想将文件COPY到指定的目录也好。都行得通。
    这段代码太长,我就不贴了。至于压缩我是用zlib做的压缩。效果不错。
      

  4.   

    楼上的意思,是建立两个exe文件,然后再连接起来?
    如何定位内存中附件的地址呢?
      

  5.   

    o !thanks    i get a solution!
      

  6.   

    black_fox(black_fox) :
    可不可以发过来,
    [email protected]
      

  7.   


    (一)我在DOS下作过类似的工作,
    但不是全靠自己编出程序来实现的,
    而要经过几个步骤才能成为一个类似自解压程序的程序.(二)要利用的一个工具软件是BINOBJ.
    它能把BIN文件(二进制数据文件)转换成OBJ文件(目标文件),
    而此目标文件就可以附到任何一个执行程序文件后面去,并被此执行程序文件所利用.(三)利用以上方法可将任何'执行程序'和它所需'数据文件'合成一个新的执行文件.
    要搞一个自解压程序时,'执行程序'就是一个解压程序,而对应的'数据文件'就是被压缩完成的文件(zip文件).winzip在生成生成自解压程序时,实际也是要分步完成的,先是产生zip文件,再用
    make exe file 命令才能生成自解压程序.详细的我就不谈了. 可到以下
           希望出版的<Turbo Pascal 高级编程指南>,露林等译
    书的第一章,第1.5节的:'使用BINOBJ实用程序'找到详细操作说明.
      

  8.   

    参考
    http://www.csdn.net/Develop/article/13%5C13562.shtm
      

  9.   

    谢谢 benesoft(bene) 的源码!结贴