学科:MozTW文件专案/Firefox Portable 使用指南

Firefox Portable 简介

编辑

Firefox Portable 又名 Portable Firefox 全名为 Mozilla Firefox - Portable Edition。我们可以在字典上查询每个单字的解释:Portable,可携带的、携带型的;Edition,版本。我们把他全部合起来,变成“Mozilla Firefox 可携带的版本”。虽然这样翻译很奇怪,不过大致上也表达了原意:可以让您带著跑的 Mozilla Firefox。而习惯上,我们把它翻译为“可携式 Firefox”。

Firefox Portable 是 John T. Haller 前辈使用 NSIS 撰写的程式,其设计目的,就是让大家在任何电脑上,都可以使用属于自己的“个人浏览器”。透过特别的 Firefox Portable 启动程式,目前 Firefox Portable 可以让大部分的扩充套件、布景主题、书签与其他的个人设定,正确地到处移动。另外,从 1.2.1.1 版本以后,Firefox Portable 更支援了 Live-on-CD 这个功能,让大家可以把档案烧录到 CD 中,拿来展示。

目前 Firefox Portable 是 PortableApps.com PortableApps Suite 的一份子,您可以在 PortableApps.com 里面找到 Firefox Portable 的支援页面,以及讨论串

Feuerfuchs Portable 简介

编辑

我在网路上也曾看到 Feuerfuchs Portable 这个名字,它又是什么? (答: 德文的 "火狐狸") 它和 Firefox Portable 有关联吗?

Feuerfuchs Portable 是 hobbyscripter 所释出的 Firefox Portable 社群版。其原名为 Portable Firefox CE,后因 IceWeasel 事件改名。其最初释出的原因是因为“中文路径问题”,后来因为 hobbyscripter 的需求,与一些社群前辈的建议下,加入了若干功能,而成为了现在的 Feuerfuchs Portable

Feuerfuchs Portable官方版本 (PortableApps.com) 多的功能如下:

  • 更完整的中文路径修正(针对 Firefox 1.0.x 的向下相容、与 Mozilla Calendar 套件的支援)
  • 多国语言支援(目前仅“繁/正体中文”、“英语”)
  • 较复杂的 WaitForFirefox + AllowMultipleInstances 支援
  • 自订启动图示
  • 实做“暂存于硬碟、后将个人设定档回存”的功能

本文名词定义

编辑
名词 说明
Firefox Portable 由 John T. Haller 前辈于 PortableApps.com 释出的可携式 Firefox
Feuerfuchs Portable 为 Firefox Portable 的一个社群版本,由 hobbyscripter 所释出(仅含启动程式)。
<FXPDir> 存放 Firefox Portable 及相关档案的目录
<FirefoxInstallDir> 安装版 Mozilla Firefox 的安装路径
[CE] 仅适用 Feuerfuchs Portable 的说明文字
[Official] 仅适用 Firefox Portable 的说明文字
Firefox Portable Launcher 指可携式 Firefox 的启动程式(又名前导程式)。档名通常为 FirefoxPortable.exe 或 FeuerfuchsPortable.exe
<FXP 设定档> 对于 Firefox Portable 而言,是 FirefoxPortable.ini;而对于 Feuerfuchs Portable 而言是 FeuerfuchsPortable.ini 。

取得 Firefox Portable

编辑

直接取得已中文化的 Firefox Portable

编辑

取得 Firefox Portable 最简单的方式就是直接下载 某A 前辈所制作的“Firefox Portable 本地化”版本。

  1. 请先开启 某A 前辈的软体系列部落格:OpenOffice.org Portable 非公式正体中文版
  2. 在“依中文化软体分类...”区块中,点选“Firefox Portable 中文化释出”
  3. 在开启的页面中,找出最新的版本
  4. 在最新版本文章中,找到“现在就下载吧!!!”连结,并点选此连结,开始下载档案
  5. 下载完毕后,请执行 Firefox_Portable_x.x.x.x_zh-TW.MA.exe 解压缩所有档案
  6. 尝试执行 FirefoxPortable.exe 看看是否有问题
    注意 作此动作之前,请先关闭你正在使用的 Firefox。
  7. 这样我们就有一份已经中文化的 Firefox Portable 了

直接取得 Feuerfuchs Portable

编辑
  1. 前往 Feuerfuchs Portable 的专案网站
  2. 按下画面右方绿绿的“立即下载”按扭
  3. 下载完毕之后,用可以解 .zip 格式的软体进行解压缩
  4. 这样我们就有一份 Feuerfuchs Portable

由 PortableApps 取得 Firefox Portable

编辑
  1. 请先按下下方的连结,进入 Firefox Portable 下载页:http://portableapps.com/firefoxportable
  2. 然后请按下 Download Now! 下载档案。
  3. 下载完毕后,请执行 Firefox_Portable_x.x.x.x_en-us.exe 解压缩所有档案
  4. 尝试执行 FirefoxPortable.exe 看看是否有问题
    注意 作此动作之前,请先关闭你正在使用的 Firefox。
  5. 这时候 Firefox Portable 所开启的 Firefox 应该是英文的

中文化 PortableApps 的 Firefox Portable

编辑

以下的方法都可以将 PortableApps 的 Firefox Portable 中文化,请择一使用!

方法 1: 使用 Locale Switcher + Langauge Pack

编辑
  1. 到 Mozilla Addons 去安装Locale Switcher 扩充套件
  2. Firefox Portable 本地化支援页取得 zh-TW.xpi,并使用 Firefox Portable 安装
  3. 重新开启之后,到 "Tools -> Languages" 中,选择 "Chinese (Taiwan)"
  4. 重新启动 Firefox Portable

方法 2: 使用 Language Pack + about:config

编辑
  1. Firefox Portable 本地化支援页取得 zh-TW.xpi,并使用 Firefox Portable 安装
  2. 开启 about:config 页面
  3. 在 Filter 栏位输入:general.useragent.locale
  4. 在唯一出现的选项上面,按下滑鼠右键,选择 Modify
  5. 输入 zh-TW
  6. 重新启动 Firefox Portable

方法 3: 使用 Language Pack + 更改 AdditionalParameters 选项

编辑
  1. Firefox Portable 本地化支援页取得 zh-TW.xpi,并使用 Firefox Portable 安装
  2. 修改 <FXP 设定档>,在 AdditionalParameters 加上 -UILocale zh-TW
  3. 重新启动 Firefox Portable

方法 4: 使用事先装好的 Mozilla Firefox 来中文化

编辑
  1. 到 "<FXPDir>\App\firefox" 资料夹下把所有东西清空
  2. 到 "<FXPDir>\Data" 资料夹下删除 profile 资料夹
  3. 到 "<FirefoxInstallDir>" 资料夹并复制资料夹下的所有东西
  4. 到 "<FXPDir>\App\firefox" 资料夹之下,将所有的档案贴上
  5. 再把 "<FXPDir>\App\firefox" 资料夹之下的 plugins 资料夹剪下,到 "<FXPDir>\Data\" 资料夹下贴上,并取代全部
    注意 如果你打算发布给其他人使用,请注意是否使用了相依本地端程式的外挂(Plugins)(例如:Free Download Manager 的 fdm.dll 等等),如果你没将他们从 plugins 资料夹中移除,将会使 Firefox Portable 不具可携性;另外也请注意相关的版权问题(例如 Adobe Flash Player 的 plugin)。预设应该只有 npnul32.dll 一个档案 (Mozilla Default plugin)
  6. 执行 FirefoxPortable.exe
  7. 开启时,Firefox Portable 会询问:“No profile was found. Would you like to create a new profile here?”,请回答“是”。如果不成功或是出现错误讯息请依照下步骤操作复制预设个人设定档:
    1. 关掉 Firefox Portable
    2. 复制 "<FXPDir>\App\firefox\default\profile" 中所有档案到 "<FXPDir>\Data\profile" 里面。
  8. 如果 Firefox Portable 所开启的 Firefox 询问是否要设为预设浏览器,请回答“否”
  9. 做到这里你就已经有一个简单的中文版 Firefox Portable

方法 5: 使用 Firefox Portable Launcher + Mozilla Firefox 安装程式

编辑
  1. 将 "<FXPDir>\App" 资料夹下的档案清空(不含资料夹)
  2. 将 "<FXPDir>\Data" 资料夹下的档案清空(不含资料夹)
  3. 其馀动作,请参“为 Feuerfuchs Portable 加上 Firefox 主程式,方法 2”

为 Firefox/Feuerfuchs Portable 加上 Firefox 主程式

编辑

方法 1: 使用事前安装好的 Mozilla Firefox

编辑
  1. 到 "<FirefoxInstallDir>" 资料夹并复制资料夹下的所有东西
  2. 到 "<FXPDir>\App\firefox" 资料夹之下,将所有的档案贴上
  3. 再把 "<FXPDir>\App\firefox" 资料夹之下的 plugins 资料夹剪下,到 "<FXPDir>\Data" 资料夹下贴上,并取代全部
    注意 如果你打算发布给其他人使用,请注意是否使用了相依本地端程式的外挂(Plugins)(例如:Free Download Manager 的 fdm.dll 等等),如果你没将他们从 plugins 资料夹中移除,将会使 Firefox Portable 不具可携性;另外也请注意相关的版权问题(例如 Adobe Flash Player 的 plugin)。预设应该只有 npnul32.dll 一个档案 (Mozilla Default plugin)
  4. 执行 FeuerfuchsPortable.exe

方法 2: 手动拆解 Mozilla Firefox 安装程式

编辑

事前准备

编辑
  1. 取得同时能解 zip 还有 NSIS 封装的程式(例如: 7-zip
  2. MozTW 取得“标准 Mozilla Firefox 安装程式”
    当然,如果您想要使用社群版的安装程式,也可以。
  3. 讨论主题#11860取得 Feuerfuchs Portable Launcher

拆解 Mozilla Firefox 1.5.x.x 安装程式

编辑
  1. 将 "Firefox Setup x.x.x.x.exe" 用能解开 7z 压缩档的软体解压缩
  2. 保留附档名为 xpi 的档案,其馀直接删除
  3. 用能解 zip 格式的软体,把 browser.xpi 解压缩,并复制 bin 子目录底下的所有档案到 "<FXPDir>\App\firefox" 目录底下
  4. 用能解 zip 格式的软体,把 xpcom.xpi 解压缩,并复制 bin 子目录底下的所有档案到 "<FXPDir>\App\firefox" 目录底下(如果有需要,取代所有档案)
  5. 用能解 zip 格式的软体,把 zh-TW.xpi 解压缩,并复制 bin 子目录底下的所有档案到 "<FPXDir>\App\firefox" 目录底下(如果有需要,取代所有档案)
  6. 再把 "<FXPDir>\App\firefox" 资料夹之下的 plugins 资料夹剪下,到 "<FXPDir>\Data" 资料夹下贴上,并取代全部
  7. 这样执行 FeuerfuchsPortable.exe 之后,应该就会有中文的 Feuerfuchs Portable。
  8. 以下是可以选择的项目:
    1. 安装 DOM 观察器:用能解 zip 格式的软体,把 adt.xpi 解压缩,并复制 bin 子目录底下的所有档案到 "<FXPDir>\App\firefox" 目录底下(如果有需要,取代所有档案)
    2. 安装 Talkback:用能解 zip 格式的软体,把 talkback.xpi 解压缩,并复制 bin 子目录底下的所有档案到 "<FXPDir>\App\firefox" 目录底下(如果有需要,取代所有档案)

拆解 Mozilla Firefox 2.0.x.x 安装程式

编辑
  1. 将 "Firefox Setup x.x.x.x.exe" 用能解开 NSIS 封包的软体解压缩
  2. 将所有 nonlocalized 下的档案复制到 "<FXPDir>\App\firefox" 目录底下
  3. 将所有 localized 下的档案复制到 "<FXPDir>\App\firefox" 目录底下
  4. 再把 "<FXPDir>\App\firefox" 资料夹之下的 plugins 资料夹剪下,到 "<FXPDir>\Data" 资料夹下贴上,并取代全部
  5. 这样执行 FeuerfuchsPortable.exe 之后,应该就会有中文的 Feuerfuchs Portable。
  6. 以下是可以选择的项目:
    1. 安装 DOM 观察器:将 "optional\extensions" 资料夹下的 "inspector@mozilla.org" 资料夹复制到 "<FXPDir>\App\firefox\extensions" 之下
    2. 安装 Talkback:将 "optional\extensions" 资料夹下的 "talkback@mozilla.org" 资料夹复制到 "<FXPDir>\App\firefox\extensions" 之下


Firefox Portable 预设的资料夹架构

编辑
  • <FXPDir>
    这个资料夹是整个“Firefox/Feuerfuchs Portable”的根目录
  • <FXPDir>\App\DefaultData
    这个资料夹是用来放置预设的“个人设定档”资料夹、以及预设的“插件(plugins)”资料夹
  • <FXPDir>\App\firefox
    这个资料夹是用来放置 firefox 主程式
  • <FXPDir>\Data\plugins
    这个资料夹是用来放置一些额外的 Plugins
  • <FXPDir>\Data\profile
    这个资料夹是用来放置 Firefox 的个人设定档
  • [Official] <FXPDir>\Other\FirefoxSource
    这个资料夹是用来放置 Firefox 的原始码(但是事实上只有一个指向下载网址的说明档)
  • [Official] <FXPDir>\Other\FirefoxPortableSource
    这个资料夹是用来放置 Firefox Portable Launcher 的原始码
  • [CE] <FXPDir>\Other.7z\Other\FirefoxSource
    这个资料夹是用来放置 Firefox 的原始码(但是事实上只有一个指向下载网址的说明档)
  • [CE] <FXPDir>\Other.7z\Other\FeuerfuchsPortableSource
    这个资料夹是用来放置 Feuerfuchs Portable Launcher 的原始码
  • [CE] <FXPDir>\Other.7z\Other\AdditionalManual
    这个资料夹是用来放置一些额外的说明文件

备注 Other.7z 是一个 7z 压缩档

使用设定档

编辑

简介

编辑

<FXP 设定档> 里面有许多已经建立好的选项,让您能对 Firefox/Feuerfuchs Portable 进一步客制化。您只需要依据您的需求修改这些选项的值即可。本文只列举一些 Firefox/Feuerfuchs Portable 设定档的基本玩法,至于较复杂的的玩法,请参 Readme.txt 。

Readme.txt 存放地点

  • [CE] <FXPDir>\Other.7z\Other\AdditionalManual
  • [Official] <FXPDir>\Other\FirefoxPortableSource

使用 <FXP 设定档>

编辑

<FXP 设定档>依您启动程式版本(Firefox/Feuerfuchs Portable)的不同,有不同的位置:

  • [CE] <FXPDir>\FeuerfuchsPortable.default.ini
  • [Official] <FXPDir>\Other\FirefoxPortableSource\FirefoxPortable.ini

请找到上述档案(以下简称<FXP 设定档>),并且

  • [CE] 重新命名为 FeuerfuchsPortable.ini
  • [Official] 复制到 <FXPDir>,这样 Firefox Portable 启动程式才能正确读取。

接著请使用纯文字编辑软体(例如:记事本)来修改<FXP 设定档>

重要参数简介

编辑

官方版参数

编辑
  • AdditionalParameters=
    这个参数后方可以接一些你想要传给 Firefox 的参数
  • AllowMultipleInstances=false
    这个参数有两个,false 和 true(仅可使用小写),若使用true,则启动程式才会让两个使用不同 Profile 的 Firefox 并存;若使用 false ,则启动程式一旦侦测到其他 firefox.exe 正在运行的话,他就会出现错误并终止。
    注意 这各选项有副作用:即同一个时段不能以启动程式开启两个 Firefox 视窗
  • DisableSplashScreen=false
    这个参数有两个,false 和 true(仅可使用小写),若使用true,则 SPLASH 会关闭。
  • LocalHomepage=
    您可以输入一个某个档案相对于启动程式的相对路径,如果这个值不是空白的,他为被设成 Firefox 的首页。
  • RunLocally=false
    这个参数有两个,false 和 true(仅可使用小写)。若使用 true ,则启动程式会把所有档案都复制到本地电脑的暂存目录,再执行 Firefox/Feuerfuchs Portable 。这对于想要制作 Firefox Portable LiveCD 的人,会很有用。
  • SkipChromeFix=false
    这个参数有两个,false 和 true(仅可使用小写),若使用 true ,则启动程式不会去修补 Chrome.rdf ,这会造成套件、布景主题无法正常使用,除非必要,请使用 false。但是对于 Firefox 1.5 的使用者而言,这个参数设或不设都没影响。
  • SkipCompregFix=false
    这个参数有两个,false 和 true(仅可使用小写),若使用 false ,则启动程式会删除 compreg.dat,让 Firefox 重新撰写,避免造成问题。部份套件会使用到这个档案,除非必要,请不要使用 true。
  • WaitForFirefox=false
    这个参数有两个,false 和 true(仅可使用小写),若使用true,则 [Official] FirefoxPortable.exe [CE] Feuerfuchs Portable 在 Firefox 结束后才会结束。

社群版参数

编辑
  • [CE]DynamicSplash=
    如果这个值不是空白的,而且指向一个存在的档案,启动程式会将他当作 SPLASH 图片
    注意 使用 bmp 为格式较佳,不然在一些 Windows 98 SE 电脑上会有问题
  • [CE]RecoverLocalProfile = false
    这个参数有两个,false 和 true(仅可使用小写)。若 RunLocally = true ,且此值被设为 true ,则启动程式会在 Firefox(R) 结束后,将复制到暂存目录的个人设定档复制回来。若设为 false 则不会复制回来。


复制现有的个人设定档给 Firefox/Feuerfuchs Portable 使用

编辑
  1. 请先删除 "<FXPDir>\Data" 资料夹底下的 profile 资料夹
  2. 请开启档案总管,在网址列输入 "%Appdata%\Mozilla\Firefox\Profiles"
  3. 选取你要的个人设定档,并把他复制到 "<FXPDir>\Data" 资料夹之下
  4. 把这个资料夹重新命名为 "profile"
  5. 完成


已知问题

编辑

已知问题你可以参阅这里:http://portableapps.com/support/portable_firefox#known_issues

以下是比较“常见”的问题:

被部份的防毒软体视为病毒

编辑

Firefox/Feuerfuchs Portable 曾经被防毒软体误判过,主要原因如下:

  1. Firefox Portable 官方版以及 某A 前辈(以前)所打包的版本,都会使用 upx 来对程式进行压缩,用来取得比较小的应用程式大小。但是防毒软体并不了解 upx 这个“加壳”的动作,所以只要一扫到病毒码,就立刻说是病毒。这个问题真的要归功于防毒软体公司,以下是黑名单:AntiVir, Avast, 卡巴斯基5。虽然目前没有再传出“灾情”过,一些打包的前辈们也很努力去避免,但是如果又被扫出病毒,请做以下动作:
    1. 确认下载来源(不要信任第三方下载来源、载点,请只信任“释出这些档案的作者”的网站)
    2. 使用不在黑名单中的防毒软体,重扫看看
    3. 如果还是有病毒,请回报
  2. NSIS 写的程式,曾经被误认为“木马程式”。其实这个问题并非 Firefox/Feuerfuchs Portable 本身,或是 NSIS 的错。如果真的要归纳错误的话,应该归功于防毒公司。但幸运的,就我所知,NSIS 方面已经克服这个问题。
  3. Feuerfuchs Portable 被 a-squared 认为是 Adware,应该也是“误判”

档案路径不可以有中文(仅旧版本)

编辑

这个问题可以分为两个部份:

  1. 第一部份是 GetParameters 的错误,导致误传讯其给 firefox.exe。(Firefox Portable、Feuerfuchs Portable 已经修复)
  2. 第二部份的原因是 Firefox 本身对非 ANSII 路径的处理方式。大家都知道 CJK 字集是用两的 byte 组成的,基于一些理由, Firefox 把所有 CJK 语言都转成 %NN%NN 。例如:桌面->%AE%E0%AD%B1。现在问题在于,当 Firefox 安装套件时会把路径名称中文的部份转为 %NN%NN ,但 Firefox 在事后重新读取 Chrome.rdf 时就不会再去转换了,但是为了可携,Firefox Portable Launcher 会去修改 Chrome.rdf 以让套件正常运作,然而 NSIS 并不会将中文转换为 %NN%NN 形式,因此 Firefox 读取时就发生问题了。(Feuerfuchs Portable 已经修复)


附录

编辑

以下是一些小技巧

安装 Macromedia Flash Player

编辑

自动安装(不用事前安装 Firefox)

编辑

http://plugindoc.mozdev.org/windows.html#Flash ,按下 Install: Adobe Flash Player 9.0,完成安装,即可

手动安装(要事前安装 Firefox)

编辑
  1. 请先自下方连结下载 Adobe Flash Player: Get Flash Player
  2. 在有安装官方 Firefox 的电脑执行该程式
  3. 在 "<FirefoxInstallDir>\plugins" 资料夹下 将 NPSWF32.dll GetFlash.exe GetFlash.exe.manifest 复制到 "<FXPDir>\Data\plugins" 之下
  4. 完成

注意 Adobe Flash Player 是美国 Adobe 公司的注册商标, Flash Player 也是有版权的软体,如果你的“Firefox/Feuerfuchs Portable”是要公开让人下载的,请不要包含 Adobe Flash Player,以免陷入法律问题。

LiveCD FireFox Portable

编辑

使用 Firefox/Feuerfuchs Portable Launcher 内建的功能

编辑

只要将 RunLocally 、 WaitForFirefox 这两个参数修改成 true ,再把所有档案烧录再 CD 上,即可。

压缩 Firefox/Feuerfuchs Portable

编辑

这一节是要教大家如何压缩 Firefox/Feuerfuchs Portable。

备注 因为 Firefox 内建自动更新,所以 upx 压缩过一段时间,可能消失,谨此说明。

  1. 先到 http://upx.sourceforge.net/#download 去取得程式压缩软体 upx203w.zip
  2. 用支援 zip 格式的解压缩软体,解压缩
  3. 把 upx.exe 复制到 <FXPDir>
  4. 把最下面的程式码复制起来,存成 upxcompress.vbs
  5. 执行 upxcompress.vbs,等到出现 “UPX 程式压缩结束” 对话方块,程式压缩就结束了。你可以将 upxcompress.vbs 以及 upx.exe 删除
Dim WshShell, fsObj, CommandOption
CommandOption = "--best --compress-icons=0 --crp-ms=999999 --force"
'CommandOption = "--best --nrv2d --compress-icons=0 --crp-ms=999999 --force"
'CommandOption = "-d" ' 解压缩用的指令
Set WshShell = CreateObject("WScript.Shell")
Set fsObj = CreateObject("Scripting.FileSystemObject")
Sub CompressWithUPX(fdObj)
       For Each file In fdObj.Files
               If (FileCType(file.path) = "dll" Or FileCType(file.path) = "exe") And file.name <> "upx.exe" Then
                       Call WshShell.Run("UPX " & CommandOption & " " & file.path, 7, true)
               End If
       Next
       For Each sfolder In fdObj.SubFolders
               Call CompressWithUPX(sfolder)
       NextNext
End Sub
Function FileCType(Filename)
       Dim LastDot
       LastDot = InstrRev(FileName, ".")
       FileCType = Mid(FileName, (LastDot + 1))
End Function
Call CompressWithUPX(fsObj.GetFolder(fsObj.GetAbsolutePathName(".")))
Set fsObj = Nothing
Set WshShell = Nothing
MsgBox("UPX 程式压缩结束")


相关连结

编辑