@weather 曇後晴 @title あさ〜 @category 生活 @s 0430充電開始、1100再起動。 @title MS PhotoEditorの関連付けを外す @category PC @s 古いMicrosoft Officeをインストールすると、「Microsoft PhotoEditor」なるツールがインストールされる。まあそこそこ使えるものではあるんだが、実は重大な問題がある。 @s これをインストールすると、その後どんな画像処理ツールや画像ビューアを入れても、*.JPGや*.PNGなどの関連付けをMS PhotoEditorから変えることができなくなってしまう。エクスプローラ内の関連付け変更機能からですら、である。 @s これは、Windowsの通常の関連付けルールよりも強い独自ルールで関連付けされてしまうため。詳細はこんな感じ。 @qcode [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JPEGfile\shell\Open\command] @="\"C:\\Program Files\\Common Files\\Microsoft Shared\\PhotoEd\\PHOTOED.EXE\" \"%1\"" "command"=hex(7):57,00,2d,00,63,00,61,00,56,00,6e,00,2d,00,7d,00,66,00,28,00,\ 59,00,52,00,5d,00,65,00,41,00,52,00,36,00,2e,00,6a,00,69,00,50,00,68,00,6f,\ 00,74,00,6f,00,45,00,64,00,69,00,74,00,6f,00,72,00,46,00,69,00,6c,00,65,00,\ 73,00,3e,00,77,00,77,00,79,00,7a,00,41,00,32,00,50,00,48,00,36,00,3d,00,68,\ 00,3d,00,46,00,40,00,29,00,7e,00,2d,00,41,00,39,00,58,00,20,00,22,00,25,00,\ 31,00,22,00,00,00,00,00 @s これは、レジストリエディタで当該部分をexportしたもの。設定行は「@=」エントリと「"command"=」エントリの2つ。この2つは、OSにより「HKEY_CLASSES_ROOT\JPEGfile\shell\open\command」へリダイレクトされて、関連付けに使用される。つまりこうなるわけだ。 @qcode [HKEY_CLASSES_ROOT\JPEGfile\shell\open\command] @="\"C:\\Program Files\\Common Files\\Microsoft Shared\\PhotoEd\\PHOTOED.EXE\" \"%1\"" "command"=hex(7):57,00,2d,00,63,00,61,00,56,00,6e,00,2d,00,7d,00,66,00,28,00,\ 59,00,52,00,5d,00,65,00,41,00,52,00,36,00,2e,00,6a,00,69,00,50,00,68,00,6f,\ 00,74,00,6f,00,45,00,64,00,69,00,74,00,6f,00,72,00,46,00,69,00,6c,00,65,00,\ 73,00,3e,00,77,00,77,00,79,00,7a,00,41,00,32,00,50,00,48,00,36,00,3d,00,68,\ 00,3d,00,46,00,40,00,29,00,7e,00,2d,00,41,00,39,00,58,00,20,00,22,00,25,00,\ 31,00,22,00,00,00,00,00 @s 「@=」エントリは通常の関連付けルール。対して、「"command"=」エントリはそれよりも上位で、MS PhotoEditorなどごく一部のMS製アプリで使用される関連付けルール。中身はPHOTOED.EXEへのパスのようだが、妙なエンコーディングがなされているため詳細は不明である。 @s (エクスプローラも含め)通常の関連付け変更ツールは「@=」エントリのみを変更する。しかし優先順位が上の「"command"=」エントリがあるため、結果としてルール変更はなされないということになる。 @s 対策は、この「"command"=」エントリも同時に変更されるようにすればいい。しかしここでいくつかの問題が発生する。 @ul
  • このエントリは不明な方法でエンコードされている。つまり自分で好きな値に変更する方法がわからない。
  • ならば削除すればいい・・・と削除しても実際は削除されない。このエントリは、実は「"HKEY_LOCAL_MACHINE\SOFTWARE\Classes"エントリのエイリアス」+「"HKEY_CURRENT_USER\Software\Classes"エントリのエイリアス」という構成になっており、削除を行ってもその結果は「"HKEY_CURRENT_USER\Software\Classes"エントリ」に対して行われることになるため、「"HKEY_LOCAL_MACHINE\SOFTWARE\Classes"エントリのエイリアス」としては削除することができない。つまり、削除しても復活してしまう。
  • 削除ができないなら、なんとか無効になる値でも入れられないかといろいろ試してみたがダメ。空白とかヌル文字とか空とか、全部エラー扱いになる。 @s ということで、結局「"HKEY_LOCAL_MACHINE\SOFTWARE\Classes"エントリからばっさり削除してしまう」以外に方法はない、ということになる。ただ、この領域を変更するには管理者権限が必要なため、一般のユーザーやアプリがこの変更を行うのは、かなり敷居の高い行為となる。 @s ということで、以下のシステムレジストリ変更スクリプト。これを展開して、UnassocPhotoEd.regをregeditで読ませることで、画像系の拡張子の上位関連付けからPhotoEd.exeを外すことができる。 @ul
  • unassocphotoed.lzh @s ただし、外す前の状態は保存しないので、バックアップはお忘れなく。ただし、標準のインストール状態であれば、同梱のAssocPhotoEd_DriveC.regを読ませることで、「C:\Program Files\Common Files\Microsoft Shared\PhotoEd\PHOTOED.EXE」であるとして再度関連付けをさせることはできる。 @s 最後に。システムレジストリの変更は■■OSを破壊する■■危険性があることを熟知してから行うように。 @title Re:MS PhotoEditorの関連付けを外す @category PC @s 「MS PhotoEditorの関連付けを外す」を書いた理由。これをやっておかないと、当然OPTPiX webDesigner 4同梱の画像ファイル管理ツール「EsPix」も関連付けがまともに機能しないわけで。 @s とはいえ、こんな変更をメーカーからおすすめすることなんかできないわけです。そんなわけで、「対策はググって見つけろ」ということなわけ・・・もっともメーカー判断じゃなくて独自判断なので、メーカーには質問しないように。