加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

操作installshield 3.x的压缩包操作及修正过程说解

发布时间:2019-12-13 14:39:51 所属栏目:MsSql教程 来源:蓝点
导读:一.目标: 操作installshield 3.x的压缩包,对其进行查看,释放及修改. 二.用到的工具: 1.icomp.exe 用于操作installshield 3.x的压缩包 2.winhex 用于修正installshield 压缩包操作过程中的某些错误. 三.操作过程: -------------------------------installshi

    
    
     
    
    

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

一.目标:
操作installshield 3.x的压缩包,对其进行查看,释放及修改.

二.用到的工具:
1.icomp.exe 用于操作installshield 3.x的压缩包
2.winhex 用于修正installshield 压缩包操作过程中的某些错误.

三.操作过程:

-------------------------------installshield 3.x压缩包操作过程---------------------------
1.icomp.exe 的常用参数及用途.
用法: icomp pathinput pathoutput [pathinlib] -Options
参数:
-c (默认) 压缩目标文件.
-d 对压缩包中的文件进行解压缩.
-dt 测试解压缩过程.
-r 移除压缩包中的一个文件
-i 包含子文件夹.
-l 查看压缩包中的文件列表.

2.对文件进行查看和解压缩
一般而言,首先确定安装文件是否采用installshield 3.x,可以通过查看setup.exe的属性就可以确定.
它的压缩文件一般为文件夹中最大的那一个文件.
例:在文件夹中_setup.1是其压缩包.
icomp _setup.1 -l (可查看压缩包内的文件名)

日期 时间 原始大小 属性 压缩后大小 文件组及文件名
======== ===== ======== ==== ======== ====
07-29-98 18:00 127488 A___ 35376 Group1Dsetup.dll
07-24-98 15:10 300032 A___ 146493 Group1gbm.dll

.................

05-28-01 15:10 28672 A___ 7208 Group7InsSetStu.exe<---如果压缩包中有大于8.3命名规则的文件名,则在解压和再压缩中会产生文件名被转为8.3命名规则.这是要进入修正.
................

icomp _setup.1 -d -i 可以对压缩包文件进行释放
可以看到压缩包内文件已经释放到了当前文件夹中Group1等子文件夹中.打开Group7文件夹,可以看到超过8.3命名规则的文件名变成了Inssetst.exe .

3.对文件进行再压缩及文件名的修正.
icomp *.* _setup.1 -i 可以对当前文件夹中的文件带子文件夹进行压缩.(注:如果压缩前已经存在_setup.1,则压缩会出错),压缩完成后,还要对压缩包内的长文件名进行修正.


用winhex打开新生成的压缩包_setup.1 在文件尾,可以看到压缩包内的各文件名,找到需要修正的文件.


该值指明文件名的长度

004B7710 00 BC 2A 57 79 20 00 00 00 37 00 00 00 00 00 0C .?Wy ...7......
004B7720 49 4E 53 53 45 54 53 54 2E 45 58 45 00 00 00 01 INSSETST.EXE.... <---这是需要修正的文件
004B7730 00 01 00 00 00 00 00 00 00 00 0C 00 00 40 00 00 .............@..
004B7740 A9 08 00 00 B2 BD 42 00 3C 28 BC 6D 20 00 00 00 ?..步B.<(糾 ...
004B7750 36 00 00 00 00 00 0B 44 45 46 41 55 4C 54 2E 50 6......DEFAULT.P
004B7760 54 4D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 TM..............
004B7770 0C 00 00 60 00 00 DC 09 00 00 5B C6 42 00 AF 2A ...`..?..[艬.?

对上图中,可以看到,要修正文件名,需要改动2个地方,第一将文件名前的字节的指改为增加长度后的值,然后在文件名需要增加的地方,插入所需的字节数.修正后如下.



004B7710 00 BC 2A 57 79 20 00 00 00 37 00 00 00 00 00 0D .?Wy ...7......
004B7720 49 4E 53 53 45 54 53 54 55 2E 45 58 45 00 00 00 INSSETSTU.EXE...
004B7730 01 00 01 00 00 00 00 00 00 00 00 0C 00 00 40 00 ..............@.
004B7740 00 A9 08 00 00 B2 BD 42 00 3C 28 BC 6D 20 00 00 .?..步B.<(糾 ..
004B7750 00 36 00 00 00 00 00 0B 44 45 46 41 55 4C 54 2E .6......DEFAULT.
004B7760 50 54 4D 00 00 00 00 00 00 00 00 00 00 00 00 00 PTM.............
004B7770 00 0C 00 00 60 00 00 DC 09 00 00 5B C6 42 00 AF ....`..?..[艬.

长文件名问题通过修正后,压缩包就可以正常被使用了.

---------------------------------------------------------------------------------------------
    推荐文章
      热点阅读