我在wix燒錄引導程序中捆綁了一個msi軟件包。我可以從目標機器上的軟件包中提取此msi嗎?燒傷引導程序的提取內容
11
A
回答
24
您需要使用WiX附帶的dark.exe
實用程序。
dark.exe -x temp <installer>
5
捆綁包不能自行提取自己,直到有人實現了this feature。
0
如果您使用自定義引導程序應用程序,則可以在運行時從您的包中提取嵌入式.msi,然後使用WiX SDK提取該.msi的內容。
簡短的回答是,你可以使用Unbinder
類從包中提取MSI文件:
unbinder = new Unbinder();
unbinder.Unbind(bundlePath, OutputType.Bundle, tmpFolder);
unbinder.DeleteTempFiles();
然後,使用InstallPackge
類提取文件:
using (var msiPackage = new InstallPackage(msiFilePath, DatabaseOpenMode.Transact) { WorkingDirectory = _targetFolder })
{
using (var session = Microsoft.Deployment.WindowsInstaller.Installer.OpenPackage(msiPackage, ignoreMachineState: true))
{
msiPackage.ExtractFiles(fileKeysToInstall);
}
msiPackage.Close()
}
這一個你需要做的非常簡化的版本。我寫了一篇博客文章,其中包含更多詳細信息,您可以在這裏找到:http://www.wrightfully.com/extracting-msi-files-without-running-the-installer
重要說明:這不會運行任何自定義操作,因此請務必將其考慮在內。
相關問題
- 1. 在WiX引導程序(燒傷)中讀取ini值
- 2. 燒傷(WiX的引導程序)不卸載MSI軟件包
- 3. 爲燒傷引導程序做本地化
- 4. WiX 3.6燒傷引導程序無法升級
- 5. 指定燒傷管理引導程序中的WiX包中的INSTALLLOCATION
- 6. 維克斯燒傷管理引導程序加載失敗 - Errror 0x80040150
- 7. 引導程序span4動態內容
- 8. 如何在中間使用引導程序獲取div內容
- 9. 燒傷:修復按鈕
- 10. 在引導程序中顯示容器外的內容
- 11. 引導程序容器
- 12. 引導程序容器盒
- 13. 透明引導程序導航欄上的可點擊內容
- 14. 是否引導提供內容滑塊
- 15. 維克斯燒傷:自定義引導程序升級,但安裝並排舊版本
- 16. 如何將內容與容器中間對齊引導程序
- 17. Twitter引導程序:1側欄1流體內容 - 容器
- 18. 引導程序導航選項卡內容顯示錯誤
- 19. 在引導程序導航選項卡上顯示內容?
- 20. 在導航欄中顯示內容(引導程序)
- 21. 引導程序導航未與內容對齊
- 22. 引導欄內容
- 23. 引導valign內容
- 24. 燒瓶引導簡單的應用程序不正確渲染引導
- 25. 在引導程序中爲面板遠程修補內容
- 26. 防止屏幕燒傷的措施
- 27. Ajax的內容引導clearfix
- 28. Wix引導程序:要緩存的規則要燒寫
- 29. 引導程序中的中斷容器
- 30. 在apache2上運行spring引導應用程序並提供php內容