记一次使用Orca.exe修改MSI安装包使其中只能在Windows XP安装修改为可以在Windows11安装的过程

用Orca修改MSI包以支持Win11安装

记一次使用Orca.exe修改MSI安装包使其中只能在Windows XP安装修改为可以在Windows11安装的过程

背景信息


一个安装包只能在Windows XP运行安装成功,在高版本操作系统安装后会报错导致安装失败,需要修改MSI安装包的表来实现在Windows11上正常安装运行。

获取安装日志


通过如下命令记录安装失败详细日志进行分析:

msiexec /i "app.msi" /L*v "D:\app_log_new.log"

得到安装错误日志:

PDINSTALL:  Function MakeVDDRegEntry:  'Failed to add entry!'
CustomAction MakeVDDRegEntry.2ED9-5D4_74AF-48B6-8026-1C8DFA2F02A5 returned actual error code 1603
Action ended 15:50:17: MakeVDDRegEntry.2ED9-5D4_74AF-48B6-8026-1C8DFA2F02A5. Return value 3.

分析发现这个虚拟驱动程序vdd只能在Windows XP上成功执行注册,在其他版本上早就被放弃不被支持了。所以安装过程中报错给出了-3的错误参数反馈,导致安装失败,需要让安装程序略过这个action执行步骤。

修改MSI安装包


所以使用Orca.exe修改MSI安装包:
第一步:用Orca打开MSI文件

  1. 右键点击您创建的副本 Install Voxar 3D_modified.msi,选择 “Edit with Orca”。

第二步:定位并禁用失败的自定义操作

  1. Orca的界面左侧是数据表列表(Tables),右侧是选定表的内容。 在左侧的 “Tables” 列表中,找到并点击InstallExecuteSequence 表。 InstallExecuteSequence 表定义了在实际安装(文件复制、注册表写入等)过程中需要执行的操作及其顺序。
  2. 在右侧的表内容中,找到 Action 列。 点击 Action 列的表头进行排序,或者直接滚动查找。 找到值为
    MakeVDDRegEntry.2ED935D4_74AF_48B6_8026_1C8DFA2F02A5 的那一行。
  3. 禁用该操作(推荐方法:添加永假条件)
    找到 MakeVDDRegEntry… 这一行,然后查看 Condition 列。
    无论 Condition 列原来是什么内容(可能是空的),直接将其修改为 1=0。
    1=0 是一个永远为假的条件,这意味着当安装程序执行到这一步时,会因为条件不满足而自动跳过这个操作。修改后,按回车确认。

第三步:保存修改后的MSI文件

  1. 点击菜单栏的 “File” -> “Save”。然后关闭Orca。

安装测试


双击MSI文件进行安装,成功完成安装没有报错。

后记


MSI的可编辑功能的确非常强大,整体架构设计非常科学,参数非常丰富,对于企业级软件部署提供了强大的可编辑支持。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值