在一点上,我有一个很好的小压缩的实用工具,打碎了我的特尔斐编译可执行软件的一小下载的大小,但是现在我不能找到它。任何建议?

此外,是否有任何负面影响使用这些类型的公用事业?(I主要使用它们缩短下载次数为农村/拨用户)。


相关的问题: 是否有任何缺点使用UPX压缩Windows可执行的?

有帮助吗?

解决方案

多年前,我研究过压缩我的可执行文件以缩小下载速度。

我最终做的以及我推荐给你的是使用像 Inno Setup这样的安装程序而不是。它不仅会创建一个可以安装/卸载程序的EXE,而且还会压缩EXE,就像单独的压缩程序单独执行可执行程序一样。

安装程序时,它会被解压缩,因此它似乎永远不会是病毒,也不会增加加载时间。

因此,我可以获得更小的下载大小和同时具有专业外观的安装脚本的好处。

P.S。 Inno Setup是免费的。

其他提示

这项建议是,你不:

  • EXE压缩机可以让你的应用程序似乎是一种病毒(自修改)
  • gzip编都只是为有效地压缩,并不鼓捣你的程序
  • EXE压缩机,使负荷时间应用增加(除非你只是在谈论的安装的方案,这是一个不同的问题

这个疯狂的网站带来了一个论点,我听到了在遥远的过去(它是否是真实的或者不是今天,我不确定、现代化的包装可能具有不同的策略今天) 这篇文章引用Win32! :)

http://topic.csdn.net/t/20000408/08/6785.html

现代的多任务,例如操作系统 Windows95/98和NT使用的是什么 称为一个"虚拟存储器"的系统。时 程序启动,所有他们的代码是 不载入存储器,立即 在启动时,就是这种情况DOS 程序。相反,只有部分 代码正在积极执行 存入存储器。例如,说 您的计划有一个印刷项上它的 菜单,以及代码隐藏它处理 印刷。这只会是代码 载入存储器一旦打印 功能是第一个用户选择的。如果后代码被载入 存储器的打印功能不用 对于同时系统将"放弃" 代码,从而释放的记忆 被占领,如果另一个应用程序 迫切需要存储器。这是一部分 一个过程称为"寻呼",并且是 完全透明的程序。

另一种方式寻呼下Win32 节省的存储器是它会导致多 实例的程序(或DLL) 分享同样的记忆为代码。在 换句话说,在正常 情况没有真实的 差额的物理 存储器分配用于代码之间 开始100情况的程序 并开始一个实例。

如果所有Win32程序表现得就像 DOS程序,装载的一切成 存储器,并保持它在那里直到 程序终止,还没有 共享任何的存储器之间的多 实例,你可能想象的 如何快速的物理存储器可以运行 出于系统与数量有限, 造成磁盘交换的开始。

然而,这正是电流 Win32EXE压缩机做到你 EXE s/DLL的!他们完全去 对操作系统的寻呼系统通过 解所有代码进入存储器和 保持它在那里,直到终止。并且因为代码不存在 "原始"格式的文件(即的 同样的方式存储器中存储), 操作系统是无法分享之间的代码 多个实例。

我不知道任何专门针对Delphi的内容,但 UPX 非常受欢迎那类的东西。唯一的缺点是可执行文件在启动时必须解压缩,这可能需要一些时间。但是,对于大小合适的可执行文件来说,它似乎非常快。

您可能正在考虑的是 ASPack - 它是用Delphi编写的EXE压缩器,但是将压缩任何EXE。但它可能在Delphi EXE上做得更好。我同意其他答案,你不应该使用EXE压缩器只是为了节省下载时间。可能存在特定情况,其中EXE压缩是一个好主意,但通常不是。

而是使用一个好的安装构建器,特别是如果你能找到一个使用7zip压缩的构建器。我知道 InstallAware 在内部使用7zip进行最大程度的压缩。根据您拥有的Delphi版本,您也可能拥有InstallAware许可证。

如果没有别的,您可以使用 7zip 免费。这是安装程序的SFX单独下载。

使用 UPX 和lzma选项进行最大压缩。

upx --lzma yourfile.exe

压缩的EXE或DLL的主要不便之处在于操作系统无法在多个实例之间共享代码 因此,您浪费内存,每次启动实例时都必须解压缩,表现出类似病毒的行为,甚至没有压缩安装的下载优势。
只有正面情况才是直接从网络驱动器启动。

我相信终端服务器(如Citrix)将使用相同的内存,如果它是未压缩的应用程序二进制文件。这意味着压缩的exe可以闻到Citrix环境中的小灾难。

UPX 应该有效,尽管它不是特定于Delphi的。

我使用PEtite: http://un4seen.com/petite/

我也会投票支持upx。除了提到的缺点之外,它还可以防止基本的逆向工程和那些蹩脚的“资源黑客”。工具。顺便提一下,大多数都无法打开压缩的可执行文件。

我问了一个关于在这里使用UPX在Delphi可执行文件上的问题,我得到了一些很好的回复。

有任何缺点吗?使用UPX压缩Windows可执行文件?

您可以使用 PECompact ,因为人们无法轻易解密,并且测试显示(在主页上显示,只是向下滚动一下)它比ASPack或UPX好,我在以前的Delphi项目中使用它

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top