我想替换msi中的单个文件.怎么做?
使用msi2xml.
此命令提取MSI文件:
msi2xml -c OutputDir TestMSI.MSI
打开OutputDir并修改文件.
要重建MSI运行:
xml2msi.exe -m TestMSI.xml
您需要-m忽略在修改MSI文件时失败的"MD5校验和测试".
您需要使用MsiDB.exe(随Windows Installer SDK提供)从msi中提取CAB文件流.使用-x选项从命令行运行它,并指定cab文件的名称 - 这将在msi数据库的Media表中列出.
或者,如果在VSI选项中将"Package Files as:"选项指定为"在Cabinet文件中压缩"以使cab文件在构建时保留在msi之外,则可以跳过此部分(它将在同一目录中创建)作为msi).
解压缩后,您可以更改cab文件夹中的指定文件 - 其名称已被破坏,因此您需要找出该文件的msi名称在文件表中,然后将新文件重命名为该文件.
完成后,您可以使用-a选项使用MsiDB实用程序将其弹回.
在您与-a添加你需要使用msidb -k来从MSI除去驾驶室.