永发信息网

qq讨论组名怎么改名

答案:1  悬赏:30  手机版
解决时间 2021-05-08 01:04
qq讨论组名怎么改名
最佳答案
典型的软件安装过程都有可能做哪些事情。由于我们是讨论软件在安装时的行为,所以开始安装前的设置和选项我们就暂不讨论,只说到软件真正开始安装那个时候起的动作:

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

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

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

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

⑤其他动作。(可选)

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

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

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

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

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

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

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

那么我们再总结一下:

一、一个典型的软件在安装过程一般都会执行上面的1-4项。这样可以认为是一个完整的安装过程。

二、除了第1项之外,其他的都不是必要的。只需要第一项的软件,我们可以把它叫做绿色软件。

三、有些软件安装时是执行了1、2、4,有些软件是执行了1、3、4,有些软件是执行了1、4。

四、一个特殊的情况,一般的驱动程序,只会执行2和3,没有1和4。

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

那么,下面我们再来看看,为什么一些软件安装后要重启。

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

你能看到这里,说明你很有耐心,并且对技术的探讨很有兴趣,那么我就再说得更详细些。在WIN98中,上面说的这个替换是由系统的一个工具来实现的,这个工具叫WININIT.EXE。安装程序在检测到需要写入的DLL或其他程序文件正在使用时,会把要写入的DLL文件先定一个临时的文件名,然后在WINDOWS目录中往WININIT.INI写入一个改写项,比如,一个叫ABCD.DLL的动态连接库现在正在使用中,而安装程序要往系统中写入新版本的ABCD.DLL,这时安装程序会把新版本ABCD.DLL先定一个临时文件名,例如AAAA.LLL,然后在WININIT.INI中的[rename]一节中写入这一项: ?筛l罉枓犮
C:\windows\system\abcd.dll=C:\windows\system\aaaa.lll CX=B)
这样,在重启时,进入WINDOWS图形界面之前,WININIT.EXE在检测到WINDOWS目录中有WININIT.INI存在时,就执行里面的操作,在上面的例子中,是用C:\windows\system\aaaa.lll去替换掉C:\windows\system\abcd.dll这个文件,并且把WININIT.INI改名为WININIT.BAK。

另外,有些软件,在安装时,是把所有文件包括SETUP.EXE解压到临时文件里面再执行SETUP.EXE进行安装的,按理来说安装完要把所有的临时文件删除掉,这个操作当然也是由安装程序SETUP.EXE来完成,但它自己正在运行,也删不了它自己,所以也要重启来删除,做法和上面差不多,只是改成类似这样子的: 怦S?vH烨?
NUL=C:\WINDOWS\TEMP\SETUP.EXE

在WIN2K和WINXP中,存在类似的机制,不过并不是用WININIT.EXE和WININIT.INI来实现,具体的做法我也不是很清楚,长期以来我大多数时候都是在用WIN98,所以没认真研究过,但软件安装过程要重启的现象在2K和XP上是仍然存在的,原理也是在重启时替换或修改正在使用的文件,只是实现的方式不同。

最后,我们再来看看有关卸载方面的内容。一般卸载有好几种方式:

1)早期的安装程序,一般会在安装过程记录了上面说的安装过程的1234四个步骤中具体拷贝的文件和DLL以及注册表项,把它保存在INSTALL.LOG之类的文件中,再在软件的安装目录(或WINDOWS目录中)放一个UNINST.EXE之类的卸载程序。然后要么在程序组里为这个UNINST.EXE建一个快捷方式,要么在注册表中为这个UNINST.EXE建一个快捷方式(这诳刂泼姘宓奶砑由境绦蚓湍芸吹饺砑男对叵?,并把INSTALL.LOG做为它的参数,这样就实现卸载了。

2)现在比较多的安装程序是用新版的INSTALLSHIELD生成的,安装时的记录和卸载程序一般是会放在C:\Program Files\InstallShield Installation Information这个文件夹(隐藏属***)里,同样也会在程序组和注册表中建立卸载项。

另外,在卸载时,也会遇到文件(一般是DLL文件)正在使用的情况。所以有时卸载的时候也要重启,就是要在重启过程中删掉这些正在使用的DLL文件。

非绿色软件的安装一般要修改注册表,而注册表修改后要重启才能生效。
有些软件安装后的运行并不马上需要使用到注册表是的内容,而有些却马上要用到,所以有的软件安装完后要重启,而有些不用

参考资料: http://bbs.iyaya.com/99/2-747899-1176400637.htm
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样开通免费超级QQ的
正常8小时外的值班的工资怎么算
怎样让投影仪的成像更加清晰
东昇烧烤砂锅总店地址在哪,我要去那里办事
七八年级英语句型,七八年级的英语单词用法
如何检测本本键盘有没有坏
NIKE25周年纪念鞋藤原浩AF1超限量d的价格
谁有爱墙种子送我 定深谢
2500元到3000元之间的电脑主机配置
晚上灯关了,怎么老是跳着亮
东辛庄村地址在什么地方,想过去办事
花藤的营养怎样加得快?
日文PDF转TXT
那个综异节目的名字?
请问能不能从香港的银行汇款到内地的中国银行
推荐资讯
全昌大药房在哪里啊,我有事要去这个地方
cf里※这个符号怎么打啊?
诛仙2宠物斗气????
为什么Flash CS3 不能调式影片剪辑?
交通事故责任认定书下达后,交警还有权利继续
求山冈庄八的《丰臣秀吉》《伊达政宗》《织田
人离不开什么东西?
怎么快速学好数学
一对情侣分手了,你们觉得谁亏了
飞信怎么打不开了?
炫舞90级是什么任务?
天津市北辰区西堤头小学地址有知道的么?有点
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?