Bug #3907

WIN32OLE_TYPELIB Can't load while envvar in the pathname .

Added by Akio Tajima almost 5 years ago. Updated over 4 years ago.

[ruby-dev:42338]
Status:Closed
Priority:Normal
Assignee:-
ruby -v:ruby 1.9.3dev (2010-10-05) [i386-mswin32_100] Backport:

Description

=begin
WIN32OLE_TYPELIB.newで、TypeLibのパス名に環境変数が含まれているとロードに失敗します。
以下のパッチで修正します。(REG_EXPAND_SZだった場合にExpnadEnvironmentStringsで展開)
添付のtest_win32ole_typelib.rbのパッチは、ADO 2.0のロードを試すものです。
ただし、ADO 2.0はWindows7ではREG_EXPAND_SZを使っていますが、Windows XPでは使っていないためテストとしてはいまいちです。
=end

test_win32ole_typelib.patch Magnifier (480 Bytes) Akio Tajima, 10/05/2010 11:14 PM

win32ole.patch Magnifier (730 Bytes) Akio Tajima, 10/05/2010 11:14 PM

Associated revisions

Revision 29495
Added by Masaki Suketa almost 5 years ago

  • ext/win32ole/win32ole.c (reg_get_val): expand environment in the pathname. [Bug #3907]

Revision 29495
Added by Masaki Suketa almost 5 years ago

  • ext/win32ole/win32ole.c (reg_get_val): expand environment in the pathname. [Bug #3907]

History

#1 Updated by Masaki Suketa almost 5 years ago

=begin
助田です。

On Tue, Oct 05, 2010 at 11:16:07PM +0900, Akio Tajima wrote:

ただし、ADO 2.0はWindows7ではREG_EXPAND_SZを使っていますが、
Windows XPでは使っていないためテストとしてはいまいちです。

反応鈍くてすいません。

パッチのご提供ありがとうございます。
これ、"Disk Management Snap-In Object Library" だったら、
Windows 7 でも REG_EXPAND_SZ を使ってますか?
というか Windows 7 にもそんなのがありますか?

助田 雅紀

=end

#2 Updated by Akio Tajima almost 5 years ago

=begin
artonです。

これ、"Disk Management Snap-In Object Library" だったら、
Windows 7 でも REG_EXPAND_SZ を使ってますか?
というか Windows 7 にもそんなのがありますか?
Windows7にもありました。
InProcServer32は、REG_EXPAND_SZを使って %SystemRoot%...となっているので、
XPでもそうなっているのであれば、テスト用に良いと思います。

--
arton artonx@yahoo.co.jp


Learn more about breast cancer - Pink Ribbon Campaign 2010
http://yj.pn/JAy9L7

=end

#3 Updated by Akio Tajima almost 5 years ago

=begin
artonです。

すみません。前のメールでは間違えてCLSIDのほうを見ていましたが
(inprocsvr32とか書いている)、TypeLibのほうも、REG_EXPAND_SZを使ってい
るので問題ないです。

--
arton artonx@yahoo.co.jp


Learn more about breast cancer - Pink Ribbon Campaign 2010
http://yj.pn/JAy9L7

=end

#4 Updated by Masaki Suketa almost 5 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r29495.
Akio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF