zoukankan      html  css  js  c++  java
  • 有点二的问题:为什么软件要安装了才能用??

    比如你教一个不会开车的人开车,一来就叫他座到方向盘后面说:开吧!……嗯?就是先点火啊!什么你不会点火?拧这个钥匙啊!什么然后怎么办!挂档啊,就这玩推上去呀!然后踩油门不就完了吗!唉唉唉拜托先把手刹放了好不好!这个这个就这个放下去啊!要死的赶紧抓住方向盘啊!转过去啊!!!眼睛看前方表看我要撞上了啊啊啊啊!!!
    好了吧?如果一个软件刚打开就不停的问你内核是哪种,缓存放哪里,链接库在哪里,窗口管理器是哪个,并且每次启动都重复同样的问题,赫赫,你就不会问这种问题了

    好了,那么言归正传,软件安装在后台到底干了些什么事情呢???上大学的时候写写过c程序.c编译之后,为.obj,连接之后为.exe 安装就是把.exe拷贝到安装目录下吗??????

    .........查资料,一番忙活。。。。。参考https://zhidao.baidu.com/question/146991499.html

    以Windows为例

    ①文件从安装源位置拷贝到目标位置。

    ②往系统目录写入一些必要的动态连接库(DLL)。(可选)

    ③往系统注册表中写入相应的设置项。(可选)

    ④建立开始菜单里的程序组和桌面快捷方式。(可选)

    ⑤其他动作。(可选)

    下面我们再详细来分析上面归纳出来的这些动作:

    1)拷贝软件本身需要的文件。源位置指软件未安装之前的位置,例如光盘,下载的目录等,目标位置指你指定的安装位置。

    这是几乎所有的软件安装过程一定会做的一件事。而如果一个软件,在安装时只要这一步,不需要后面的其他几步,我们可以认为这个软件就是绿色软件。或者反过来说绿色软件就是只要拷贝文件,不需要依赖于某个DLL,或者它依赖的DLL在几乎所有的系统中都一定有的,并且它也不依赖于注册表里面的设置项的软件

    2)这一步,可以说至少有一半软件在安装时都会做,一些软件,需要用到某个DLL,特别是那些软件作者开发的DLL,或者系统中不常用的DLL,一般都会随软件的安装拷到系统目录。所谓系统目录,在WIN98下一般是在WINDOWSSYSTEM这个目录,而WIN2K是在WINNTSYSTEM32,WINXP是在WINDOWSSYSTEM32。还有,一些软件如QQ游戏,中游等,它们也用到一些DLL,由于这些DLL只是这个软件自己用到,别的其他软件不会用到,所以它们并不一定存在于系统目录,而是放在软件安装目录里面,这样的DLL已经在上一步中被拷贝,所以和这一步说的情况不一样。

    3)这一步同样至少有一半软件会做,一般在安装前用户的设置和一些选项,在安装时就会把这些设置写到注册表里。另外就是有时在上一步把DLL拷贝到系统目录时,一些DLL需要向系统注册,这些DLL的注册信息也会写在注册表里。还有,一些软件有时可能安装时并不写注册表,而是在第一次运行时才把一些设置写到注册表。

    4)这个非常简单,大概不需要怎么解释。建立这些快捷方式一方面是便于用户执行,另外在时也会把卸载的快捷方式放在程序组里。关于卸载后面我们再来讨论。

    5)这个就是除了上面说的以外的其他情况。例如有些软件安装时会先把所有文件(或一部分文件)先解压到临时目录,那么安装完之后就要把这些文件删除掉。

    so,理论上,任何软件,如果你非常确切地知道了它在上面的那几步都具体做了些什么,特别是2和3,那么,理论上你可以把这个软件的安装文件拷贝到另一台机子,把必要的DLL从系统目录拷贝到那一台机子的系统目录,再把注册表里软件写入的项目导出来(必要时还要修改一下)再导入到那台机子的注册表中,那么,就算不是绿色软件,你也能这样把它移植给另一台机。但有时特别是一些共享软件,一般都会有注册表中设置比较隐蔽的项目,不容易查找,所以除非你对系统非常熟悉,否则不是绿色软件的软件要移植还是有一定的难度的。

    but,为什么安装完后要重启电脑?

    在WINDOWS操作系统上,一般一个正在运行中的程序,操作系统是不让你修改它的,修改包括替换,改动和删除。那么有时,一些软件需要向系统目录中写入一个DLL,而系统目录中原来已经有同名的DLL并且这个DLL目前正在被系统使用,因此不能用新版本去替换它,这个时候就需要重启,在重启的过程中,在这个DLL旧的版本被使用之前用新版本替换它。这就是为什么要重启的原因。

  • 相关阅读:
    python3----练习......
    python3----练习题(....)
    python3----requests
    python3----练习题(爬取电影天堂资源,大学排名,淘宝商品比价)
    python3----练习题(图片转字符画)
    python3----练习题(....)
    ConfigParser 读写配置文件
    数据驱动ddt+excel数据读取
    数据驱动ddt
    expected_conditions判断页面元素
  • 原文地址:https://www.cnblogs.com/revo/p/7471462.html
Copyright © 2011-2022 走看看