[sylpheed-jp:10737] Re: Windows版でのGnuPGの検出について

Hiroyuki Yamamoto hiro-y @ kcn.ne.jp
2009年 2月 23日 (月) 11:40:29 JST


山本です。

On Sun, 22 Feb 2009 19:46:43 +0900
Daichi Kawahata <daichi.k @ aioros.ocn.ne.jp> wrote:

> 川畑です。
> 
> On Sun, 22 Feb 2009 14:05:25 +0900
> Hiroyuki Yamamoto wrote:
> 
> > GnuPG の Win 版は、パス情報をレジストリに記録していて、 GPGME
> > ライブラリはそれを見ていたような記憶があります。もし確認できれば
> > それぞれのレジストリの情報をいただけると何かわかるかもしれません。
> 
> 一旦両方のパッケージをアンインストールし、関連すると思われる
> レジストリを削除したうえで、個別に(アン)インストールを行って
> 確認しましたところ、以下のような結果になりました (ただし、切り
> 分けに有効な情報となったかどうかは分かりません)。
> 
> なお、64bit環境ですので、HKEY_LOCAL_MACHINE\SOFTWARE\GNU 配下
> にはエントリーが作成されませんでした。
> 
>   - www.gnupg.org 版 (正常に認識される)
> 
>   [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GNU\GnuPG]
>   "Install Directory"="C:\\Program Files (x86)\\GNU\\GnuPG"
> 
>   [HKEY_CURRENT_USER\Software\GNU\GnuPG]
>   "Lang"="ja"
>   "Installer Language"="1033"
>   "Start Menu Folder"="GNU Privacy Guard"
> 
>   - www.gpg4win.org 版 (正常に認識されない)
> 
>   [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GNU\GnuPG]
>   "Install Directory"="C:\\Program Files (x86)\\GNU\\GnuPG"
>   "gpgProgram"="C:\\Program Files (x86)\\GNU\\GnuPG\\gpg.exe"
> 
>   [HKEY_CURRENT_USER\Software\GNU\GPG4Win]
>   "Start Menu Folder"="GnuPG For Windows"
> 
> 上記のようにレジストリの対象箇所が 32bit環境のものとは事なるので、
> もしかしたら64bit固有の問題となるのかもしれません。

ソースを眺めて上記と比較してみました。

GPGME 1.1.4 では、
HKEY_CURRENT_USER\Software\GNU\GnuPG または
HKEY_LOCAL_MACHINE\Software\GNU\GnuPG 以下の gpgProgram というキーを
順に探し、見つかればその値を gpg.exe のパスとして使用し、なければ
Program Files 以下の GNU\GnuPG\gpg.exe を使うようです。

64bit 版 Windows ではレジストリ文字列がいろいろと異なるので、
どこかで失敗しているのかもしれません(上記によると HKCU のみ有効?)。

-- 
Hiroyuki Yamamoto <hiro-y @ kcn.ne.jp>


Sylpheed-jp メーリングリストの案内