Actions
Bug #3464
closedwin32ole failure load TYPELIB on mswin64 vista
ruby -v:
ruby 1.9.2dev (2010-06-22 revision 28384) [x64-mswin64_90]
Backport:
Description
=begin
Vista 64環境でwin32oleがタイプライブラリのロードに失敗します。
Vista 64の環境ではMicrosoft Scripting Runtimeが次のようなキーになっています。
HKEY_CLASSES_ROOT\TypeLib{420B2830-E718-11CF-893D-00A0C9054228}\1.0\0\win64
OLE Automationなどwin32, win64両方あるケースもあるようです。
HKEY_CLASSES_ROOT\TypeLib{00020430-0000-0000-C000-000000000046}\2.0\0\win32
HKEY_CLASSES_ROOT\TypeLib{00020430-0000-0000-C000-000000000046}\2.0\0\win64
どちらを優先的に読むべきか解らないのですが下記のパッチでtest-allのwin32oleで出ていた
HRESULT error code:0x80029c4a タイプ ライブラリ/DLL の読み込みエラーです
が無くなることを確認しました。
Index: ../ext/win32ole/win32ole.c¶
--- ../ext/win32ole/win32ole.c (リビジョン 28384)
+++ ../ext/win32ole/win32ole.c (作業コピー)
@@ -2355,7 +2355,11 @@
VALUE path = Qnil;
path = reg_get_val2(hkey, "win32");
if (path == Qnil) {
-
path = reg_get_val2(hkey, "win16");
-
path = reg_get_val2(hkey, "win64");
-
if (path == Qnil) {
-
path = reg_get_val2(hkey, "win16");
-
}}
return path;
}
=end
Actions
Like0
Like0Like0Like0Like0Like0