安装程序与zip或可执行exe文件有何区别?

3
在大多数游戏和程序中,您只会获得安装程序。虽然有些.exe文件可以直接运行(可能是因为它们没有太多的源文件需要提取?),但大多数情况下仍需要安装程序。
我想知道的是,一个仅仅提取文件的安装程序和一个可在几秒钟内下载完成的zip(rar,iso等)文件之间的区别在哪里?而对于那些体积达到200mb的安装程序,它是如何离线获取5gb的文件的呢?
在学习编程的过程中,我从未听说过这点。所以,如果您能够适当地回答我的问题,我将不胜感激。
4个回答

14

你真正想问的是:

安装程序是如何工作的?

一些背景知识。

Apple }{, Jobs' gift to humanity.

在古老的时代,人们没有“安装程序”这样的东西。软件直接从软盘上运行(不是那种坚硬的3.5英寸软盘,而是可以“抖动”的软盘),就像上帝所愿。

然后出现了第一批拥有持久硬盘的家用电脑。第一次,将程序从软盘上复制下来并让它停留在电脑上变得有意义了。

但程序仍然像今天的“便携式”应用程序一样工作:你按原样复制它们并以原样运行。

然后操作系统变得更加复杂。

The Great Satan?

Windows引入了一个名为“注册表”的概念:一个中央位置,用于存储程序和操作系统配置。软件作者开始使用这个注册表。它的神秘架构和用户敌对的编辑实用程序(臭名昭著的regedit.exe)使其成为存储共享软件信息的完美地方 - 例如,你在试用期剩余多少天。

这是在程序开始变得太大以至于无法未压缩地放在单个软盘上的同时发生的。需要一种将程序拆分到多个软盘上的方法。由于要求用户安装ZIP提取工具不够友好(请记住,在广泛使用互联网之前),Windows程序开始随附安装程序。您可以将这些视为WinZIP的便携式版本,其唯一目的是重新组装并提取压缩文件。

auuuuughhhhhhh

现在,安装程序有许多其他用途:

  • 提供方便的用户界面
  • 提示用户接受单击式最终用户许可协议(EULA)
  • 提示用户输入 CD 密钥(虽然这正逐渐被许多系统淘汰,转而采用数字分发)
  • 要求用户注册软件

此外,它们还可以作为 DRM 工具,验证 CD 并解密数据以防止恶意个人(yarr)破解 DMCA。

从本质上讲,它们并不比 Windows 95 时代更复杂 -- 它们就是一个华丽版的解压程序。

旁注:如果不是通过互联网获取数据,安装程序如何从 200MB 的存档中获得 5GB 的数据?

那是很高的,但你可以有很多方法来获得这种压缩比。想象一下一个复杂的游戏,其世界是由详细的 XML 定义的 -- 这是容易压缩的。甚至在旧的 WinZIP 时代你也可以做到这一点。


1

一个zip文件只能容纳一些文件,解压后可以得到这些文件。

然而,安装程序可能是非常复杂的。它可以创建所需的文件或文件夹结构,可以在您的系统上注册所需的dll文件,为您提供可安装的功能选项,检查您的系统兼容性,并作为向导逐步指导您自定义安装应用程序。


0

安装程序(特别是Windows Installer)可以自动创建注册表项,同时解压并将文件写入目录。使用Zip时,您必须手动提取文件,并且没有自动的注册表编辑。

Zip的优点是,它保证(大多数情况下)应用程序是可移植的,即所有必要的文件都包含在解压缩的目录中。

安装程序的优点非常明显:自动化、用户界面。

至于从200MB -> 5GB......将文件压缩成exe可以增加更好/更小的压缩层,而不仅仅是将文件放入压缩文件夹中,但是200MB -> 5GB是一个相当大的跳跃,虽然不是不可能,但相当大。对于大型外部(在线)下载有说明的大多数安装程序,在安装之前通常会提醒您他们即将下载大量数据,请勿在安装过程中断开与互联网的连接。


-1
一个安装器或EXE文件很容易被病毒感染,但如果使用ZIP压缩文件,则病毒感染的机会较小,并且使用ZIP也更加灵活,因为它可以使用您自己的密码进行保护。另一个普遍的好处是ZIP可以压缩文件。希望你能理解我。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接