zoukankan      html  css  js  c++  java
  • 如何替换exe程序中的某个文件?

    我们公司有套业务系统,需要使用oracle的一个插件(Jinit22.exe),但使用过程中发现IE经常报异常,导致系统不能正常使用,很难解决。后来,有同事发现,将Jinit22.exe安装后的jvm.dll给替换成一个新版的jvm.dll文件就可以避免错误。方法是找到了,但是要求用户自己去替换这个文件想必还是很麻烦。最好是从源头解决这个问题。

    思来想去,要是能够将Jinit22.exe中的jvm.dll直接替换掉就能彻底解决问题,事实上这样做是可行的。

    1 先将Jinit22.exe用压缩软件解压到jinit22下,会发现里边有data1.cab和data2.cab两个文件。

    2 通过InstallShield自带的cab viewer打开data1.cab可以看到要替换的文件jvm.dll。通过iscab.exe命令来替换jvm.dll,不报错,但是改造后的setup.exe无法运行。原来,iscab只能对10.0的有效,对于5.0或6.0版本的cab不能修改。

    3 用WinPack也可以修改cab文件,尤其是适合解决InstallShield5.0或6.0生成的cab文件,果然修改后的文件可以正常运行。

    4 由于解压后生成了好几个文件,原来的Jinit22.exe是安装程序,要是能把这些文件打包成可执行exe安装文件就好了。原来方法也是有的,居然通过winrar的自解压功能就可以,太神奇了。

    通过上述方法,不用编程就改造了exe安装程序,大大方便了工作。

     

  • 相关阅读:
    Python流程控制
    Python 迭代器和列表解析
    Python 文件对象
    TF-IDF介绍
    hexo博客更换主题
    学习笔记—MapReduce
    Mac下Anaconda的安装和使用
    Flume的介绍和简单操作
    hexo+github搭建个人博客
    Hbase的安装和基本使用
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/2099812.html
Copyright © 2011-2022 走看看