アップグレード時にファイルの関連づけがNo.24312
ldr さん 08/01/18 00:42
 
お世話になっています。

秀丸エディタのバージョンをあげる際にレジストリを直接書き換えて
行ったファイルの関連づけが壊れてしまいます。
HmSetup.exeで行った関連づけは保持されている?ようです。

例えば、次のような.regを適用した後アップグレードすると
HKEY_CLASSES_ROOT\.c の(既定)が空っぽになります。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.c]
@="Hidemaru.cfile"
[HKEY_CLASSES_ROOT\.c\OpenWithProgids]
"Hidemaru.cfile"=""
"VisualStudio.c.8.0"=""
[HKEY_CLASSES_ROOT\Hidemaru.cfile]
@="C Source"
[HKEY_CLASSES_ROOT\Hidemaru.cfile\DefaultIcon]
@="C:\\Program Files\\Microsoft Visual Studio 8\\VC\\vcpackages\\VCProject.d
ll,3"
[HKEY_CLASSES_ROOT\Hidemaru.cfile\shell\open\command]
@="\"C:\\Program Files\\Hidemaru\\Hidemaru.exe\" \"%1\""

Hidemaru.cfileのキー名を変えればいいだけのような気もしますが
アップグレード時に消えるケースがわからないので教えていただけ
ないでしょうか。よろしくお願いします。

[ ]
RE:24312 アップグレード時にファイルの関No.24317
秀丸担当 さん 08/01/18 11:23
 

>秀丸エディタのバージョンをあげる際にレジストリを直接書き換えて
>行ったファイルの関連づけが壊れてしまいます。
>HmSetup.exeで行った関連づけは保持されている?ようです。

試しにやってみたところ、同じように再現させることができました。
Hmsetup.exeで行う関連付けは、

[HKEY_CLASSES_ROOT\.txt]
@="hidemaru.txt"
[HKEY_CLASSES_ROOT\hidemaru.txt]
@="関連付け名"

という感じになっているのですが、レジストリの例の場合、Hidemaru.cfile と
いう書き方で、Hmsetupが .cfile という拡張子の関連付けをしたと誤認識して
しまっているようです。
.c と .cfile の違いと、さらに hidemaru と Hidemaru の大文字/小文字の違い
で、一致していなくておかしくなっているようです。

とりあえず Hidemaru.cfile を Hidemaru. から始まらない別の名前にすると回
避できると思います。
Hmsetupが行った関連付けであるかどうかの判断ももう少し厳しくするように修
正しておこうと思います。

[ ]
RE:24317 アップグレード時にファイルの関No.24319
ldr さん 08/01/18 13:22
 
説明ありがとうございます。
キー名を別名にして対応します。

[ ]