Windows7で関連付けを変更出来ない不具合の対処法~MSのアプリ(例Outlook)と絡んだものは変更が出来なくなるOSの謎仕様

Zipファイルの関連付けが変更出来ない

知人から、zipファイルの関連付けが変になったと相談を受けました。

詳しくヒアリングしてみると、Outlookで送られてきた添付ファイルがwinmail.datだった場合にOutlookなら開けると聞いて意図的に(勘違いして)winmail.zipをOutlookに関連付けてしまったとの事でした。

つまり、zipファイルをOutlook.exeに関連付けてしまったということでした。

これを聞いた時に普通に関連付けを戻せば良いんじゃないか?と思っていたのですが、どうやら一度Outlook.exeに拡張子を関連付けると、変更ボタンが表示されなくなるのはWindowsの仕様?らしいです。

zipファイルのプロパティで関連付けプログラムが「エクスプローラー」になっている状態のキャプチャ画像

試しにやってみると本当に「変更」ボタンが非表示になってしまいました。
コレは酷い!Windowsのクソ仕様だと思います。

zipファイルのプロパティで関連付けプログラムを「Outlook」にしてしまうと変更が出来なくなる状態のキャプチャ画像

強制的に関連付けを変更する方法

この状態になってしまうと関連付けをやり直すUIが表示されないので変更が出来なくなります。「既定のプログラム」から関連付を変更しても変更結果が保存されないのでダメでした。益々クソ仕様だと感じます。

回避方法を検索するとそれっぽい情報はいくつかありますが(レジストリをいじる)、私が試して結果的に上手く出来た方法を記しておきます。参考にした情報は下記です。

これからやろうとしていることは、レジストリを一箇所削除することで、ユーザーによる関連付け情報(の定義)が消えるので、再びやり直すことが出来るだろうという強制的な方法です。

レジストリの位置、及びregファイルのサンプルです。

Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.zip\UserChoice]
Code language: CSS (css)

HKEY_CURRENT_USERの頭にハイフン(-)を付けているのは、レジストリから削除するという意味です。コピペしてメモ帳などでxxx.regファイルを作成し内容をペーストし保存すれば、作成したxxx.regファイルをダブルクリックでレジストリを削除出来ます。

もちろんregedit.exeを実行して、手作業で自分で該当するレジストリを探し出して削除する方法でも構いません。むしろそちらの方をオススメします。該当するレジストリが存在しているか自身で確認してから削除した方が良いでしょう。

関連付けボタンが復活

レジストリを削除したことで、拡張子「.zip」に定義されたUserChoice(outlook.exeが記録されていた)をレジストリから削除できました。それによって関連付けするボタンが再び表示される様になりました。拡張子「.zip」の関連付けが未定義という状態にすることに成功しました。適切にエクスプローラーに関連付けしなおしてやれば解決です。

ほっと一安心ですが、Outlookに関連付けるとなぜ関連付けを修正出来ないくなるのでしょう?謎なクソ仕様です。

一説によるとOutlookはWindowsのExplorerとかなり連携しているので一度関連付けるとOSが変更を許さなくなるのでは無いかと推測されています。

OSとアプリの垣根が明確ではないWindowsならではのクソ仕様ですね。それでもWindowsのシェアを考えると我慢しながら使って行くしか無さそうです。MSのOS開発のセンスのなさに我慢しつつ。

コメント

タイトルとURLをコピーしました