3 ms·
I'm not denying your experience, but I'm assuming the first time you tried it you either had help from someone who had done it before or a much better understan
by AussieWog93 5y ago
I'm not denying your experience, but I'm assuming the first time you tried it you either had help from someone who had done it before or a much better understanding of the pitfalls of software distribution than I did.
For me, I compiled a binary on my Windows machine, manually put it into an MSI alongside the the required VC++ redistributable, and it worked out of the box on every single system from Vista through to current version Windows 10 (and probably 11 too) - x86 and x64, with no issues whatsoever. If I had used the XP-compatible version of VS2015 I could have targeted that too.
Similar story for Mac (although distribution there has since become a minor pain in the arse with code signing and notarisation).
For Linux, I built a .deb manually on Ubuntu 16.04, specified the dependencies just like with Windows and uploaded it. Obviously this crashed violently on most things that weren't modern (for the time) and Ubuntu-based.
In the end, I fixed it exactly as you suggested - I built on an older LTS distro (on a CI server by this stage), shipped all of my own libraries and aggressively made sure that it would load those versions and only those versions. This still required some random hack to work on certain modern systems, as it needed a hack to support both modern glibc and a compatibility version bundled with the app.
These days, I could get a reliable Linux release up in a heartbeat, but this is only after learning the details of a fickle system through multiple iterations of user interaction.