前言msi文件是一个安装包文件,可以看做一个数据库,其中包含很多资源,例如图片,配置文件,可执行文件exe等等。 我想要把修改过 exe可执行文件提交到msi文件中,那么就需要知道msi文件的构成,首先 msi文件 中最重要的内容就是cab文件,cab文件可能是在 msi文件 的内部,也可能是独立于 msi文件 之外的。如果cab文件是在msi文件内部的话, 那么提取和提交 cab文件 就需要用到 环境配置我们修改 msi文件 只需要用到俩个软件: iexpress(用于将目录打包成cab文件) , msidb(用于获取 msi文件 中的信息,提取或提交cab文件到msi)。 修改msi步骤
如果cab文件是独立在msi文件之外的,那么就可以省略 1,5步骤。 1.提取cab文件首先要知道msi包含cab文件的名字,才可以提取出来。可以使用msidb命令提取俩个文件。 1.1 提取Media.idt和File.idt文件
这俩个文件都可以用记事本打开: 1.2 提取cab文件
2. 解压cab文件一般的解压软件都可以直接解压cab文件。将其解压到一个目录里面就可以了。 3. 将修改的资源放回解压cab解压后目录我要替换的是我修改的一个exe, 图中的 cpxfmtEXE 就是可执行文件exe,只不过这里没有后缀名。 4. 将目录重新打包成cab文件这一步是最为复杂的。主要在于压缩的顺序问题。文件的顺序在我们之前的 squence 这一列就是顺序编号。 5. 将新的cab文件提交进msi文件将
添加新打包的cab文件:
这里 cab文件名,必须是前面获取到的文件名,所以需要将前面生成的 new.cab 修改为原始名 参考文章https://blog.csdn.net/davidhsing/article/details/9962377 |
|
来自: 昵称43998645 > 《待分类》