我使用Delphi 2009为桌面程序发布了一个可执行文件(.EXE).我没有运行程序所需的外部DLL或资源.
我使用两个组件:LMD Innovative的ELPack和Sergey Tkachenko的TRichView,它们被编译成我的可执行文件.
当我使用"Release"构建配置构建我的生产版本时,生成的可执行文件是13,533 KB.
在使用Delphi 2009之前,我使用的是Delphi 4.它生成的可执行文件只有2,671 KB,同时包含相同的两个组件,并且基本上具有与我当前版本相同的代码.
我确实理解Delphi 2009完全是Unicode(这是我升级的主要原因),并且Unicode可以导致大小增加一倍.但这大约要大5倍.
我的可执行文件必须保持5倍大的原因吗?或者有一些简单的方法来减少可执行文件大小的重要部分?
请注意.有些人正在回答压缩Delphi EXE的方法.这不是我想要做的.我试图简单地看到为什么这么多空间被用来删除可能没有必要的东西.如果这样做,如果需要,仍然可以在之后进行压缩.
安装后,可执行文件的大小无关紧要.它用于下载目的,并最大限度地减少要压缩它的服务器负载和下载时间.我更喜欢使用Inno Setup并在安装例程中压缩程序本身.然后在安装时,它将扩展为完整大小.这既可以防止可能的病毒检测,又可以消除在内存中解压缩程序所需的额外启动时间.此外,我编写了可执行文件和我的安装例程的代码,并且一些压缩技术与此不兼容.
有关压缩的更多信息,请参阅StackOverflow问题: Delphi EXE压缩器?
ldsandon让我准确提供我正在使用的选项,所以他们在这里:
我最近使用了delphi xe,但由于rtti(我认为),exe大小非常大
如何删除rtti,我可以使我的应用程序大小与delphi 2009应用程序(490 kb)一样小,没有comprssion; 什么是rtti的用途
我发布了一个使用Firemonkey Framework和Object Pascal在Delphi XE8中开发的应用程序.应用程序大小为8MB.安装应用程序时,大小将为40MB或更大.我知道这个应用程序很复杂,项目中有3500行+代码.如果我编译一个空项目,大小仍然与复杂项目相同.
有没有减少应用程序大小的解决方案?