安装什么真的有用吗?

时间:2012-07-02 06:57:58

标签: scripting installation install

作为一名计算机工程专业的学生,​​他有很多计算机编程经验,而且我轻描淡写,因为我觉得你学的越多,你就越了解自己真正知道多少......

每当我创建一个程序时,无论是Java(游戏引擎/游戏),C(或任何C变体)(应用程序),PHP(在线脚本/数据库程序),Javascript(UI)等。我永远不会 完全理解程序的“安装”功能,我从来没有必要这样做。

从之前的研究中,我了解到安装程序会写入注册表,但为什么这个复杂的过程是必要的呢?安装程序时实际发生了什么?为什么只能创建一个可执行文件(java中的C / .jar文件中的.exe)?

说到脚本语言(我大多数人都知道php,所以我会坚持这个例子)。我听到“安装脚本”或“安装插件”。实际上,是不是安装脚本只是将一组带有脚本/ html表单/ javascript / etc的文件夹复制到服务器中?

我将非常感谢有关该主题或任何类似主题的任何解释,任何链接和任何个人知识。我尽可能地学习,但总会有更多。

1 个答案:

答案 0 :(得分:2)

给出一个非常一般的答案:安装是确保程序完全设置为执行的过程。 (甚至有一个Wikipedia页面使用了相同的定义)。我不会尝试提供所有安装类型的完整而准确的摘要,但只是尝试生成一般概述。

最后一切都由cpu命令控制。要实现这一目标,需要进行翻译。 除此之外,在正常情况下,还有一个封装环境(OS)。 在这些之间,你可能依赖于驱动程序等。

OS,无论是windows / Unix /等对我们来说都是如此,所以我们不必担心任何直接的硬件转向(无论如何都是这种情况) 因此,给出一个随机编程语言或脚本,我们需要让它在操作系统上运行。 直接在操作系统上,或通过诸如.Net / Java(Apache for PHP)之类的框架

到目前为止已知的摘要,但我们已经设置了我们在这里讨论的安装类型的参数:)

在经典C中,语言首先编译为一组可由操作系统解释的指令。如你所说,不需要安装,只需要预编译。 在Java / .Net中,已经安装了一个框架,因此编译的中间语言和所有引用都由框架处理。 诸如Javascript的浏览器语言在浏览器中被解释。浏览器本身已经安装,因此无需安装。 PHP脚本也被解释。大部分时间由Apache提供,但不需要单独安装。 当然,其他脚本语言(如批处理/ vbscript /等)都有自己的操作系统解释器。

现在,在阅读有关写入注册表的内容时,我想提到 da da da dum DLL Hell。链接的维基百科页面描述了dll遇到的问题,但我主要想提到它作为注册表编写的桥梁。安装需要写入注册表的最常见情况之一是注册一个dll。您不能简单地使用一组执行(.exe),它使用来自另一个集合(.dll)的一堆函数,除非操作系统知道其他集合(.dll)。为了使dll知道和可用,它需要注册。这可以通过命令提示符(regsrv32,如果我没记错)完成,但对于最终用户,安装程序将处理这个。

底线是,安装程序,准备环境,以便程序可以运行。即使程序在技术上可以在没有额外准备的情况下运行,安装程序也可以设置桌面快捷方式,添加菜单选项或链接文件类型(Windows中的另一个注册表设置)。