Installation 为什么程序安装是一个过程?

Installation 为什么程序安装是一个过程?,installation,Installation,这很可能是一个愚蠢的问题,但当我被问到一个比这个简单得多的问题时,我没有太多的答案 为什么大多数程序都是通过添加、更改等几个步骤安装的?我们有可以直接从自包含的可执行文件运行的程序,但大部分程序不能。为什么会这样?这是因为程序需要包含其自身的所有内容而呈指数级增长吗?如果是这样的话,那么从一开始就很难设计一个完全模块化的操作系统。。。也就是说,有一个带有标准模块集的操作系统,可以从任何不需要长时间安装的“独立程序”访问和使用 谢谢 David Kirsch。这实际上是一个程序有多复杂的问题。许多

这很可能是一个愚蠢的问题,但当我被问到一个比这个简单得多的问题时,我没有太多的答案

为什么大多数程序都是通过添加、更改等几个步骤安装的?我们有可以直接从自包含的可执行文件运行的程序,但大部分程序不能。为什么会这样?这是因为程序需要包含其自身的所有内容而呈指数级增长吗?如果是这样的话,那么从一开始就很难设计一个完全模块化的操作系统。。。也就是说,有一个带有标准模块集的操作系统,可以从任何不需要长时间安装的“独立程序”访问和使用

谢谢
David Kirsch。

这实际上是一个程序有多复杂的问题。许多Windows程序依赖于VisualStudioC++、.NET、java等运行时,而这些操作时间不是由基类操作系统交付的。这意味着您的程序要工作,这些组件必须已经在系统上

如果缺少这些先决条件,那么您的程序甚至无法加载,因此您甚至无法让程序检查这些先决条件并告诉用户去获取它们。这就是安装程序的用武之地,因为它通常没有任何先决条件,但是能够嗅出您的程序需要的东西,并且可以告诉您去获取它们,或者尝试为您安装它们

此外,许多程序需要在部署过程中完成一些逻辑和物理安装工作。这可能意味着注册表更改(如COM注册)、IIS更改(设置web应用程序和虚拟目录)或服务控制管理器更改(设置Windows服务)


简言之,除非您的程序非常独立且没有外部依赖项,否则安装程序是将应用程序放在桌面上的唯一方法。

这些都存在,它们被称为操作系统API。