我们有一个安装项目,它可以生成一个未压缩的MSI文件,并且完全不需要Setup.exe,以后由NSIS进行压缩。
在特殊的构建设置中,我想在MSIS包装之前复制该MSI,更改副本并保留它。我还想在msbuild创建后压缩它。
有没有一种简单的方法(某种类型的命令行工具,也许?)我可以用它来压缩已经创建的msi文件?压缩未压缩的MSI文件
2
A
回答
2
是的!请参阅Windows SDK :)
有大量示例脚本显示如何使用Windows Installer API处理MSI文件。
MSI文件本身从未实际压缩过,但它可以包含可能被压缩的嵌入式CAB文件。
我建议把一些脚本从MSI中提取任何嵌入式CAB文件,一次解压缩到一个临时文件夹,使用更好的压缩方法重新压缩,然后用MSI中的非压缩CAB替换新压缩的一个。
任何工具,你可以找到会做我上面提到的到底是什么,但是把它一起自己应该提供的微星是如何工作有了更深的了解:)
0
未压缩转换微星压缩。
- 执行msi的管理员安装。
- 使用补丁来传递你想要的补丁文件。
- 将WiFilVer.vbs和WiMakeCab.vbs文件从
"C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\msi\scripts"
复制到admin安装文件夹。 - 要更新文件与新的运行:
CScript //nologo WiFilVer.vbs vendormsi.msi /U
- 要创建CAB文件并将其嵌入到微星:
cscript /nologo WiMakCab.vbs eTalk.msi Data1 /R /L /C /U /E /S
- 如果你没有得到5步CAB文件检查你的媒体表中的Orca并看看:“http://www.spinnersoftware.com/kb/en/msi/createmsi.html”寻找压缩部分。
- 您现在应该拥有包含所有内容的msi。
压缩一个MSI与内部或外部CAB文件
- 执行MSI的管理员安装。
- 使用补丁来传递你想要的补丁文件。
- 将WiMakeCab.vbs文件从Windows SDK复制到admin安装文件夹。
- 运行:cscript WiMakCab.vbs Vendor.msi Data1/L/C/U/E
- 您应该拥有带嵌入式cab文件的MSI。
相关问题
- 1. 压缩文件未解压
- 2. 压缩.msi文件的最佳方法?
- 3. 压缩解压缩的exe文件
- 4. png文件的压缩和解压缩
- 5. 解压缩(解压缩)由.net压缩(解压缩)的文件.net system.io.compression.gzipstream
- 6. WiX生成的MSI未压缩
- 7. 如何将未压缩文件夹视为压缩文件?
- 8. Node.js - 压缩/解压缩文件夹
- 9. Magick ++压缩和解压缩文件
- 10. 与django_compressor压缩文件以gzip压缩
- 11. 在yii中压缩/解压缩文件
- 12. 压缩和解压缩文件夹
- 13. 如何压缩文件时不压缩
- 14. .NET使用压缩和非压缩数据压缩文件
- 15. 压缩文件
- 16. 如何查找离子压缩文件的未压缩大小
- 17. 使用node.js压缩未压缩的xlsx文件(Electron)
- 18. 未压缩前端压缩图像
- 19. apache压缩Deflate .js和.css文件未压缩?
- 20. IIS 7.5压缩会创建压缩文件,但会返回非压缩文件
- 21. android获取压缩文件中的文件的压缩大小
- 22. 压缩.htaccess文件
- 23. 压缩AVI文件
- 24. 压缩MDB文件
- 25. 解压缩文件
- 26. 压缩KML文件
- 27. 压缩Javascript文件
- 28. 仅压缩文件
- 29. WSQ文件 - 压缩
- 30. 解压缩文件
谢谢。听起来像是一个好主意,我会研究提取驾驶室 - >压缩驾驶室 - >推动驾驶室。 – 2010-04-29 04:39:25