Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Reducing exe size with setup.ini

Author
Message
spooky
23
Years of Service
User Offline
Joined: 30th Aug 2002
Location: United Kingdom
Posted: 4th Apr 2005 07:47
Have been playing with setup.ini in compiler (U5.8).

Normally when you have ANY 3D command in program, DBPro will include lots of dlls that are not actually used, mainly to do with 3ds, md2, md3 and mdl model formats. As my 3d programs use mostly .x 3d formats, then it safe to change setup.ini to put following in [Exclusions] section:

exdll1=Conv3DS.dll
exdll2=ConvMD2.dll
exdll3=ConvMD3.dll
exdll4=ConvMDL.dll

This correctly excludes these dlls from final compiled exe and knocks about 1MB off the filesize, which is nice.

These files can not be automatically removed from exe as LOAD OBJECT can use a generated filename for loaded object and so does not know what formats you may be loading.

Anyway, my question to the clever people round here (IanM, RobK, etc), is what other dlls can safely be excluded if I know they will not be used in 99% of my proggies. Also is there an easy way to work out what dlls actually get included in final exe? If I load exe in notepad I can see lots of references to all sorts of dlls but I don't know which bit is which. I can write a little proggy to extract the info but wonder if there is anything I need to look for.

Boo!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 4th Apr 2005 08:00
You can find out the actual DLLs included in your application by using Winch's extract tool : http://winch.pinkbile.com/exe_tool.php

As for dependencies, unfortunately, it's a little difficult to work them all out, as it's not a DLL to DLL dependency. More like a command to DLL dependency. For example the File DLL is dependent on the Memblock DLL, but only if you use one of the 4 memblock commands.

I can only suggest experimentation.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
spooky
23
Years of Service
User Offline
Joined: 30th Aug 2002
Location: United Kingdom
Posted: 4th Apr 2005 08:11
Brilliant! That tool is great. Also has some useful info in the readme file on exe file format for DBPro.

I agree that finding which commands force which dlls to include is probably a big job and not worth the hassle, just seems a shame that some fairly large dlls get included just in case they are needed, but never are. Maybe I'll experiment one day when I'm bored.

Boo!

Login to post a reply

Server time is: 2026-06-11 14:46:51
Your offset time is: 2026-06-11 14:46:51