This is a minimalist 2-click MSI installer generator for your projects for Windows. Magic works as all you need is to populate _configMSI.yml with your own values, then click 2 bat or sh files (if you use MS Visual Studio or MSYS2/MINGW64). And voila, your MSI Installer is ready!
Posted by florida-haunted@reddit | programming | View on Reddit | 18 comments
scratchisthebest@reddit
what is going on here. developer's resume claims time at blackrock/apple/netflix/microsoft. they contributed to IPFS as late as 2014, which is very interesting because it was released in 2015. and all their opensource work is 2048 games and autoclickers. you can contact this genius at any time for the low low price of a star on their github repos
gurgle528@reddit
Stumbled on this thread later. They also claim they added blue pill tech to Windows and helped apple draft CIA standards.
This reddit thread claims their auto clicker has a crypto miner hidden in it?
https://www.reddit.com/r/computerviruses/comments/cs93xm/is_this_a_virus_should_i_be_worried_about_this/
scratchisthebest@reddit
oooh i heard about that stuff, it was so funny to see the name come up again
askinglwn@reddit
had a look at their resume and the contact info's got me cracking
gurgle528@reddit
lmao idk how I ended up at this thread but they’ve since updated to the iPhone 17 Pro Max 1TB
askinglwn@reddit
went to have a look their phone number 's got me cracking
doryappleseed@reddit
Wait a sec… you make an installer and I still need to install my own Python version and dependencies?
Slight irony there that you couldn’t compile/bundle it into an installer with your own installer…
florida-haunted@reddit (OP)
No, Python and CMake (as well as WiX CLI Toolset) is used only at the build stage. The MSI installer you generate does not have any external dependencies and of course can be run on a bare Windows.
doryappleseed@reddit
My point still stands - why should I need to install them for the build tool when you could use your installer to install the build tool and anything else it needs… do you understand what I’m saying?
AlexKazumi@reddit
Essentially, you solved a wrong problem.
You thought writing a XML file is particularly hard and swapped it with the wonderful, simple world, where there are two boolean values: true and Norway.
Well, no. No sane person has particular practical problems writing XML, that is checked by tools in realtime for syntax problems.
The real hard part of writing MSI installers are:
You solved none of these. Instead, added lots of limitations, just reading the list of limitations how the installed app must look like.
P.S. Antivirus apps always treat MSI packages as executable code, because it is. The idea that MSIs generate less false positives than Inno does not correlate with my 15+ years of experience building installers with both technologies.
P.S.S. The idea of a configuration file is to be easily accessible by the end user, and SQLite, while an exceptional piece of software, is anything but "easily accessible by the end user".
florida-haunted@reddit (OP)
The problem is XML is not a programming language. but the logic of MSI is designed to be run in a sequence and under conditions. I suppose MSI installer was designed in days when XML was in trend. They, Microsoft, just selected a wrong way. And yes I have many problems writing XML for WiX CLI toolset, so I made this project for myself primarily.
I consider my approach is suffecient for 90% of small or pet projects, I don't pretend to write an Enterpise-level replacement for WiX CLI Toolset or Inno Setup. The limitations you mentioned is actually a good thing to trade for an uncontrolled complexity.
My experience and more cleanly designed experiments have shown the opposite thing. MSI format is very close to executable, but it is actually a database 'with stored procedures' interpreted by a standard Windows tool 'msiexec'.
When you write a complex Inno Setup installer, you should write a full-fledged script in Pascal programming language, when you write a complex Magic MSI Template, you should write a full-fledged C/C++ program for a custom installer DLL. I see no differencies. My projects don't even require a custom DLL. But you can write an arbitrary code in your DLL to preserve the generality.
dxk3355@reddit
The hard part of writing MSI is getting Wix to work in the build pipeline and to get it to include all the damn files properly.
Nullsoft’s installer script is so much easier to work with.
irqlnotdispatchlevel@reddit
This made me laugh way harder than it has the right to.
HatTrial@reddit
I want some cake
CodeMonkeyMark@reddit
We have lint covered donuts here.
starlevel01@reddit
What the hell is this repository? Where's... the actual tool?
florida-haunted@reddit (OP)
Having Python, CMake, WiX CLI Toolset installed, the actual tool is just TWO *.bat or *.sh files (for MS Visual Studio CL or MinGW64 GCC compilers respectively - see the docs; note they are used only to build a helper installer DLL: you project to be installed can be written in any language).
shittalkerprogrammer@reddit
So easy to use. Simply fill out _config.yml with the missing values __product and version, then run _generate, then simply run _build to get your generated installed called ___installer.msi