Code Monkey home page Code Monkey logo

lessmsi's Introduction

lessmsi

Build Status Chocolatey Downloads chocolatey GitHub forks GitHub stars tip for next commit GitHub issues

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:

lessmsi Explorer Integration screenshot

Just select Preferences from the Edit menu to enable (or disable) the explorer integration:

lessmsi Preferences Dialog screenshot

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.

lessmsi Files Tab screenshot

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.

lessmsi Table Tab screenshot

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.

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.

Contributing

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: tip for next commit

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.

Development Environment

To set up a free Windows development environment that works with Lessmsi:

  1. Install VMWare Fusion Player (using free "Player" version, only needed if developing on MacOS - homebrew also has a vmware-fusion formula)
  2. Download a Virtual Machine for Windows development that Microsoft provides at https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/. These VMs include virtual machine with the latest versions of Windows, the developer tools, SDKs, and samples ready to go.
  3. Install chocolatey as described at https://chocolatey.org/install
  4. Install some things using the "Command Prompt" (cmd rather than "Power Shell"/ps) and winget here):
# install git for windows (this also installs "bash" via "Git Bash")
$ winget install git.git

# install chocolatey (this is required to run the MSBuild script and create the chocolatey package that is deployed by CI)
$ winget install chocolatey

# NOTE: you'll need to close this window and open a new one to get the cpack and git on the path

Then you can switch to bash by typing "bash" in the start menu and selecting "Git Bash" and follow these steps:

# in Git Bash..., generate and ssh key for github:
$ ssh-keygen
# follow prompts...

# Print *public* ssh key to console, and register the printed value at github at https://github.com/settings/ssh/new by copying the key printed from the prior step into that box
$ cat ~/.ssh/id_ed25519.pub

# create directories for code and clone the repo:
$ mkdir /c/src
$ cd /c/src
$ git clone [email protected]:activescott/lessmsi.git

Now I switch back to a "Developer Command Prompt for Visual Studio" (i.e. cmd with helpful PATH) to do a build since it is more CI-like:

$ cd \src\lessmsi\src
$ .\build.bat

# I usually start with 0.0.1 when prompted for a version number...

Supported Windows Versions

The latest versions of Lessmsi should support the oldest version of Windows that Microsoft still officially supports according to https://learn.microsoft.com/en-us/windows/release-health/supported-versions-windows-client That means we need to also target a .NET Framework version that is included in the oldest version Windows that Microsoft still supports which can be found at https://en.wikipedia.org/wiki/.NET_Framework_version_history

For example as of 2024, Windows 10 is the oldest version of Windows still supported and according to the Wikipedia article, .NET Framework 4.8 is included in Windows 10 (some reasonably current update to Windows 10), so targeting .NET Framework 4.8 is ideal since any reasonably up-to-date version of Windows 10 will have .NET Framework 4.8. Going further, as of April 2024, we see that while .NET Framework 4.8.1 is also available, it is only included in Widnows 11, and not included in any Windows 10 version, so we should not target .NET Framework 4.8.1 as some of our Windows 10 users may not yet have 4.8.1 installed.

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.


lessmsi's People

Contributors

acelent avatar activescott avatar agbrown avatar bastianeicher avatar benhc123 avatar bioruebe avatar bl-ue avatar c0shea avatar ferventcoder avatar icnocop avatar jgstew avatar kaue avatar kolanich avatar learn-more avatar mattiase avatar mega5800 avatar petrkle avatar quider avatar raphaeldore avatar sergeyt avatar vnau avatar zippy1981 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lessmsi's Issues

Windows Explorer Integration doesn't work on 64-bit Win7

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:

they test it under Windows 7 64-bit?
he can not open the. msi file! (ERROR:Failed to open file)
the parameters are not correct!

Existing tests are dependent on specific directory

Existing "ExpectedOutput" files used to run unit tests all begin with C:\projects\lessmsi\src\Lessmsi.Tests\bin\Debug\<msiFileName> and they should be relative. Otherwise anyone trying to run tests must have the project running from C:\projects\lessmsi\src\Lessmsi.Tests\bin\Debug\<msiFileName>.
Remove the root of this path or make the tests resilient enough to ignore that portion of the paths when doing comparisons.

Support external cabs (.cab files not embedded in the msi)

from https://code.google.com/p/lessmsi/issues/detail?id=7

Project Member Reported by activescott, Mar 18, 2010

What steps will reproduce the problem?

  1. Use WinSDK_x86.msi
  2. Extrac

What is the expected output? What do you see instead?
Should extract normally, but nothing happens.

At a minimum it should provide better error messages.

Mar 18, 2010 Delete comment #1 [email protected]

  1. Download the Windows 7 SDK ISO from here:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=71deb800-c591-4f97-a900-
    bea146e4fae1&displaylang=en
  2. Mount the ISO
  3. In lessmsi.exe open \Setup\WinSDK\WinSDK_x86.msi (notice external cab)
  4. Attempt to extract "hxds.dll"
  5. After clicking OK for the extract folder nothing happens and no errors are
    presented.

Thanks,
D.
Mar 18, 2010 Delete comment Project Member #2 activescott
Thanks for the details. Very helpful. I'm making this high priority. Will investigate next
time I work on the project.
Labels: -Priority-Medium Priority-High
Mar 18, 2010 Delete comment Project Member #3 activescott
(No comment was entered for this change.)
Status: Accepted
Mar 18, 2010 Delete comment Project Member #4 activescott
(No comment was entered for this change.)
Labels: Milestone-Release2.0
Mar 2, 2011 Delete comment Project Member #5 activescott
Note: See issue 9 which is related to this.

I cannot open the file! [ASAP]

I have Win xp sp2,
it has the error "The application failed to initialize properly (0xc0000135). Click on OK to terminate the application"

extraction fails for long path names

Extraction (lessmsi x) fails if the combined length of the destination directory and a file in the MSI exceeds the usual 260 character limit:

lessmsi x mypkg.msi destdir\
Extracting 'c:\somedir\mypkg.msi' to 'c:\somedir\destdir\'.
fopen error:2

Error: System.Exception: Error 'MSPACK_ERR_OPEN' extracting file to c:\somedir\destdir\SourceDir\PFiles\and\then\a\very\long\file\name.
   at LibMSPackN.MSCompressedFile.ExtractTo(String destinationFilename)
   at LessMsi.Msi.Wixtracts.ExtractFiles(FileInfo msi, DirectoryInfo outputDir, MsiFile[] filesToExtract, AsyncCallback progressCallback)
   at LessMsi.Cli.Program.DoExtraction(String msiFileName, String outDirName, List`1 filesToExtract)
   at LessMsi.Cli.ExtractCommand.Run(List`1 allArgs)
   at LessMsi.Cli.Program.Main(String[] args)

(The path names in the example above has been edited; pretend they are much longer.)

Despite using a relative path name for the extraction directory (destdir\), it is being converted to an absolute file name when the file is extracted. Permitting relative destination path names all the way might shorten them somewhat, but would do nothing about long paths in the archive file.

Using the Windows 'long' file name syntax, \\?\c:\somedir\destdir\, would solve the problem but does not work in lessmsi at all. Apparently, the .NET system libs don't like that syntax very much, although it works well on the Win32 API level. There are apparently some replacement libs that remedy this.

Switch NUnit to VS Unit Testing

I loathe to do this on one hand because I always thought that MSFT should support and improve NUnit rather than creating another unit testing tool (at least be completely compatible with it). However, I've found NUnit is now unbearable to use with VS 2015 and .NET frameworks. It is extremely difficult to figure out that you need to install several add-ons and weird packages just to see unit tests and even once installed it regularly doesn't show all the unit tests.
Since one of my goals is to keep lessmsi easy to get going with I've decided to remove nunit and use the new lowest common denominator for unit testing which appears to be VS/MS unit testing.

Command line help doesn't work for "l" option

I was trying to dump the Component table to csv and used the following command line as shown below.

C:\lessmsi-v1.2.0> lessmsi.exe l Component setup.msi

Error: You must specify the table name to list.

Usage:
lessmsi <command> [options] <msi_name> [<path_to_extract\>] [file_names]

Commands:
  x  Extracts all or specified files from the specified msi_name.
  l  Lists the contents of the specified msi table as CSV to stdout.
  v  Lists the value of the ProductVersion Property in the msi
     (typically this is the version of the MSI).
  o  Opens the specified msi_name in the GUI.
  h  Shows this help page.

For more information see http://lessmsi.activescott.com

The command line used is consistent with the help dialog but shows the error message Error: You must specify the table name to list.

After searching the source code, I found that the l option actually requires the table to be specified as -t Component. The -t is missing from the help message.

Bring back the -o command to the gui

As part of the implementation to issue #19, we removed the old -o command line option (to open a MSI in the GUI). I think we can reasonable preserve this functionality by running the gui in a separate process to reasonably preserve existing functionality.

my msi isnt working

hi,

my msi file isnt working:

E:\temp_>e:\lessmsi-v1.3\lessmsi.exe x "{F7FC242D-A96D-4051-8C80-D1F5301EE36E}\P
rezi.msi" prex
Extracting 'E:\temp_\{F7FC242D-A96D-4051-8C80-D1F5301EE36E}\Prezi.msi' to 'E:\te
mp_\Prezi'.
File prex was not found in the msi.
^C
E:\temp_>e:\lessmsi-v1.3\lessmsi.exe x "{F7FC242D-A96D-4051-8C80-D1F5301EE36E}\P
rezi.msi" prex\
Extracting 'E:\temp_\{F7FC242D-A96D-4051-8C80-D1F5301EE36E}\Prezi.msi' to 'E:\te
mp_\prex\'.

Error: System.IO.IOException: IO operation will not work. Most likely the file w
ill become too long or the handle was not opened to support synchronous IO opera
tions.
   at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
   at System.IO.BinaryWriter.Write(Byte[] buffer, Int32 index, Int32 count)
   at LessMsi.Msi.Wixtracts.ExtractCabFromPackage(String filePath, String cabNam
e, Database inputDatabase)
   at LessMsi.Msi.Wixtracts.CabsFromMsiToDisk(FileInfo msi, Database msidb, Dire
ctoryInfo outputDir)
   at LessMsi.Msi.Wixtracts.ExtractFiles(FileInfo msi, DirectoryInfo outputDir,
MsiFile[] filesToExtract, AsyncCallback progressCallback)
   at LessMsi.Msi.Wixtracts.ExtractFiles(FileInfo msi, DirectoryInfo outputDir,
String[] fileNamesToExtract)
   at LessMsi.Cli.Program.DoExtraction(String msiFileName, String outDirName, Li
st`1 filesToExtract)
   at LessMsi.Cli.ExtractCommand.Run(List`1 allArgs)
   at LessMsi.Cli.Program.Main(String[] args)

Usage:
lessmsi <command> [options] <msi_name> [<path_to_extract\>] [file_names]

Commands:
  x  Extracts all or specified files from the specified msi_name.
  l  Lists the contents of the specified msi table as CSV to stdout.
  v  Lists the value of the ProductVersion Property in the msi
     (typically this is the version of the MSI).
  o  Opens the specified msi_name in the GUI.
  h  Shows this help page.

For more information see http://lessmsi.activescott.com


E:\temp_>

[BUG] Cannot depend on LessMSI chocolatey package

External packages cannot depend on packages that target projects is the error I get. This used to mean that there was a lib/content folder somewhere in the package, but I see that the package is properly doing that.

These lines are causing the issue. If I remove those lines it will install successfully.

<frameworkAssemblies>
  <frameworkAssembly assemblyName="System" targetFramework=".NETFramework3.5-Client" />
  <frameworkAssembly assemblyName="System.Data" targetFramework=".NETFramework3.5-Client" />
  <frameworkAssembly assemblyName="System.Drawing" targetFramework=".NETFramework3.5-Client" />
  <frameworkAssembly assemblyName="System.Windows.Forms" targetFramework=".NETFramework3.5-Client" />
</frameworkAssemblies>

Preserve lessmsi.exe as the cli filename

Related to issue #19, I was just thinking that since some people might be using command line arguments to lessmsi.exe in applications, it makes sense to preserve lessmsi.exe for the cli version of the app. This would prevent people that already rely on lessmsi.exe in scripts or other places to do any updates.

Using windows explorer context "Copy as path" output causes ArgumentException

Windows explorer (since Win 7) provides the "copy as path" context menu command to get file path. However it encapsulates the file path on the clipboard with double quotes (e.g. "C:\path\to\my\file.txt"). This causes new FileInfo(txtMsiFileName.Text); in ReloadCurrentUIOnEnterKeyDown to throw an System.ArgumentException: Illegal characters in path., or the user has to do some tedious Home Delete End Backspace editing each time.

Purely in the spirit of nice UX it would be good to handle paths contained in double quotes, and catch some of the common path exceptions from typos. I've built a two-line fix for the first part at AGBrown/lessmsi/9d73c374 and handling some of the possible exceptions for bad paths at AGBrown/lessmsi/fa39baad. Pull request to follow.

Extract Registry to .REG files - Suggeston

The major feature of lessmsi is the ability to extract files easily. The ability to work with the MSI tables is of course already available in ORCA and Insted/Instedit.

What would be a major complementary feature however would be the ability to extract registry from an .MSI into .REG files.

Less MSIérables Symbol (Icon)

Less MSIérables is a very good tool, but why has Less MSIérables no symbol (Icon) ?
Could please create a Symbol?

it would be very good! a resolution of 256x256 would be perfect!

Support DVD-wide aggregation/listing of all files in all CABs on from a DVD

From https://code.google.com/p/lessmsi/issues/detail?id=9

Reported by [email protected], Mar 18, 2010
If I run a setup.exe wrapper on a DVD it presents all the content on the
disk as one unified feature tree - yet on the disk itself there may be many
MSIs that comprise this view. The Windows 7 SDK is exactly this way.

So when I know I need a single file out of the SDK, it would be great to
see all files on the DVD in one view.

What steps will demonstrate the feature request?

  1. Download the Windows 7 SDK from here:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=71deb800-c591-4f97-a900-bea146e4fae1&displaylang=en
  2. Examine the package structure - the root install EXE is called
    setup.exe, but it spans everything on the disk.
  3. Under the "setup" folder there are many subfolders each containing an
    MSI with an external Cab.

It would be great if I could tell lessmsi to open all MSIs in a folder tree
and present one consolidated view of the files. Would probably be
necessary to have a column for "MSI" file.
Mar 2, 2011 Delete comment Project Member #1 activescott
This is related to issue 7 (http://code.google.com/p/lessmsi/issues/detail?id=7) since it assumes support for external CABs. I agree with the idea and will accept it but it is a relatively big effort so I can't commit to doing it soon.
Summary: Support DVD-wide aggregation/listing of all files in all CABs on from a DVD
Labels: -Type-Defect Type-Enhancement
Mar 2, 2011 Delete comment Project Member #2 activescott
(No comment was entered for this change.)
Status: Accepted
Mar 26, 2013 Delete comment Project Member #3 activescott
(No comment was entered for this change.)
Labels: -Priority-Medium Priority-Low

use appveyor for deployments

Deploy directly from appveyor to nuget/github releases using the following tricks:

Publish Release notes from issues?

Refactor IO libraries out of core code

With the helpful addition of issue #58 , what should be simple file IO code has kind of bled through the codebase and made it ugly. It's also going to be more difficult to ever get the code working on mac/linux (should I ever follow through on issue #3 ). So I think it is necessary to refactor the File I/O code into its own library.

Program will not close on Windows 8

Program will not close if it is the frontmost window when clicking x. If it is not the front most window it seems to close. also right clicking on taskbar icon and selecting close will close it. Running windows 8

Basic summary MSI Information

Hi,
I've just tried your lessmsi tool and I would use it if it had better basic MSI information in the summary. I just want to get the 'Description', 'Version' and uninstall string GUID so I can copy the string and use in a package for deployment.
Would it be possible to add these to the summary page?
thanks
Paul

Add a command line option to dump all the tables to a destination directory.

At the moment, the lessmsi command line allows the dumping of a single table to stdout.

I would like a command line option to dump all the tables in the msi to a set of msi files in the specified directory (or an Excel file).

A possible command line might be:
lessmsi t -csv <msi_name> <path_for_csv_files>

t : means table output
-csv : use csv format

File version is invalid

According to msdn article: http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.aspx version you set up is invalid because there is possibility to make "fresher" build with lower version number.
[assembly:AssemblyVersion("1.0.10.*")] specifies 1 as the major version, 0 as the minor version, 10 as the build number, and accepts the default revision number. The default revision number is the number of seconds since midnight local time (without taking into account time zone adjustments for daylight saving time), divided by 2.

Extract logic to DLL

If I were to split the project into two parts (logic DLL and GUI EXE) would you be interested in merging that back into your master?
Are there any pitfalls I should be aware of? Any naming suggestions for the new assemblies? LessMsi.Core.dll and LessMsi.exe perhaps?

I'm working on a cross-platform package manager called Zero Install. It is designed to use existing ZIP/TAR/... archives and handles all the nitty-gritty details of integration into the desktop environment in a controlled and reproducible way. I would love to use a LessMSI DLL to add MSI-extraction support to Zero Install.

Add feature to detect and reset NoImpersonate flag on .MSI files that won't work well with UAC in Vista/Win7

From https://code.google.com/p/lessmsi/issues/detail?id=3

See the following article: http://hunter555.blogspot.com/2007/02/installer-error-code-2869-msi-and-uac.html

Interesting idea. Lessmsi maybe needs another suite of tools or a utility for
modifying msi files. Currently it is only readonly, but I can see how this stuff
is useful.

melnikov.alex
yes, modifying some flags directly, without rebuilding msi would be a good feature.
//alex

Cannot extract cab from InstallShield msi's (Extract failed: Failed to close cab extract object, errror: 2)

from https://code.google.com/p/lessmsi/issues/detail?id=27

Reported by alibhai.ashiq, Sep 11, 2012
I have an MSI-based InstallShield 10 MSI that I want to extract the files from. I can view the files in the LessMSI application, but when I attempt to extract them, I get this error:

Error: System.Runtime.InteropServices.COMException (0x00000002): Failed to close cab extract object, error: 2
at Microsoft.Tools.WindowsInstallerXml.Cab.WixExtractCab.Close()
at LessMsi.Msi.Wixtracts.ExplodeAllMediaCabs(Database msidb, DirectoryInfo baseOutputPath)
at LessMsi.Msi.Wixtracts.ExtractFiles(FileInfo msi, DirectoryInfo outputDir, MsiFile[] filesToExtract, AsyncCallback progressCallback)
at LessMsi.Program.DoExtraction(String msiFileName, String outDirName)
at LessMsi.Program.Main(String[] argStrings)

I cannot provide a file (employer's IP), but I am very keen to resolve this.
Jan 27, 2013 Delete comment Project Member #1 activescott
Installshield uses a proprietary cab format. No easy way to deal with this. There is an open source library (mentioned in the libmspack source code AFAIR) that maybe could help but will require quite a bit of effort.
Labels: -Priority-Medium Priority-Low
Jan 27, 2013 Delete comment Project Member #2 activescott
Could at least improve the error message. I know I can detect these cabs now using libmspack.
Summary: Cannot extract cab from InstallShield msi's (Extract failed: Failed to close cab extract object, errror: 2) (was: Extract failed: Failed to close cab extract object, errror: 2)
Aug 1, 2013 Delete comment Project Member #3 activescott
Can someone attach an installshield msi here and I'll try to at least improve the error message by detecting installshield's cabs and writing out an informative error.
Status: Accepted

Add the Component column to the "Extract Files" grid

Thank you for lessmsi.

I would like to request that the Component column be added to the "Extract Files" grid.

In this way, I can sort by the Component column and then select only the 5 files in that component to extract, as opposed to the 100 other files in the msi for example.

Thank you.

lessmsi does not work...

does not work with Windows 10 Build 10240! old .NET Version! Can you please publish a fully supported version? Thx's

Licence

Please also add a licence to this repo.

LessMSI.Core as stand-alone API

Would be awesome if there was a lightweight .NET API (in similarity to Sharpziplib) that allowed one to simply point to a file path, open an MSI archive stream, fetch files from it, etc.

Looks like LessMSI.Core may meet that demand?
I, for one, would give that NuGet package a try :)

Wix EXE's /MSI's

Used to -x or -extract would do, and Intel had zips... but no more...
but to package drivers and no fluf to update server......
WIX tool kit makes EXE/MSI , cant get the msi out of exe anymore "go for Intel inside" . to just get at drivers.
also rather handy to slip into USB/iso key , boot/wim so I don't have windows nagging about 10 drivers on dozens of machines. (NTlite and done. can add missing drives so on boot/setup they are installed. )

also it would be nice in some cases not to have to install WIXtoolkit. just to get at msi to use Lessmsi

Point being is hopefully a plugin can be made to handle these pesky sob's, so msi unpack is more seamless from wix...

wix-unpacker.ps1.txt
http://stackoverflow.com/questions/26749207/extract-contents-of-burn-bootstrapper
http://www.wrightfully.com/extracting-msi-files-without-running-the-installer

Search file filter

Hi!
I'm really happy you decided to merge my code to master branch but your changes in functionaliy I wrote made some errors.

Ctrl + f enables search panel but you can't turn it off
No button "remove filter"
Search pannel is not movable and when you move main window it stays.

I suggest to back to my commit but move search pannel to bottom of table grid or under table grid instead of columns names like it was in my commit.

What do you think about this?

"lessmsi x from to" in powershell does weird things

I try to extract msi to a folder with

PS>lessmsi x "D:\path to .msi" "D:\destination\pa th"

and it extracts the msi file to D:\ and tries to lookup some file called "D:\destination\pa th" in the msi archive:

Extracting 'D:....msi' to 'D:'.
File D:\destination\pa th" was not found in the msi.

I installed the lessmsi latest from chocolatey.org into my powershell.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.