桐原です.
私も再現できないです.
> HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\GNU\Fiber
> HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GNU\Fiber
両方のレジストリを削除して,再起動して,標準ユーザーでログインして,
上記二つとも存在しないことを確認した上で fiber.exe を実行すると問題なく動き,
同時に HKEY_CURRENT_USER\… は作成されました.
HKEY_LOCAL_MACHINE\… は(標準ユーザーなので権限がなく)作成されませんでした.
次に,
両方のレジストリを削除して,再起動して,標準ユーザーでログインして,
管理者権限で fiber.exe を実行すると同様に問題なく動き,
同時に HKEY_LOCAL_MACHINE\… は作成されました.
またレジストリエディタを 標準ユーザー で起動しても 管理者 で起動しても
HKEY_CURRENT_USER\… に作成されていないことを確認しました.
ここの状態,つまり
-- HKEY_LOCAL_MACHINE\… は存在し,
-- HKEY_CURRENT_USER\… は存在しない
状態で(ログインしている標準ユーザーのまま) fiber.exe を実行すると,
HKEY_CURRENT_USER\… は作成されませんでした.
# その後,再起動し,標準ユーザーで fiber.exe 実行しても
# HKEY_CURRENT_USER\… が作成されませんでした.
## つまり HKEY_CURRENT_USER\… がなくても HKEY_LOCAL_MACHINE\… があれば
## fiber.exe は動作するようです.
> というわけで、レジストリの権限が何かのタイミングでおかしくなり、
> 書き込めなくなっていたのが、削除して再作成することで綺麗になり
> 問題がなくなったのでは、と想像しています。
上記のようにレジストリの項目がなくても,ちゃんと作成され
実行されていることを考えると,
-- レジストリに書き込む内容を fiber.exe が持っている,と思われる
-- 通常は,もしそのレジストリのエントリーが存在しない場合は作成する
(標準ユーザーの場合は HKEY_CURRENT_USER\… に作成する)
-- しかし,何かのタイミングでそのエントリーが作成できない
と考えられます.
---
KIRIHARA, Masaharu