lessmsi
This is a utility with a graphical user interface and a command line interface that can be used to view and extract the contents of an MSI file.
Usage
To extract from the command line:
lessmsi x <msiFileName> [<outputDir>]
For more command line usage see CommandLine.
Installation
Install via Chocolatey (or download a zip).
Features
Windows Explorer Integration
Lessmsi also integrates with Windows Explorer so that you can right-click on a Windows Installer file (.msi file) and select "Extract Files" to extract it into a folder right there:
Just select Preferences from the Edit menu to enable (or disable) the explorer integration:
GUI
In addition to allowing you to extract files from the command line and from inside Windows Explorer, lessmsi has a graphical user interface that allows you to view detailed information about any MSI file.
MSI Table Viewer
Windows Installer (.msi files) are based on an internal database of tables. Lessmsi features a viewer for those tables. Useful for people who work a lot with installers.
Suggestion? Problem? Comment?
If you have a problem please submit it by clicking in the Issue tracker and I'll look into it when I can.
Contributions
Pull requests are welcome! Just make sure the Travis-CI build (compile only) passes and you run unit tests and I'll merge your contributions ASAP! The Issues app has an indication of some of the plans.
You Earn Bitcoin Tips for Contributing!
We're now tipping committers with bitcoin:
You Earn a Bounty for Resolving Issues!
We're now registered at IssueHunt so contributors can earn the bounty on specific issues that users have deposited funds against.
Donate to Support Open Source Contributors of lessmsi
You can donate in two ways:
- Donate at Tip4Commit (Bitcoin only) to fund a general fund. Each new commit to this repository receives a percentage of the available balance.
- Donate at IssueHunt to deposit your donation as a "bounty" against a specific issue or feature request. When a contributor resolves the issue they will earn the deposit for that issue.
Deploying & Publishing New Versions
New versions are published to GitHub Releases and Chocolatey via semantic-release to consistently release semver-compatible versions. Only the master branch is deployed.
To trigger a release just commit (or merge) to the master branch. All commits in master should use the Conventional Commits following Angular Commit Message Conventions.
Then the CI script in the repo at /appveyor.yml should build, test the code and if the build & tests succeed deploy it first to github and then to Chocolatey. Release configuration via semantic-release is in /release.config.js and the semantic-release-*.cmd
files in the /src/.build folder.
Originally from Scott Willeke's blog http://blogs.pingpoet.com/overflow and http://blog.scott.willeke.com. It was also called Less Msiérables as well as lessmsi.
Was featured in the book Windows Developer Power Tools as Less MSIérables.