Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

How to extract single file from .MSI pkg via MSI API


3 replies to this topic

mal100

mal100
  • Full Members
  • 4 posts

Posted 02 October 2018 - 15:18

I want to be able to extract single files from an MSI pkg.  I have searched CodeProject and StackOverflow without success.  Most questions are answered by using ORCA or doing an msiexec.exe /a to get ~ALL~ files.  I need to do this programmatically from a separate EXE I am writing.  Seems to me I should be able to use the Microsoft MSI API functions/methods to do this by specifying the file I want and just enumerate thru the MSI File table for this?  Thanks for any help.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 October 2018 - 08:27

The files are stored in a CAB (similar to ZIP) not in the MSI tables. The CAB however may be embedded in the MSI.

I don't know the exact API, but 7zip can open an MSI and extract the embedded CAB. And then you can extract the file from the CAB.



mal100

mal100
  • Full Members
  • 4 posts

Posted 03 October 2018 - 13:14

Thanks Stefan

I'll try that - thanks for giving me a head start on this.



mal100

mal100
  • Full Members
  • 4 posts

Posted 03 October 2018 - 14:54

I have now found this StackOverflow link, which will get me started on working with the embedded .CAB file.

This link also mentions using the DTF tools.

 

https://stackoverflo...om-msi-database