[HN Gopher] Show HN: Inspect and extract files from MSI installe...
       ___________________________________________________________________
        
       Show HN: Inspect and extract files from MSI installers directly in
       your browser
        
       Hey everyone!  I'm excited to share a small web app I built that
       allows you to view and extract the contents of Windows MSI
       installers directly in your browser. It's essentially a web-based
       "lessmsi" powered by Pyodide.  You can try it out at:
       https://pymsi.readthedocs.io/en/latest/msi_viewer.html  My
       motivation for building this was from part of my day job -- I often
       get Windows MSI installers and need to extract files while
       preserving the relative directory structure and filenames, as they
       would appear after a full installation. The existing tools I found
       were good but limited in which platforms they support: lessmsi
       works great on Windows, while msitools works for Linux/macOS.
       Neither is a truly cross-platform solution that works on any major
       OS.  So we developed pymsi (a pure Python library, available on
       GitHub at https://github.com/nightlark/pymsi) to handle reading and
       extracting MSI files from Python. Then I realized that since pymsi
       has no native dependencies, it could potentially run in a web
       browser using Pyodide. After a bit of "vibe coding" and fixing some
       "hallucinated" functions/classes that don't exist in pymsi, the
       result was this client-side web app.  If you need an MSI file to
       experiment with, older versions of PowerToys included the installer
       in .msi form, such as this one:
       https://github.com/microsoft/PowerToys/releases/download/v0....
       Note that the underlying pymsi library hasn't been extensively
       tested against a bunch of MSI installers yet, so there might still
       be lingering bugs. If you come across any issues, please don't
       hesitate to report them in on the GitHub repository
       (https://github.com/nightlark/pymsi/issues).  I'd love to hear your
       feedback and answer any questions!
        
       Author : rmast
       Score  : 53 points
       Date   : 2025-06-20 20:04 UTC (2 hours ago)
        
 (HTM) web link (pymsi.readthedocs.io)
 (TXT) w3m dump (pymsi.readthedocs.io)
        
       | rmast wrote:
       | As a side note, I just tried it in mobile Safari on my iPhone --
       | at least inspecting MSI files works, extracting files may work as
       | well (not sure where it is placing the "downloaded" zip file).
        
         | jasonjmcghee wrote:
         | My safari puts things in icloud drive / downloads
        
           | lxgr wrote:
           | That's configurable in the Safari settings, fwiw (I
           | personally prefer my downloads to not automatically become
           | uploads, especially on mobile data).
        
       | pragma_x wrote:
       | I feel like this would also solve the "I just need the printer
       | driver file(s), not everything else" use-case. Nice work.
        
         | blangk wrote:
         | Printer drivers rarely if ever come in MSI format. They most
         | commonly use self extracting exe archive.
        
           | nebula8804 wrote:
           | Yeah, start the installer, quickly look at the temp directory
           | for the files, nab em then quit the installer. This and many
           | other janky techniques are what I use to survive in the
           | jungles of the Windows platform.
        
       | Lanrei wrote:
       | Neat. I usually just use 7zip to open .exe and .msi files.
        
         | hypercube33 wrote:
         | I don't think 7zip really can see into a lot of janky MSI files
         | to get the actual installed content, can it?...it can
         | technically break open NSIS files and get the source but that
         | is disabled in code after 15.05 (GitHub has a mod to renable
         | source extraction fyi) and yes self extracting exe files.
        
       | danielodievich wrote:
       | I was there at Microsoft in the beginning of MSI, which was what,
       | Office XP? Gosh or was it 2003? The tooling for dealing with them
       | was super jank then. I could have never predicted that you'd be
       | able to just casually open it in a browser. Nice job man!
        
       ___________________________________________________________________
       (page generated 2025-06-20 23:00 UTC)