SAND STORM

朝ぼらけ

2012年3月12日

[Windows] Internet shortcutや外部のURLからbrowserが起動しない

Filed under: 未分類 — Tags: — sajin @ 17:22

◇Windows XPでInternet Shortcut(インターネットショートカット)が開かない

Internet Shortcutとは拡張子.urlなどがWindowsによって隠蔽されているshortcut file。

このInternet Shortcutで内容がhttp://~.htmlなど拡張子があるものは開く、しかしhttps://app.f.cocolog-nifty.com/など”/”で終わっているものが開かないという状態になることがある。これは拡張子とprotocolが別々にregistryに存在し、後者のopen情報が消えているのが原因。

解決法 (Windows XP):

Explore -> folder option -> ファイルの種類 > httpプロトコル > インターネットショートカット>詳細と開くとopenが消えているので。新規->アクションでopenを作成し、アプリケーションにbrowserを指定。

Windows Vista/7ではcontrol panel>既定のプログラム>関連づけを表示するでprotocol以下にある。

◇Windows 7でbrowser外からのURLやinternet shortcutをbrowserが開かない、”既定のプログラム”から設定できない、しても反映されない

上の画像は以下の手順で正常に修復された状態。

起動しない状態だと.htmlなど拡張子は変更できるが相変わらず起動はせず、protocolの方をプログラムの変更で開いてもiconすら表示されないので”既定のプログラム”からでは修正できない。

原因はfileの関連付けがHKEY_CLASSES_ROOTの拡張子に直接登録されるのではなく間接的にまとめるために変数で登録され、その変数をまた別の場所で実際のprogramのpathに定義するという二段階構造になっている所にある。

registry editorでHKEY_CLASSES_ROOT\.html\を開き(既定)の中身(ChromeHTML.[useraccount])をcopyして検索する。

同じHKEY_CLASSES_ROOTにそのKEYがあるので\shell\open\commandと辿れば”programの[install path]” — “%1″のdataがあるから、それを起動したいprogramに書き換える。

自分はChromeのupdate後に発生したが、update前のinstall場所が%USERPROFILE%\AppData\Local\Googleにあったのに、install後は%ProgramFiles(x86)%\Google\Chrome\Applicationに変わっていたため登録情報の齟齬が起こり、修正しても一段階目の拡張子の所を直接参照していたため変更が反映されない状態になっていた。

# %USERPROFILE%,%ProgramFiles(x86)%は自分がinstallしたWindowsのuser folderとProgram Files (x86) folderの変数。Explorerなどで入力すれば自動的にその場所に飛ぶ。


関連記事

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment


sand-storm.net