Open pombredanne opened 8 years ago
And there is an older lcab https://sources.archlinux.org/other/packages/lcab/
After some digging there is nothing that can be done. the cab format is properly extracted. Short of of actually running an installer, you cannot recreate correct paths for the extracted files.
Reopening to consider this https://github.com/hughsie/python-cabarchive by @hughsie to solve the problems above....
On that, python-cabarchive is being used "in production" so to speak, so if anyone does want to add missing functionality or fix my unidiomatic python please do :)
At the moment the extractcode lib extracts CAB files al-right, but does not understand the underlying structure of the files. You end up with a pile of files names after some hash or UUID and not real file names as they would be installed.
The format is more or less documented here: https://msdn.microsoft.com/en-us/library/bb417343.aspx https://github.com/n3k/PyCAB seems to implement some code to handle this in pure Python Wine has an implementation of cabarc which runs likely only under wine. cabextract is a portable, standalone extractor: http://cabextract.org.uk/