This is really cool! Suggestion: find a small MSI file that you can host as part of the demo and add a "load example file" button - that way people can try it out even if they don't have an MSI file to hand already.
rmast 4 days ago [-]
Thanks for the suggestion! I just added a button to load a small example MSI file.
pragmatick 4 days ago [-]
Minor thing: When I load the page and click "Load example file" while Pyodide is still loading I see a stacktrace for a short time. Perhaps disable the button until it's loaded?
hypercube33 5 days ago [-]
I don't know the license around it but hosting orca.msi would be a silly thing to do
rmast 4 days ago [-]
It looks like orca.msi uses external cab files, so maybe a bit harder to do than just fetching a single file MSI into the Pyodide file system. If the license allows, it would be interesting to have as an option for the example.
pragma_x 5 days ago [-]
I feel like this would also solve the "I just need the printer driver file(s), not everything else" use-case. Nice work.
blangk 5 days ago [-]
Printer drivers rarely if ever come in MSI format. They most commonly use self extracting exe archive.
nebula8804 5 days ago [-]
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.
I would also like to promote one of my most favorite tools ever: InstallWatch Pro by Epsilon Squared
It takes a complete HDD and Registry snapshot, you install something then it takes another snapshot and shows you the diff in a easy to read format.
wiseleo 5 days ago [-]
Thank you for InstallWatch Pro mention. That app tends to get reinvented every so often. I remember seeing something like it as early as 1996.
nebula8804 4 days ago [-]
Yeah Im sure even ChatGPT can spit out a script that can do this work. It just seems like this particular software by this company is really simple and super solid.
I wish there was an equivalent for MacOS & Linux as the scripts I have tried to make(or had ChatGPT try to make) just don't cut the mustard. I'd rather just have some commercial software do this even if I have to pay for a license.
lloydatkinson 3 days ago [-]
What’s its homepage? I only see the usual fake software sites on google
danielodievich 5 days ago [-]
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!
EvanAnderson 5 days ago [-]
I remember dealing with installing the Windows Installer redistributable on Windows 98. The Wikipedia[0] article cites Office 2000 shipped w/ Windows Installer 1.0.
Neat. I usually just use 7zip to open .exe and .msi files.
hypercube33 5 days ago [-]
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.
rmast 5 days ago [-]
My experience with 7zip has been that it can read the tables and cab files from MSI files, but when you go to extract the contents you just get the raw files without the directory restructure associated with the MSI file (and the names of the extracted files can also have issues).
I had forgotten. For years and years it was part of my install everywhere kit. This is a good reacquaintance.
rmast 5 days ago [-]
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 5 days ago [-]
My safari puts things in icloud drive / downloads
lxgr 5 days ago [-]
That's configurable in the Safari settings, fwiw (I personally prefer my downloads to not automatically become uploads, especially on mobile data).
jamesholden 3 days ago [-]
Feedback: A way to export data would be nice.
rmast 2 days ago [-]
What type of data export would you find most useful?
* Tables as a collection of CSV files, or an Excel workbook
* Contents of streams
* StringPool data dump
* Option to configure file dump to export using either SourceDir paths, or target destination dir paths
Rendered at 14:19:13 GMT+0000 (Coordinated Universal Time) with Vercel.
I would also like to promote one of my most favorite tools ever: InstallWatch Pro by Epsilon Squared
It takes a complete HDD and Registry snapshot, you install something then it takes another snapshot and shows you the diff in a easy to read format.
I wish there was an equivalent for MacOS & Linux as the scripts I have tried to make(or had ChatGPT try to make) just don't cut the mustard. I'd rather just have some commercial software do this even if I have to pay for a license.
[0] https://en.wikipedia.org/wiki/Windows_Installer
* Tables as a collection of CSV files, or an Excel workbook
* Contents of streams
* StringPool data dump
* Option to configure file dump to export using either SourceDir paths, or target destination dir paths