Closed guihkx closed 1 year ago
Very good issue! I thought about opening something like that.
I agree with all the points. So we want to end up with Qt6 for 64bit Windows 10+ and 32bit and 64bit Qt5 for the rest? It might get to 100 MB?
I think we can check with InnoSetup the os version (https://jrsoftware.org/ishelp/index.php?topic=winvernotes). We already check with it whether Windows is 64bit or 32bit.
I thought of maybe simplifying this a bit and trying to detect the os version and bit via JS and then showing the appropriate binary on the website.
I'm thinking people running Windows older than 10 might not really care whether their Notes is 32-bit or 64-bit, in which case shipping two builds should be enough:
Would help keep the download size a bit more reasonable.
@guihkx What do you think?
Will our app fully utilize os resources if 32bit runs on 64bit? From what I've read, it should work the same.
Also, it will be installed on /ProgramFiles (x86) /
, I guess?
It might get to 100 MB?
Probably not that large since we're compressing files with lzma, but I'm guessing it'd be around 50 MB if we added all three builds.
I'm thinking people running Windows older than 10 might not really care whether their Notes is 32-bit or 64-bit
Yeah, I agree with that...
Will our app fully utilize os resources if 32bit runs on 64bit?
Performance-wise and technically speaking, there could be a small performance penalty, but I really doubt it'd be something noticeable. Functionality-wise, I don't think we'd have any problems.
Also, it will be installed on
/ProgramFiles (x86) /
, I guess?
It depends. On 32-bit installations of Windows (from 7 through 10), the folder would be Program Files
.
But on 64-bit installations of Windows (from 7 through 8.1), the folder would be Program Files (x86)
instead.
Thankfully, that's mostly handled by Inno Setup automatically. (edit: not really lol)
Anyway... bundling just the 32-bit Qt 5 build, plus the 64-bit Qt 6 build, the final size of the installer is 34.8 MB.
Not bad, right?!
@guihkx 34.8 MB is pretty good. Considering the current installer is 56MB. Delivering three different versions should not be a problem if the final artifact is around 50MB. It's still pretty small nowadays.
The final size of the installer with all three builds is 54 MB:
https://github.com/guihkx/notes/actions/runs/3884677505
I'm currently testing on a separate branch from #439, but if you decide to go with all three builds, let me know and I can merge those changes there.
One small visual bug this change introduced, however, is that now the installer can't compute the real disk space required for the files:
Which is weird, because all files are still installed correctly (at least on my tests)...
From what I can tell, this looks like a bug in Inno Setup itself. The only thing I could find on Google about this, are these two posts of people having a similar problem:
A possible workaround would be adding the ExtraDiskSpaceRequired
option to [Setup]
and set it to something like 70 MB.
Hmm that's a weird one. Let's merge #439. It should be good for now.
Right now we have a separate Windows installer for the Qt 6 build (which is x64-only), but we should probably just include the Qt 6 build with the Qt 5 ones (they're x86 and x64), and then maybe just install the Qt 6 build by default (if supported by the OS).
Possible improvements to the installer:
Some things to keep in mind:
Feel free to post any suggestion you might have...