![将 msp 补丁到 msi 包中](https://linux22.com/image/1309384/%E5%B0%86%20msp%20%E8%A1%A5%E4%B8%81%E5%88%B0%20msi%20%E5%8C%85%E4%B8%AD.png)
Windows Live Messenger 的最新更新是将 msp 添加到包中。我想将 msp 修补成 msi。
我从中提取了所有 msi 和 msps。
(为了获取 msp 和 msi,我做了以下操作使用资源黑客打开 wlsetup-all.exe
在左侧树中浏览到 PACKAGE 右键单击 PACKAGE,保存 PACKAGE 资源保存到新的临时文件夹例如 D:\temp\package.rc
这将输出一大堆 .bin 文件,这些只是 cab 文件,所以我们需要进行批量重命名“ren *.bin *.cab”
完成后,选择所有 cab 文件并提取到新的子文件夹 \extracted 在 \extracted 中,您将看到所需的所有 msi、msp 和 7z 文件)
我尝试直接应用 msp,但没有结果 msiexec /p messenger.msp /a messenger.msi
我还尝试进行管理员安装,但不提取任何内容。
答案1
微软文章从管理安装点部署产品更新描述(除其他外)如何将 .msp 应用于 .msi 以生成更新的 .msi :
msiexec.exe /a "[path to .msi file]" /p "[path to .msp file]"
如果更新包含多个 MSP 文件,则需要对应用于管理安装点的每个 MSP 文件分别运行命令行 - 您不能在同一个命令行上引用多个 MSP 文件。本文详细介绍了每个命令行选项。
[编辑]
上述文章可能会产生误导。
在修补步骤之前,应该首先使用语法从原始 msi 创建管理安装点msiexec /a original.msi.path
(从源文件所在的不同文件夹中调用),然后集成 msp(从包含文件的文件夹执行此操作),首先从管理共享测试安装程序,然后重新打包产品。
按照 MS 文章中的建议使用完整的语法:
msiexec /p [path\name of update MSP file]
/a [path\name of MSI file] SHORTFILENAMES=TRUE /qb
/L* [path\name of log file]
有关完整示例,请参阅本文:MSP 到 MSI - Office Communicator。
答案2
Messenger msi 文件似乎不支持此功能。
切换为使用 SCCM 进行部署。