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.
How to extract single file from .MSI pkg via MSI API
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.
Posted 03 October 2018 - 13:14
I'll try that - thanks for giving me a head start on this.