2009年4月9日 星期四

解決 Firefox 為預設瀏覽器『找不到檔案或項目』的問題

今天同事告訴我, 他手邊的一個軟體, 在 Firefox 為預設瀏覽器時, 會出現『找不到檔案或項目』的問題, 但是 IE 為預設瀏覽器時則不會。

看到的錯誤訊息是這樣的

2009-04-09_185825

Windows 找不到檔案或項目 'C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1'。請檢查鍵入的名稱是否正確,再試一次。要搜尋檔案,請按 [開始] 按鈕,然後按 [搜尋]。

.

設定預設瀏覽器的『系統登錄』(registry)

錯誤訊息中的雙引號『"』有點古怪, 看來是那個軟體呼叫 Firefox 的問題, 於是試著到『系統登錄』(registry) 找線索, 搜尋 firefox.exeMozilla Firefox\firefox.exe

HKEY_CURRENT_USER\Software\Clients\StartMenuInternet 這個機碼的值則是 firefox.exe ; 當預設瀏覽器改回 Internet Explorer (IE) 時, 會被清為空白。所以StartMenuInternet 這個機碼就是『預設瀏覽器』的『系統登錄』(registry)

此外, 發現下面幾個機碼的值都是『對稱的雙引號 "
"C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"

  • HKEY_CLASSES_ROOT\FirefoxHTML\shell\open\command
  • HKEY_CLASSES_ROOT\FirefoxURL\shell\open\command
  • HKEY_CLASSES_ROOT\ftp\shell\open\command
  • HKEY_CLASSES_ROOT\http\shell\open\command
  • HKEY_CLASSES_ROOT\https\shell\open\command
  • HKEY_CURRENT_USER\Software\Classes\FirefoxHTML\shell\open\command
  • HKEY_CURRENT_USER\Software\Classes\FirefoxURL\shell\open\command
  • HKEY_CURRENT_USER\Software\Classes\ftp\shell\open\command
  • HKEY_CURRENT_USER\Software\Classes\http\shell\open\command
  • HKEY_CURRENT_USER\Software\Classes\https\shell\open\command
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FirefoxHTML\shell\open\command
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FirefoxURL\shell\open\command

.

Firefox 預設瀏覽器『找不到檔案或項目』的解決方法

依著直覺, 把 HKEY_CLASSES_ROOT\http\shell\open\command 這個機碼的值, 拿掉後半段, 改成 "C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1" 

運氣很好, 那個軟體就可以正常呼叫 Firefox 了, 猜測是它自作主張把
"C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1" 前後兩個雙引號『"』去掉, 才有這樣的問題。

至於 -requestPending -osint 這兩個命令列參數的說明, 可以看 mozilla 官網的說明

clip_image002而在實作上, 最好將『系統登錄』備份下來,

  • 執行 regedit.exe
  • 找到
    HKEY_CLASSES_ROOT\http\shell\open\command
     
  • 右鍵 => 匯出 (備份原始值)
  • 修改機碼的值 成為
    "C:\Program Files\Mozilla Firefox\firefox.exe"
  • 右鍵 => 匯出 (儲存修改值)

如此, 就會有兩個 *.reg 可以雙擊切換機碼的值

.

弦外之音

  • 除了 HKEY_CLASSES_ROOT\http\shell\open\command 之外的其他的機碼 或許可以適用於別的軟體不相容的情形
  • 可以對 ftp / http / 本機html 指定不同的瀏覽器嗎?
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.htm
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html
  • 這兩個機碼的值有 FirefoxHTML 和 firefox.exe (沒有完整路徑), 不確定使用的場合
  • 『免安裝』的 Firefox 路徑, 機碼是
    KEY_CLASSES_ROOT\Applications\firefox.exe\shell\open\command
    "E:\0Ubin\……\App\Firefox\firefox.exe" -requestPending -osint -url "%1"

.

同場加映 ---- GetWordDemo

那一串錯誤訊息, 無法框選文字, 有辦法複製嗎?

2009-04-09_185825

Windows 找不到檔案或項目 'C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1'。請檢查鍵入的名稱是否正確,再試一次。要搜尋檔案,請按 [開始] 按鈕,然後按 [搜尋]。

答案是 GetWordDemo

.

3 意見:

發表您的回應
  1. 匿名 提到...
    網誌管理員已經移除這則留言。
  2. 匿名 提到...

    seo公司為您提供優質的
    網路行銷服務!
    需要買生日蛋糕
    淨膚雷射的可以聯繫我們!還提供貸款服務!

  3. 匿名 提到...

    seo(搜索引擎優化)是我們主要業務,為大型企業網絡提供SEO搜尋引擎最佳化解決方案;數千家中大型企業網站營銷策劃經驗,提供企業SEO培訓,整站優化方案制定,整站優化實施,百度網站收錄恢復,網站重構壹條龍服務

張貼留言