activescott / lessmsi

A tool to view and extract the contents of an Windows Installer (.msi) file.
https://lessmsi.activescott.com
MIT License
1.29k stars 150 forks source link

feat: Add basic msp file reading functionality #171

Closed learn-more closed 2 years ago

learn-more commented 2 years ago

This functionality was something that I needed, and it seems to be working fine (from my limited testing). There are no tests for it yet, and it is a bit simple (file tab does not work, but all others seem to be working the same as for .msi files)

@activescott is this something that you are interested in? If so, please list what you would like me to add/improve.

Did not do these (yet):

ps: I have not forgotten about my older PR's, will get to address those eventually.

Testing was done on the .msp files from the German version of Microsoft's Excel Viewer available at: https://web.archive.org/web/20170104231942if_/http://download.microsoft.com/download/F/8/8/F88CB355-ECAA-4B74-87D6-C05C81D215BF/ExcelViewer.exe

image

activescott commented 2 years ago

@learn-more So glad to see you back here! Hey all tests pass and this is a very long standing request! See #1 !

I'm open to merging this. Only things I'd really like to see are:

Thanks and let me know how I can help. iIdon't want to be an obstacle to getting this merged!

learn-more commented 2 years ago

@activescott I have included some basic tests for 3 msp files that I found on my machine. Most of the logic that is interesting here (streams, table parsing) is actually implemented in the view itself, so the tests are not really exciting.

Normal MSI files that I tested work fine, but I don't have an extensive testing collection for that.

Additionally, I amended the initial commit with a bugfix: I forgot to add dragdrop support for msp files, but that is handled now as well.

Oh, and I've got a PR lined up for the names of the Streams (that are mojibake right now), after this PR is done I can add the new PR for that (in case you want to do some regression testing, it might make sense to wait for that second PR).

activescott commented 2 years ago

:tada: This PR is included in version 1.9.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

activescott commented 2 years ago

@learn-more Thanks again for your contributions. Just a reminder that you should be able to go to https://tip4commit.com/github/activescott/lessmsi and claim a "tip" in bitcoin for your commits to this project.