Mozilla目录结构剖析——Mozilla Firefox安装后的目录文件结构及其功能
Mozilla FireFox的目录主要分为两个部分,一个是安装目录,一个是用户Profile目录。
先说用户Profile目录。它的位置如下:
Windows平台下:(XP, 2K and NT) \Documents and Settings\<UserName>\Application Data\Mozilla\Firefox
('98 and ME) \Windows\Application Data\Mozilla\Firefox
Linux平台下:~/.mozilla/firefox/
MacOS X平台下:~/Library/Application Support/Firefox
profile目录里面放的内容主要是firefox的一些cache、界面的overlay信息、
用户自己下载的插件和皮肤、以及其他一些个性化的参数配置。
profile目录是firefox第一次运行的时候创建出来的,并且在卸载的时候是不会删除的。
下面来讲讲安装目录。
安装目录根目录下有这些内容:
*.dll:mozilla平台的各种dll、比如javascript的引擎、xpcom引擎、xpi解释引擎等
install_status.log:这里记录的是安装的过程,及各种组件安装的信息
install_wizard.log:这里记录的是安装的时候写入注册表中的卸载信息。
install.log:这个文件第一次安装的时候是没有的,当你从网上成功下载安装了某些
插件xpi包的时候,它们的信息就会记录在这里。
/chrome目录,存放是界面层的所有文件,这些文件被按照模块打成一个个的jar包,这里
还有一个非常重要的文件install-chrome.txt,它记录了界面层各个模块的
注册信息,只要有新的带有界面的插件模块安装进来,都要到这里进行注册。
我们可以看到,每个模块通常要注册三条信息:content、locale和skin,
这个也体现了mozilla对界面的划分思想。程序启动后,会根据install-chrome.txt
里面的信息生成/chrome/overlayinfo目录和/chrome/chrome.rdf文件,这里
记录的是各个组件的界面各部分的详细信息及它们之间的overlay关系,程序
启动后,会先检查install-chrome.txt和overlayinfo、chrome.rdf的新旧,
如果后者没有则创建之,如果后者日期更旧,说明有新的插件加入进来,就会
刷新overlayinfo和chrome.rdf。
/components目录,这里存放的是各种xpcom组件。这些组件包括以C++实现的dll文件和以
javascript实现的js文件,mozilla程序启动后会根据这些dll和js的信息生成
comreg.dat和xpti.dat两个xpcom组件的注册表文件,根据这两个dat文件,
mozilla就知道有哪些组件注册到其中了。在firefox中,这两个dat文件没有
放在components目录下,而是放到了用户的profile下面,但似乎是换汤不换
药的做法。
/defaults目录,这个目录下存放的是程序使用的各种内部配置信息,有兴趣的朋友可以打开
里面的一些js文件看看。
/greprefs目录,Gecko Runtime Enviroment的配置信息,这个目录在mozilla 1.7之前是没有的,
gre的配置信息在mozilla 1.7之前也是放在defaults目录下的。
/plugins目录,存放第三方插件的dll,比如flash的,mediaplayer的等等,一般之要把第三方
的dll拷到这个目录下就行了,mozilla会自己检测到的。
/res目录,这个目录没什么好说的,放的是一些资源文件。
/uninstall目录,这个目录比较重要,里面存放两个文件,install_wizard1.log和UninstallFirefox.exe,
install_wizard1.log里面记录的是安装的时候进行的所有操作,包括往哪些目录
拷贝了文件、往注册表写了什么信息、执行了什么文件等,而UninstallFirefox.exe
在卸载的时候就是根据这个log文件来进行反操作的。另外,在系统目录下还有一个
UninstallFirefox.exe文件,是卸载文件的一个备份文件。
/searchplugin目录,这个是google搜索插件的配置目录,并不能算mozilla自身的目录。
注:以上是针对目前最新的Firefox 1.0及其以前的版本而言的。