学科: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 程式壓縮結束")


相關連結

编辑