|
|
(未顯示由 3 位使用者於中間所作的 24 次修訂) |
行 1: |
行 1: |
− | {{subpage|非官方建製版本列表}}
| + | #REDIRECT [[Firefox Portable 使用指南]] |
− | | |
− | =Portable Firefox 簡介=
| |
− | Portable Firefox 是一個讓你能把你的 Firefox 帶著跑的程式,它的工作原理是利用 Firefox 可以用 "firefox.exe -profile 'Profile資料夾'"來指定 Firefox 所使用的 Profile ,進而能讓 Firefox 變成可攜式的 Firefox。
| |
− | | |
− | 這個程式是由 John T. Haller 前輩使用 [http://nsis.sf.net NSIS] 撰寫的。除了上述原理,為了要讓 Firefox 能正常使用套件和佈景主題,程式碼中還有用來修補相關檔案的程式碼。但也因此產生了一些問題,請參後面的已知問題。
| |
− | | |
− | '''相關連結'''
| |
− | | |
− | Portable Firefox 下載頁 http://portableapps.com/portablefirefox
| |
− | | |
− | John T. Haller 前輩的網站 http://johnhaller.com/jh
| |
− | | |
− | 某A 前輩製作的中譯版 http://forum.moztw.org/viewtopic.php?t=12716
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =本文名詞定義=
| |
− | <table cellspacing="1" cellpadding="5" style="background-color: #555555; ">
| |
− | <tr>
| |
− | <td style="background-color: #EEEEEE; ">'''名詞'''</td>
| |
− | <td style="background-color: #EEEEEE; ">'''說明'''</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; "><PortableFirefox></td>
| |
− | <td style="background-color: #FFFFFF; ">存放 Portable Firefox 及相關檔案的目錄</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; "><FirefoxInstallDir></td>
| |
− | <td style="background-color: #FFFFFF; ">安裝版 Mozilla Firefox 的安裝路徑</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; ">Portable Firefox CE</td>
| |
− | <td style="background-color: #FFFFFF; ">全名為 Portable Firefox Community Edition 意思是指社群人員修改過的版本。本文中所有的 Portable Firefox CE 是指使用 http://forum.moztw.org/viewtopic.php?t=11860 為 Launcher 的 Portable Firefox 版本</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; ">'''[CE-Only]'''</td>
| |
− | <td style="background-color: #FFFFFF; ">只有 Portable Firefox CE 才有的功能、缺點</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; ">'''[Official-Only]'''</td>
| |
− | <td style="background-color: #FFFFFF; ">只有從 PortableApps.com 取得的 Portable Firefox 才有的功能、缺點</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; ">Portable Firefox Launcher</td>
| |
− | <td style="background-color: #FFFFFF; ">指 Portable Firefox (CE) 的啟動程式(又名前導程式)。檔名通常為 PortableFirefox.exe 或 PortableFirefoxCE.exe</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td style="background-color: #FFFFFF; "><PortableFirefox 設定檔></td>
| |
− | <td style="background-color: #FFFFFF; ">對於 Portable Firefox 官方版本而言,是 PortableFirefox.ini ;而對於 Portable Firefox CE 而言是 PortableFirefoxCE.ini 。</td>
| |
− | </tr>
| |
− | </table>
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =Portable Firefox 的下載與中文化=
| |
− | 現在要開始進入正題了。前面說了這麼多關於理論的東西,現在來實際操作吧,如果你懶得中文化的話,建議你直接下載 某A 前輩製作的中譯版。這一段是要教你如何取得英文版的 Portable Firefox。
| |
− | | |
− | ==使用 PortableApps.com 官方版本再中文化==
| |
− | [[圖像:Downloadfullpf.jpg|thumb|下載 Portable Firefox 的圖例,按下圖片放大]]
| |
− | #請先按下下方的連結,進入 Portable Firefox 下載頁:http://portableapps.com/portablefirefox
| |
− | #然後請按下 Download Now! 下載檔案。
| |
− | #下載完畢後,請直接執行 Portable_Firefox_1.5.0.3_en-us.exe 來解壓縮<br/>'''注意''' 請放在純英文路徑下(例如:C:\Temp\Portablefirefox),因為官方版本的 Portable Firefox 有中文路徑問題。
| |
− | #並執行 PortableFirefox.exe 測試是否有問題<br/>'''注意''' 作此動作之前,請先關閉你正在使用的 Firefox。
| |
− | #這時候 Portable Firefox 所開啟的 Firefox 應該是英文的
| |
− | #以下有三個中文化方法,請擇一使用
| |
− | <!--
| |
− | ==中文化方法之一,en-US.jar 置換法==
| |
− | #http://johnhaller.com/jh/mozilla/portable_firefox/localization/ 下載 Chinese (Traditional) 的 Language Pack,或直接[http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.7/win32/xpi/zh-TW.xpi 官方下載]
| |
− | #使用任何能解開 ZIP 檔案的軟體打開它,在 chorme 資料夾內會有一個叫 zh-TW.jar 的檔案。請將它解壓縮後改名成 en-US.jar
| |
− | #在 Portable Firefox 沒有開啟的狀態下,把剛才準備好的 en-US.jar 置換掉本來在 firefox\chrome 下(例如 C:\Temp\Portablefirefox\firefox\chrome)同檔名的檔案即可。
| |
− | #重新開啟 Portable Firefox 就應該是中文的了。
| |
− | '''注意''' 其實本來應該要使用 [http://benjamin.smedbergs.us/switch-locales/ Locale-Switcher] 套件,但是會有問題(更換目錄),所以請參照這樣方法操作。
| |
− | 這個方法只適用 Firefox 和 Thunderbird 1.0.x 及之前的版本,Deer Park 和 1.5 並不適用。
| |
− | -->
| |
− | | |
− | ===中文化方法之一,使用 Locale Switcher + Language Pack===
| |
− | #到 Mozilla Addons 去安裝 Locale Switcher 擴充套件 [https://addons.mozilla.org/firefox/356/ Locale Switcher 1.5.1]
| |
− | #從 [http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.3/win32/xpi/ http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.3/win32/xpi/] 下載 zh-TW.xpi,並且用 Portable Firefox 把他安裝好
| |
− | #重新開啟之後,到 "Tools -> Languages" 中,選擇 "Chinese (Taiwan)"
| |
− | #重新啟動 Portable Firefox
| |
− | | |
− | ===中文化方法之二,使用安裝程式中的 zh-TW.xpi ===
| |
− | #到[http://forum.moztw.org/viewtopic.php?t=11860 這裡]下載 DeveloperToolPack.zip 並且用能解 zip 格式的解壓縮軟體把他解壓縮
| |
− | #從 Locate 資料夾中,找到 PortableFirefox_zh-TW.xpi 並把他安裝起來<br/>'''注意''' 安裝完之後,就會從 Extension 視窗中消失
| |
− | #重新開啟 Portable Firefox
| |
− | | |
− | ===中文化方法之三,使用 Language Pack===
| |
− | <!--這才是我要寫的,我之前弄錯了,感謝 某A 前輩的的更正-->
| |
− | #從 [http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.3/win32/xpi/ http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.3/win32/xpi/] zh-TW.xpi。
| |
− | #使用你的 Portable Firefox 安裝他
| |
− | #修改 Portable Firefox 的設定檔,在 AdditionalParameters 加上 -UILocale zh-TW -contentLocale TW
| |
− | #執行 Portable Firefox Launcher,你的 Portable Firefox 就應該是中文的了。
| |
− | <!--有的部分您應該實做看看,這部分照您的方法做出來還是英文的喔 by 某A -->
| |
− | | |
− | ==使用事先安裝好的 Mozilla Firefox 來中文化==
| |
− | #請先按下下方的連結,進入 Portable Firefox 下載頁:http://portableapps.com/portablefirefox
| |
− | #然後請按下 Download Now! 下載檔案。
| |
− | #下載完畢後,請直接執行 Portable_Firefox_1.5.0.3_en-us.exe 來解壓縮<br/>'''注意''' 請放在純英文路徑下(例如:C:\Temp\Portablefirefox),因為官方版本的 Portable Firefox 有中文路徑問題。
| |
− | #到 "<PortableFirefox>\App\firefox" 資料夾下把所有東西清空
| |
− | #到 "<PortableFirefox>\Data" 資料夾下刪除 profile 資料夾
| |
− | #到 "<FirefoxInstallDir>" 資料夾並複製資料夾下的所有東西
| |
− | #到 "<PortableFirefox>\App\firefox" 資料夾之下,將所有的檔案貼上
| |
− | #再把 "<PortableFirefox>\App\firefox" 資料夾之下的 plugins 資料夾剪下,到 "<PortableFirefox>\Data\" 資料夾下貼上,並取代全部<br/>'''注意''' 如果你打算發佈給其他人使用,請注意是否使用了相依本地端程式的外掛(Plugins)(例如:fdm.dll 等等),如果你沒將他們從 plugins 資料夾中移除,將會使 Portable Firefox 不具可攜性;另外也請注意相關的版權問題(例如 Macromedia Flash Player 的 plugin)。預設應該只有 npnul32.dll 一個檔案 (Mozilla Default plugin)
| |
− | #執行 PortableFirefox.exe
| |
− | #開啟時,PortableFirefox 會詢問:「No profile was found. Would you like to create a new profile here?」,請回答「是」。如果不成功或是出現錯誤訊息請依照下步驟操作複製預設個人設定檔:
| |
− | ## 關掉 PortableFirefox
| |
− | ## 複製 "<PortableFirefox>\App\firefox\default\profile" 的內容物到 "<PortableFirefox>\Data\profile" 裡面。
| |
− | #如果 Portable Firefox 所開啟的 Firefox 詢問是否要設為預設瀏覽器,請回答「否」
| |
− | #做到這裡你就已經有一個簡單的中文版 Portable Firefox
| |
− | '''備註''' 步驟 1~5 可以直接到 [http://forum.moztw.org/viewtopic.php?t=11860 http://forum.moztw.org/viewtopic.php?t=11860] 取得 [http://forum.moztw.org/download.php?id=3265 1.1.4.0-stable-200605121741@release.zip]
| |
− | ==使用 Portable Firefox CE Launcher + Mozilla Firefox 安裝程式==
| |
− | '''事前準備'''
| |
− | #取得同時能解 zip 還有 7z 格式的解壓縮程式(強力推薦 [http://www.7-zip.org 7-zip])。
| |
− | #取得 標準 Mozilla Firefox 安裝程式,[http://mozilla.com http://mozilla.com]
| |
− | #到 [http://forum.moztw.org/viewtopic.php?t=11860 http://forum.moztw.org/viewtopic.php?t=11860] 取得 [http://forum.moztw.org/download.php?id=3265 Portable Firefox CE]
| |
− | '''動工'''
| |
− | #將 "Firefox Setup 1.5.0.3.exe" 用能解開 7z 格式的解壓縮軟體解壓縮
| |
− | #保留附檔名為 xpi 的檔案,其餘直接刪除
| |
− | #用能解 zip 格式的解壓縮軟體,把 browser.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PortableFirefox>\App\firefox" 目錄底下
| |
− | #用能解 zip 格式的解壓縮軟體,把 xpcom.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PortableFirefox>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
| |
− | #用能解 zip 格式的解壓縮軟,把 zh-TW.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PortableFirefox>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
| |
− | #這樣執行 Portable Firefox Launcher 之後,應該就會有中文的 Portable Firefox
| |
− | #以下是可以選擇的項目:
| |
− | ##安裝 DOM 觀察器:用能解 zip 格式的解壓縮軟體,把 adt.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PortableFirefox>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
| |
− | ##安裝 Talkback:用能解 zip 格式的解壓縮軟體,把 talkback.xpi 解壓縮,並複製 bin 子目錄底下的所有檔案到 "<PortableFirefox>\App\firefox" 目錄底下(如果有需要,取代所有檔案)
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =Portable Firefox 預設的資料夾架構 =
| |
− | [[圖像:-pfx-structure.png|right]] | |
− | *'''<PortableFirefox>'''<br/>這個資料夾是右圖中的 "SID" ,是整個 Portable Firefox 的根目錄
| |
− | *'''<PortableFirefox>\App\firefox'''<br/>這個資料夾是用來放置 firefox 主程式
| |
− | *'''<PortableFirefox>\Data\plugins'''<br/>這個資料夾是用來放置一些額外的 Plugins
| |
− | *'''<PortableFirefox>\Data\profile'''<br/>這個資料夾是用來放置 Firefox 的個人設定檔
| |
− | *'''<PortableFirefox>\Other\FirefoxSource'''<br/>這個資料夾是用來放置 Firefox 的原始碼(但是事實上只有一個指向下載網址的說明檔)
| |
− | *'''<PortableFirefox>\Data\PortableFirefoxCode'''<br/>這個資料夾是用來放置 Portable Firefox Launcher 的原始碼
| |
− | *'''<PortableFirefox>\Data\AppInfo'''<br/>有一些關於 Portable Firefox 資訊的檔案,不過只有出現於 1.5.0.2 版,1.5.0.3 版時就移除了(CE版本仍然保留)
| |
− | *'''<PortableFirefox>\Data\AdditionalManual'''<br/>這個資料夾是用來放置 Portable Firefox 的相關(額外的)說明 '''[CE-only]'''
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =使用設定檔=
| |
− | <PortableFirefox 設定檔> 可以讓你設定一些參數,讓 Portable Firefox 更符合你的需求。你可以閱讀 Portable Firefox 所附的 Readme.txt,以獲得更多的資料。
| |
− | | |
− | '''備註''' Readme.txt 在官方的版本中被存放於 "<PortableFirefox>\Other\PortabeFirefoxCode" 在 Portable Firefox CE 中,被存放於 "<PortableFirefox>\Other\AdditionalManual"
| |
− | | |
− | 要使用 <PortableFirefox 設定檔>,請先依以下說明,取得 <PortableFirefox 設定檔> 範本
| |
− | *'''如果你使用 PortableApps.com 的官方版本'''<br/>要將 "<PortableFirefox>\Other\PortableFirefoxCode" 資料夾中的 PortableFirefox.ini 複製到 <PortableFirefox>。
| |
− | *'''如果你使用 Portable Firefox CE'''<br/>要將 "<PortableFirefox>\Other\PortableFirefoxCode\data" 資料夾中的 PortableFirefoxCE.ini 複製到 <PortableFirefox>。
| |
− | | |
− | 接著請用純文字編輯軟體(例如:記事本)修改,參數定義如下:
| |
− | | |
− | *FirefoxDirectory=''App\firefox''<br/>
| |
− | *ProfileDirectory=''Data\profile''<br/>
| |
− | *PluginsDirectory=''Data\plugins''<br/>
| |
− | *UserProfileDirectory=Data\userprofile<br/>
| |
− | *FirefoxExecutable=''firefox.exe''<br/>
| |
− | | |
− | 以上五個較不重要,其中 ''App\firefox''、''Data\profile''、''Data\plugins''、''Data\userprofile''、''firefox.exe'' 分別是 firefox.exe 所在目錄、profile 所在目錄、plugins 所在目錄、沒有意義的選項、Firefox 應用程式的名字。這幾個基本上都維持預設值即可。
| |
− | | |
− | 以下幾個相對比較重要。
| |
− | | |
− | *AdditionalParameters=<br/>這個參數後方可以接一些你想要傳給 Firefox 的參數
| |
− | *AllowMultipleInstances=''false''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用true,則 Portable Firefox Launcher 才會讓兩個使用不同 Profile 的 Firefox 並存;若使用 false ,則 Portable Firefox Launcher 一旦偵測到其他 firefox.exe 正在運行的話,他就會出現錯誤並終止。<br/>'''注意''' 這各選項有副作用:即同一個時段不能以 Portable Firefox Launcher 開啟兩個 Firefox 視窗
| |
− | *SkipChromeFix=''false''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用 true ,則 Portable Firefox 不會去修補 Chrome.rdf ,這會造成套件、佈景主題無法正常使用,除非必要,請使用 false。但是對於 Firefox 1.5 的使用者而言,這個參數設或不設都沒影響。
| |
− | *SkipCompregFix=''false''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用 false ,則 Portable Firefox 刪除 compreg.dat ,讓 Firefox 重新撰寫,避免造成問題。部份套件會使用到這個檔案,除非必要,請不要使用 true。
| |
− | *SkipUseFirefoxFormatPath=''false'' '''[CE-only]'''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用 false ,則 Portable Firefox 會以 Firefox 格式的路徑來處理 Chrome.rdf 以及取得引數的功能;如果是 true ,則關閉這項功能,對於中文使用者來說,可能會有問題。
| |
− | *WaitForFirefox=''false''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用true,則 PortableFirefox.exe 在 Firefox 結束後才會結束,但這個參數並不完全適用於 Firefox 1.5,因為有時候 firefox.exe 第一次執行時,會先關閉自己,執行 update.exe 或進行套件處理然後再開啟自己。
| |
− | *WaitForFirefoxAnyway=''false'' '''[CE-only]'''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用true,則 PortableFirefox.exe 在 Firefox 結束後才會結束,這不同於 WaitForFirefox。他是區偵測 firefox.exe 有沒有在運行,來決定要不要結束程式,缺點是,如果同時運行兩個使用不同 Profile 的 Firefox ,則必須要兩個 Firefox 都結束才會結束。
| |
− | *DisableSplashScreen=''false''<br/>這個參數有兩個,false和true(僅可使用小寫),若使用true,則 SPLASH 會關閉。<br/>
| |
− | *LocalHomepage=<br/>您可以輸入一個相對於 <PortableFirefox> 與某個檔案的相對路徑,如果這個值不是空白的,他為被設成 Firefox 的首頁。<br/>'''例如'''
| |
− | **help.html '''[Official-Only]'''
| |
− | **help_tradChinese.html '''[CE-only]'''<br/>
| |
− | *DynamicSplash= '''[CE-only]'''<br/>如果這個值不是空白的,而且指向一個存在的檔案,Portable Firefox Launcher 會將他當作 SPLASH 圖片<br/>'''注意''' 使用 bmp 為格式較佳,不然在一些 Windows 98 SE 電腦上會有問題
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =修改與自訂 Portable Firefox=
| |
− | 這一段其實並不重要,基本上 Portable Firefox 依然是一套 Firefox,因此你平常如何自訂你的 Firefox 你就可以怎麼自訂 Portable Firefox。我想教的方法是比較偷懶的方法,直接複製你現有的 Profile 讓 Portable Firefox 使用
| |
− | | |
− | #請先刪除 "<PortableFirefox>\Data" 資料夾底下的 profile 資料夾
| |
− | #請開啟檔案總管,在網址列輸入 "%Appdata%\Mozilla\Firefox\Profiles"
| |
− | #選取你要的個人設定檔,並把他複製到 "<PortableFirefox>\Data" 資料夾之下
| |
− | #把這個資料夾重新命名為 "profile"
| |
− | #完成
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =已知問題=
| |
− | 已知問題你可以參閱這裡:http://portableapps.com/support/portable_firefox#known_issues
| |
− | | |
− | 以下使我所研究過的已知問題。
| |
− | ==被部份的防毒軟體視為病毒==
| |
− | ===Portable Firefox (Firefox 1.5) 並不含有病毒===
| |
− | 這是防毒軟體對 UPX 程式壓縮的誤判。
| |
− | | |
− | 重現相同問題的方法:
| |
− | #取得 UPX ,網址: http://upx.sf.net
| |
− | #從 <FirefoxInstallDir>\components\ 資料夾之下,找到 jar50.dll
| |
− | #使用這個指令壓縮這個檔案 upx --best --compress-icons=0 --nrv2d --crp-ms=999999 -k jar50.dll
| |
− | #用 AntiVir 去掃,網址: http://www.free-av.com/
| |
− | | |
− | ===Portable Firefox (Firefox 1.0.7) 並不含有病毒===
| |
− | 其實這個問題並非 Portable Firefox 本身,或是 NSIS 的錯。如果真的要歸納錯誤的話,應該歸功於防毒公司。但幸運的,就我所知,NSIS 方面已經克服這個問題。
| |
− | | |
− | ==檔案路徑不可以有中文==
| |
− | 這是我仔細研究過的問題,事實上這個問題可以分為兩個部份:
| |
− | | |
− | #第一部份是 GetParameters 的錯誤,導致誤傳訊其給 firefox.exe 。
| |
− | <!--
| |
− | 程式有問題
| |
− | ,改成以下的程式即可解決
| |
− | Function "GetParameters"
| |
− | Push $R0
| |
− | Push $R1
| |
− | Push $R2
| |
− | StrCpy $R2 $CMDLINE 1 0
| |
− | StrCmp $R2 "$\"" 0 +3
| |
− | StrCpy $R0 ""
| |
− | Goto ReturnTheValue
| |
− | StrCpy $R0 $CMDLINE 1
| |
− | StrCpy $R1 '"'
| |
− | StrCpy $R2 1
| |
− | StrCmp $R0 '"' loop
| |
− | StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
| |
− | loop:
| |
− | StrCpy $R0 $CMDLINE 1 $R2
| |
− | StrCmp $R0 $R1 loop2
| |
− | StrCmp $R0 "\" "" "nofile"
| |
− | IntOp $2 $R2 + 1
| |
− | nofile:
| |
− | ;MessageBox MB_OK "r0: $R0"
| |
− | StrCmp $R0 "" loop2
| |
− | IntOp $R2 $R2 + 1
| |
− | Goto loop
| |
− | loop2:
| |
− | IntOp $R0 $R2 - $2
| |
− | IntOp $R0 $R0 - 4
| |
− | ;MessageBox MB_OK "$R2 - $2 = $R0"
| |
− | StrCpy $R7 $CMDLINE $R0 $2 ; we save the filename
| |
− | ;MessageBox MB_OK "$2"
| |
− | loop2b:
| |
− | IntOp $R2 $R2 + 1
| |
− | StrCpy $R0 $CMDLINE 1 $R2
| |
− | ;MessageBox MB_OK "rr0: $R0"
| |
− | StrCmp $R0 " " loop2b
| |
− | StrCpy $R0 $CMDLINE "" $R2
| |
− | ReturnTheValue:
| |
− | Pop $R2
| |
− | Pop $R1
| |
− | Exch $R0
| |
− | FunctionEnd
| |
− | '''備註''' 上方的程式碼因為部份是屬於 Portable Firefox 的一部分,因此使用 GPL 為使用條款
| |
− | -->
| |
− | #第二部份的原因是 Firefox 本身對非 ANSII 路徑的處理方式。大家都知道 CJK 字集是用兩的 byte 組成的,基於一些理由, Firefox 把所有 CJK 語言都轉成 %NN%NN 。例如:桌面->%AE%E0%AD%B1。現在問題在於,當 Firefox 安裝套件時會把路徑名稱中文的部份轉為 %NN%NN ,但 Firefox 在事後重新讀取 Chrome.rdf 時就不會再去轉換了,但是為了可攜, PortableFirefox.exe 會去修改 Chrome.rdf 以讓套件正常運作,然而 NSIS 並不會將中文轉換為 %NN%NN 形式,因此 Firefox 讀取時就發生問題了。
| |
− | | |
− | 這兩個問題接已經解決,並以 Portable Firefox CE 實做。參:http://forum.moztw.org/viewtopic.php?t=11860
| |
− | | |
− | <!-- Next Chapter -->
| |
− | | |
− | =附錄=
| |
− | 以下是一些小技巧
| |
− | | |
− | ==安裝 Macromedia Flash Player==
| |
− | ===自動安裝(不用事前安裝 Firefox)===
| |
− | 到 http://plugindoc.mozdev.org/windows.html#Flash ,按下 Install: Macromedia Flash Player 8.0,完成安裝,即可
| |
− | ===手動安裝(要事前安裝 Firefox)===
| |
− | #請先自下方連結下載 Macromedia Flash Player: [http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash Get Flash Player]
| |
− | #在有安裝官方 Firefox 的電腦執行該程式
| |
− | #在 "<FirefoxInstallDir>\plugins" 資料夾下 將 NPSWF32.dll GetFlash.exe GetFlash.exe.manifest 複製到 Portable Firefox 資料夾中的 plugins 資料夾之下
| |
− | #完成
| |
− | | |
− | '''注意''' Macromedia Flash Player 是美國 Macromedia 公司的註冊商標, Flash Player 也是有版權的軟體,如果你的 Portable Firefox 是要公開讓人下載的,請不要包含 Macromedia Flash Player,以免陷入法律問題。
| |
− | | |
− | ==打包為 LiveCD Portable FireFox==
| |
− | ===為什麼 LiveCD Portable FireFox?===
| |
− | 有時候我們需要將 Portable Firefox 燒在 CD 上,作為展示用,但是,卻會遇到問題,因為 CD 是唯讀的,因此 Portable Firefox 將會無法正常運作,因此有這一段的產生。
| |
− | | |
− | ===原理===
| |
− | 這個原理非常容易理解:既然 CD 是唯讀的,複製到使用者硬碟的暫存資料夾總可以吧。基本上,只要將 Portable Firefox 封裝,在將他變成自解檔(SFX)即可。因此有很多軟體都能勝任。例如:WinZip、WinRAR 等軟體。本章將用 7-zip 來實做。
| |
− | | |
− | ===用 7-zip 實做===
| |
− | '''備註''' Firefox 1.5+ 在執行時好像會將自己關掉再把自己重開,所以您必須要使用 Portable Firefox CE Launcher 的 WaitForFirefoxAnyway 的選項
| |
− | [[圖像:Sevenzipsfx.jpg|thumb|下載 7-zip Extra modules 的圖例,按下圖片放大]]
| |
− | #先取得 7-zip 壓縮軟體,網址 http://www.7-zip.org
| |
− | #從 [http://www.7-zip.org/download.html Download] 頁面找到 7-zip Extra modules 並下載,如右圖<br/>'''備註''' 4.23 或 4.29 beta 皆可
| |
− | #安裝 7-zip
| |
− | #使用 PortableFirefox.ini
| |
− | #將 WaitForFirefox 設成 true
| |
− | #全選 Portable Firefox 目錄下所有的檔案,按下右鍵,Add to archive...
| |
− | #按下確定,你將可以得到一個 7z 壓縮檔,把這個檔案重新命名為 pfa.7z
| |
− | #將下面的內容複製,並儲存為 config.txt (請使用 UTF-8 為編碼)並放在 Portable Firefox 目錄下<br/>;!@Install@!UTF-8!<br/>Title=""<br/>BeginPrompt=""<br/>RunProgram="PortableFirefox.exe";<br/>!@InstallEnd@!
| |
− | #將下面的程式碼複製,並儲存為 make.bat 並放在 Portable Firefox 目錄下<br/>copy /b 7zS.sfx + config.txt + pfa.7z livecdportablefirefox.exe
| |
− | #將步驟 2. 取得的解壓縮 7z423_extra.tar.bz2 或 7z429_extra.tar.bz2 連續解壓縮兩次,並從中找到 7zS.sfx 這個檔案,然後複製到 Portable Firefox 目錄下
| |
− | #執行 make.bat
| |
− | #如果看到 livecdportablefirefox.exe 即完成。
| |
− | | |
− | ==壓縮 Portable Firefox==
| |
− | 這一節是要教大家如何壓縮 Portable Firefox。
| |
− | | |
− | '''備註''' 官網或 某A 前輩所提供的版本,都已經壓縮過了,不用重壓
| |
− | | |
− | #先到 http://upx.sourceforge.net/#download 去取得程式壓縮軟體 [http://upx.sourceforge.net/download/upx200w.zip upx200w.zip]
| |
− | #用支援 zip 格式的解壓縮軟體,解壓縮
| |
− | #把 upx.exe 複製到你放 Portable Firefox 的資料夾
| |
− | #把最下面的程式碼複製起來,存成 upxcompress.vbs
| |
− | #執行 upxcompress.vbs,等到出現 「UPX 程式壓縮結束」 對話方塊,程式壓縮就結束了。你可以將 upxcompress.vbs 以及 upx.exe 刪除
| |
− | | |
− | <table cellspacing="1" cellpadding="5" style="background-color: #555555; ">
| |
− | <tr><td style="background-color: #FFFFFF; ">Dim WshShell, fsObj, CommandOption<br/>CommandOption = "--best --compress-icons=0 --crp-ms=999999 --force"<br/>'CommandOption = "--best --nrv2d --compress-icons=0 --crp-ms=999999 --force"<br/>'CommandOption = "-d" ' 解壓縮用的指令<br/>Set WshShell = CreateObject("WScript.Shell")<br/>Set fsObj = CreateObject("Scripting.FileSystemObject")<br/>Sub CompressWithUPX(fdObj)<br/> For Each file In fdObj.Files<br/> If (FileCType(file.path) = "dll" Or FileCType(file.path) = "exe") And file.name <> "upx.exe" Then<br/> Call WshShell.Run("UPX " & CommandOption & " " & file.path, 7, true)<br/> End If<br/> Next<br/> For Each sfolder In fdObj.SubFolders<br/> Call CompressWithUPX(sfolder)<br/> NextNext<br/>End Sub<br/>Function FileCType(Filename)<br/> Dim LastDot<br/> LastDot = InstrRev(FileName, ".")<br/> FileCType = Mid(FileName, (LastDot + 1))<br/>End Function<br/>Call CompressWithUPX(fsObj.GetFolder(fsObj.GetAbsolutePathName(".")))<br/>Set fsObj = Nothing<br/> Set WshShell = Nothing<br/>MsgBox("UPX 程式壓縮結束")
| |
− | </td></tr></table>
| |
− | <!-- Next Chapter -->
| |
− | | |
− | =相關連結=
| |
− | *Portable Firefox 下載頁、主頁:http://portableapps.com/apps/internet/browsers/portable_firefox
| |
− | *Portable Firefox L10N 教學:http://portableapps.com/apps/internet/browsers/portable_firefox/localization
| |
− | *Portable Firefox 說明頁:http://portableapps.com/support/portable_firefox
| |
− | *MozillaZine 相關討論串:http://forums.mozillazine.org/viewtopic.php?p=1618884 <br/>John T. Haller 前輩在該討論串中以 CritterNYC 為代號
| |
− | *某A 前輩的 BLOG:http://blog.webs-tv.net/xdriftdoll/category/91135
| |
− | *某A 前輩的討論串1:http://forum.moztw.org/viewtopic.php?t=12716
| |
− | *某A 前輩的討論串2:http://forum.moztw.org/viewtopic.php?t=10821
| |
− | *Portable Firefox CE:http://forum.moztw.org/viewtopic.php?t=11860
| |
− | | |
− | | |
− | {{link|文件專案|非官方建製版本列表}}
| |