One of the most challenging parts of making OpenResizer wasn’t the app itself, but the distribution process. Releasing on both Linux and Windows has its own set of unique challenges that needs a considerable amount of time to get right.
On Linux, I ended up using the Snap format for distributing OpenResizer, because I found it easier to get started with, in comparison to AppImage and FlatPak. It was not, by any means, a breeze to make a Snap file, due to the various configurations that are necessary. However, I like the idea of using simple Snap commands to install apps. So I think it’ll work well for OpenResizer.
On Windows, I ended up using PyInstaller, which was not an easy task, because PyInstaller in Windows has an issue with PyGObject – the final executable that it creates doesn’t run the app. It comes up with a strange error. I had to use cx_Freeze alongside PyInstaller to make a working executable file for OpenResizer. This is a known issue with PyInstaller, as other developers have experienced a similar problem. However, it’s possible that by the time you’re reading this, it might already be fixed, maybe the next time I build an executable for OpenResizer, I may not need to use cx_Freeze.
I’m in the process of testing the Snap file for OpenResizer. Once I’m happy with the test results, I’ll release it in the Snap Store. Once I’m done that, I’ll focus on fine-tuning the Windows setup process.