Compiled size

Cant believe I haven’t noticed this before.
I’ve been hanging back from recent versions of Xojo Windows because of Direct2d, the new Text DLL which itself is increasing size by 20Mb, and the recent Microsoft DLL requirements.
Thinking that this will keep the distributed app size small.

I have a simple database app that presents as a single window, listboxes, toolbar, some GFX
Build it in Xojo 2014, I get an app that zips down to less than 3Mb
Build it in 2015, the changed XojoGUIFramework leaps up to 23Mb before I add a line of code!
The zipped app is over 10Mb… too big to email any longer

Same program, same code, same gfx, not a single ‘improvement’ between the two compiles.

What on earth happened between 2014 to 2015 to warrant that kind of size increase, (and I dread to think what will happen if I was to try to compile in 2017 edition.)

Yes, I do care deeply about the file size.
If I can have a 3Mb app, why would I want the same app as triple the size?

The new framework / the automatic inclusion of ICU libraries happened.

So was that part of the XojoGUIFramework.DLL?
That single DLL jumped in size, but I see no sign of ICU as a separate ‘thing’ … I had expected to see an ICU.DLL or similar

It sucks for sure but frankly you should not be emailing executables.

Once you have established that email is not an acceptable delivery system for software then size becomes slightly less relevant.

In practice, I already don’t email executables. (It’s just about impossible anyway, even if it were tiny.)

One possible delivery method I do have at my disposal has an ‘attachment size’ cap on it.
It isn’t actually email.
(I should have known better than to use an analogy.)

I don’t currently have the option to put the software on a public-facing website, and you will need to trust me: size is a very real issue.

[quote=354090:@Jeff Tullin]So was that part of the XojoGUIFramework.DLL?
That single DLL jumped in size, but I see no sign of ICU as a separate ‘thing’ … I had expected to see an ICU.DLL or similar[/quote]
From what I can remember it was originally a separate dll and in a later release merged in to reduce the size.

When zipped, the size goes down dramatically.

Of course, your recipient (client) have to know what to do with an archived application.

automatic software updates via internet is really the way to go.
and you have a freeware example to learn how to do it in your app.

I just did a build of my software with a new Valentina version. The dmg is 99 MB. And there wasn’t even a manual included. Bummer.

Guys, thanks, but not relevant.
This is a chat about file size, not update methodology.
I don’t need an update method or to know how to ship from a website: Ive been doing that for years.

The issue is this inexorable trend to bloat.
Just out of curiosity, I am tempted to dig out my copy of RB2012 and compile in that for a laugh.

Thats what I mean.

I am already talking about the zipped size.

make some cleaning of your plugins folder.
all plugins gets included in the app.
for example the mysql plugin is 3.5Mb in size.
if you don’t use it in the app, remove it from the plugin folder.

otherwise, yes all compilers tend to explode the app size years after years.
mainly for libraries going bigger and bigger, and always included in the app.

main test is to make an hello world app and compile…

I dont believe that is true.

I believe only the plugins that get referenced are included…

@Shao Sean: that seems to be the problem in my case. The new version of my app allows to send mails with the Chilkat plugin which is 15 MB. Unfortunately, this is then included in main app, helper app and installer.

I wonder why it’s 15 MB… Seems kind of large for email libraries…

@Shao Sean: no, it’s email and Imap and lots of other things.

Yeah, I just looked through the documentation and looks like he has some extra features in there that are used in emailing, but not related to the actual protocols… Email and IMAP libraries shouldn’t be 15 MB by themselves, but with the other features he has, then it makes sense…

yes but sometimes you just make a case select with a database that in reality you don’t use and hop the plugin is included.

I agree with the OP. We should care about the size.
Bloatware is not only a nuisance - it is also a security risk as it gives hackers more opportunities.

FWIW, a minimal desktop, Hello, World!, program compiles to:
RB 2011r2 Windows: <4 MB Linux: 4 MB
Xojo 2017r2.1 Windows: 30 MB Linux: 40 MB

A larger program of mine compiles to:
RB 2011r2 Windows: 16 MB Linux: 14 MB
Xojo 2017r2.1 Windows: 42 MB Linux: 50 MB

RB 2011r2 Linux: 8 MB
Xojo 2017r2.1 Linux: 43 MB

But you referenced it in your code, if you really don’t need it, take out that reference…