我們有一個安裝項目,它可以生成一個未壓縮的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