Hi, I'm using Compose for internship and we have to build up our case for any decision we make. My q...
t
Hi, I'm using Compose for internship and we have to build up our case for any decision we make. My question is: is there a real difference between the exe and the MSI, generated by Compose? I found some points which I believe do not apply: • The GUI can be customised a lot more -> the GUI's are the same? • Multiple MSI can be installed with one EXE -> I belief this isn't used • Because of the possibility to customize, it is more difficult to program -> we don't program • It can run without admin-rights in certain circumstances -> when just copying files, granted file is trusted But as it seems EXE uses the MSI file, this isn't used either. Therefor my question: is there a real difference, between MSI and EXE, or did I miss something? Thanks
a
I think this StackOverflow thread answers your question.
🙏 1
t
Thank you, But in this case the control is handed over to compose as they generate the exe. Therefor, the complete control doesn't apply, I think? For copying resources only, I can understand but I saw my installer getting triggered when I installed with exe. Therefor, those also doesn't apply, I think? This means the one benefit which could apply is installing multiple MSI's. Does Compose use that?
d
Msi means that downloads are only a single file, whereas Exe allows you to have differential updates. Since the Compose runtime/dependencies are probably going to be the majority of your application and weigh 100+ MB, having differential self-updating might be a nice thing. Depends on your users.
Updates for my Compose program are generally less than 5MB, whereas if I'd used Msi they'd be closer to 150MB
Possibly distributing the initial download using Msi but generating a dist using Exe and using that for self-update would work, haven't tried.
🙏 1
t
Thank you for your answer. I think this is related to: https://github.com/JetBrains/compose-jb/issues/1056 and https://github.com/JetBrains/compose-jb/issues/1049 Is what you describe already implemented? I did found that it is possible to specify an upgradeUUID, but I didn't find the lightweight versions.