将 msp 补丁到 msi 包中

将 msp 补丁到 msi 包中

Windows Live Messenger 的最新更新是将 msp 添加到包中。我想将 msp 修补成 msi。

参考下载 http://wl.dlservice.microsoft.com/download/8/3/D/83D75746-DF04-45E9-8374-BD31B9419128/en/wlsetup-all.exe

我从中提取了所有 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 进行部署。

相关内容