一些产品打包发布时希望把cab文件注入msi文件或者替换msi里的cab文件,我前段时间做了相关的工作,与大家分享下。

软件准备:Orca,msidb,cabarc.

首先运行Orca,打开目标msi,然后工具-〉选项-〉数据库 把“每次保存一个数据库时生成唯一的程序包代码”和“‘另存为’时复制嵌入的流”选上。然后另存为一个新的msi文件,可以任意命名。

新建一个磁盘,格式设置为FAT32,然后把msidb.exe,cabarc还有刚才保存的新msi都放进新建的磁盘,

点击开始菜单,选择运行命令,在运行窗口中输入“cmd”并选择确定,打开一个命令提示符窗口,在其中一次执行下面的操作:

  msidb –x lang.cab –d chs.msi    ——从chs.msi中提lang.cab
  md files    ——建立一个空白文件夹
  expand lang.cab –F:* files    ——将lang.cab解压到files文件夹

  删除掉lang.cab,然后将网上下载的中文语言文件全部覆盖到files文件夹中,然后继续在命令提示符中执行:

  cabarc –m LZX:21 –r N lang.cab “files\*”    ——将files目录中的所有文件重新压缩为lang.cab
  msidb –k lang.cab –d chs.msi    ——清除掉chs.msi文件中的lang.cab
  msidb –a lang.cab –d chs.msi    ——将新生成的lang.cab重新打包进chs.msi

  至此,就完成了所有的修改操作,我们可以执行新的MSI安装程序来将软件安装到系统中了。
  如果是上面提到过的第二种方式发布的MSI安装程序,就可以省掉所有的msidb操作,直接重新打包CAB文件就行了。

转载于:https://www.cnblogs.com/shengjun/archive/2013/05/03/3057143.html

msi文件替换修改cab文件相关推荐

  1. 将ocx和DLL文件打包成cab文件,inf的编写

    From: http://icrwen.iteye.com/blog/1118766 http://blog.csdn.net/yimiyangguang1314/article/details/65 ...

  2. 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装

    我们打开淘宝等网站时,IE浏览器会提示安装空间,这个控件便是用于对用户名密码进行加密的ActiveX控件.如何在我们的站点上安装如此控件,让用户可以通过简单的点击便可方便使用我们的空间呢? 下面是如何 ...

  3. 将ocx和DLL文件打包成cab文件,IE浏览器在线安装

    我们打开淘宝等网站时,IE浏览器会提示安装空间,这个控件便是用于对用户名密码进行加密的ActiveX控件.如何在我们的站点上安装如此控件,让用户可以通过简单的点击便可方便使用我们的空间呢? 下面是如何 ...

  4. mysql的socket文件_修改socket文件, MySQL启动报错

    事情是这样的, 我要搭建MySQL主从, 做读写分离, 然后就要了一台服务器搭建mysql, 最近犯懒, 就寻思搞一个二进制的吧直接启用 一堆问题就出现了 [ERROR] Can't start se ...

  5. python修改json文件_python修改json文件的value实例方法

    利用python修改json文件的value方法 做工程时遇到需要监听json文件,根据json文件中的key-value值作出相应处理的情形.为此写了修改json文件的python脚本供工程后续调用 ...

  6. Keil MDK5工程文件不可修改(文件符号上带一个黄色的钥匙)

    在使用MDK5编写程序的时候,有一次突然出现了工程内所有的文件都不可以修改的情况,如图所示: 文件上有一个黄色的钥匙标识,所有文件全都不可以修改,包括增删文件等等. 经排查出现这种情况的原因是将该工程 ...

  7. r星服务器在那个文件,gta5修改host文件连接r星服务器方法介绍

    <GTA5>中很多反映遇到登陆R星服务器很慢或者连接不上的问题,如何解决?下面带来玩家"俠盗猎车手5"分享的优化连接R星服务器方法,一起来看看吧. [用处]host文件 ...

  8. 添加数据文件及修改数据文件的位置

    恢复后为临时表空间添加数据文件 SQL> alter tablespace temp add file 'D:\oracle\product\10.1.0\oradata\myoracle\t ...

  9. Java实验05-使用JavaSwing制作一个闹钟(播放mp3文件,修改properties文件)

    一个比较简单的swing程序,关于swing的一点基础在我的java游戏项目中有.需要修改的自行修改吧,当前只支持设置一个闹钟,可以保存设置的闹钟,闹钟响起后50s自动关闭,就不花时间完善了. 文章目 ...

最新文章

  1. 记一个开发中遇到react-native flatList 的坑
  2. python小游戏代码大全-Python小游戏之300行代码实现俄罗斯方块
  3. java 怎么向串口发送指令_idea ssm项目java程序使用十六进制rxtx包向串口发送指令的方法...
  4. [POJ2157]Maze(DFS)
  5. 关于9999元的小米铁蛋,这里有一份官方解答
  6. 华为P30系列机身侧面照曝光 摄像头仍然“凸起”...
  7. 18. 爱吃皮蛋的小明(斐波那契数列)
  8. SpriteBuilder改变布局后App运行出错代码排查
  9. imei模拟修改_教你如何修改任意安卓模拟器的机型IMEI手机号等信息 海马玩 Windroye等适用...
  10. 微博结集成书 过把“作家瘾”
  11. Android studio:select process to attach to...找不到debug调试的目录
  12. HBuilderXHBuilder连接雷电模拟器“未检测到手机或模拟器” ---- 问题解决
  13. html的后代选择器,html5怎么使用后代选择器?html选择后代的两种方式详解!
  14. 计算机教学得意之处,wysxhl
  15. 三维声场(虚拟3D音频)学习总结(1):基本概念
  16. 五款开源图像处理软件
  17. Segmenter Transformer for Semantic Segmentation
  18. 小程序获取微信运动步数并集成echarts报表显示
  19. excel2010 中 启用宏,VBA使用 说明
  20. 【教程】UE4模拟火箭弹

热门文章

  1. Zabbix 网络和端口检测
  2. Python+Selenium:初步使用Chrome谷歌浏览器
  3. Error type 3 Error: Activity class {...} does not exist
  4. el-table 按照某种规则 进行自定义升序降序的排序
  5. 写给计算机老师的一封信800,给老师的一封信800字(精选6篇)
  6. SBT40100VDC-ASEMI肖特基二极管SBT40100VDC
  7. 百济神州新建苏州创新药物产业化基地启动奠基;大湾区广州泰和肿瘤医院开业 | 医药健闻...
  8. 获取网站上的旅游攻略信息,并作数据可视化
  9. Perl中的闭包(closure)
  10. 广东女子职业学院计算机,广东女子职业技术学院代码