我的 Delphi win32 VCL应用程序 作为一个单一的大exe部署。该应用程序是一个客户端 - 服务器应用程序,其中一个胖客户端连接到 SQL Server。
这很方便(只需更新共享文件夹中的一个文件即可更新应用程序-当然,DB模式也会更新)。
由于我使用许多“肥”第三方组件,如 ReportBuilder 和DevExpress ,因此每次发布时,exe大小都会增长,主要是因为这些组件变得越来越大。
在dpr中,我设置了这些标志,以确保从共享文件夹或可移动设备启动exe时,它总是加载在内存中(并避免奇怪的连接错误):
如果使用 Release Build 配置构建 exe 文件,通常其大小与 Debug Build 配置相比会减少约50%。但由于我使用了 EurekaLog,使用 Build 而不是 Debug 构建只会轻微地减小文件大小。
目前我的 exe 大小为 115MB(使用“Build” Build 配置和 EurekaLog 构建)。
这种情况在其他人的经验中是否正常?有没有已知的建议不要超过的限制?
以下是最近几年文件大小的变化情况:
2014: 76MB
2015: 82MB
2016: 90MB
2017: 97MB
2018: 115MB
由于最近超过了100MB的限制,我开始担心。
我知道可以使用运行时包进行构建,但我的问题关注的是如果可能的话保持单个大 exe 的方法。
我记得 cnPack 有一个我以前试过的 Uses Cleaner 功能。这可能有助于删除一些未使用的单位,从而减小 exe 大小,但无论如何都不能阻止将我带过100MB的趋势。
谢谢。
这很方便(只需更新共享文件夹中的一个文件即可更新应用程序-当然,DB模式也会更新)。
由于我使用许多“肥”第三方组件,如 ReportBuilder 和DevExpress ,因此每次发布时,exe大小都会增长,主要是因为这些组件变得越来越大。
在dpr中,我设置了这些标志,以确保从共享文件夹或可移动设备启动exe时,它总是加载在内存中(并避免奇怪的连接错误):
{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP}
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
如果使用 Release Build 配置构建 exe 文件,通常其大小与 Debug Build 配置相比会减少约50%。但由于我使用了 EurekaLog,使用 Build 而不是 Debug 构建只会轻微地减小文件大小。
目前我的 exe 大小为 115MB(使用“Build” Build 配置和 EurekaLog 构建)。
这种情况在其他人的经验中是否正常?有没有已知的建议不要超过的限制?
以下是最近几年文件大小的变化情况:
2014: 76MB
2015: 82MB
2016: 90MB
2017: 97MB
2018: 115MB
由于最近超过了100MB的限制,我开始担心。
我知道可以使用运行时包进行构建,但我的问题关注的是如果可能的话保持单个大 exe 的方法。
我记得 cnPack 有一个我以前试过的 Uses Cleaner 功能。这可能有助于删除一些未使用的单位,从而减小 exe 大小,但无论如何都不能阻止将我带过100MB的趋势。
谢谢。