Msbuild 压缩未压缩的MSI文件
我们有一个安装项目,它生成一个未压缩的MSI文件,并且根本没有setup.exe,稍后将由NSIS进行压缩。Msbuild 压缩未压缩的MSI文件,msbuild,windows-installer,Msbuild,Windows Installer,我们有一个安装项目,它生成一个未压缩的MSI文件,并且根本没有setup.exe,稍后将由NSIS进行压缩。 在一个特殊的构建设置中,我想在MSI被NSI包装之前复制它,更改副本并保留它。我还希望在msbuild创建它之后对其进行压缩。 有没有一种简单的方法(可能是某种命令行工具?)可以用来压缩已经创建的msi文件?是的!请参见:) 有一系列示例脚本显示了如何使用Windows Installer API操作MSI文件 MSI文件本身从未被实际压缩,但它可以包含可能被压缩的嵌入式CAB文件 我建
在一个特殊的构建设置中,我想在MSI被NSI包装之前复制它,更改副本并保留它。我还希望在msbuild创建它之后对其进行压缩。
有没有一种简单的方法(可能是某种命令行工具?)可以用来压缩已经创建的msi文件?是的!请参见:) 有一系列示例脚本显示了如何使用Windows Installer API操作MSI文件 MSI文件本身从未被实际压缩,但它可以包含可能被压缩的嵌入式CAB文件 我建议编写一些脚本,从MSI中提取任何嵌入的CAB文件,将它们一次解压缩到一个临时文件夹,使用更好的压缩重新压缩,然后用新压缩的CAB替换MSI中未压缩的CAB
你能找到的任何工具都能完全实现我上面提到的功能,但是你自己将其组合起来,应该可以更深入地理解MSI的工作原理:)将MSI从未压缩转换为压缩。
“C:\Program files\Microsoft SDK\Windows\v7.0\Samples\sysmgmt\msi\scripts”
复制到管理员安装文件夹CScript//nologo WiFilVer.vbs vendormsi.msi/U
cscript/nologo WiMakCab.vbs eTalk.msi Data1/R/L/C/U/E/S
谢谢听起来是个好主意,我将研究提取cab->压缩cab->将cab推入。