msvcrt-ruby18.dll not found..

9 views
Skip to first unread message

Phani

unread,
Aug 21, 2010, 5:20:51 AM8/21/10
to Vapir
Hi,

Anyone had luck using Vapir on the recently released 1.9.2-p0 Ruby?

From the site I gathered that Vapir works on 1.9.1, so I assumed it
would work on 1.9.2 as well and installed it via gem i vapir-ie. No
problems till here.

When I do a 'require "vapir-ie"' in irb, I get a pop-up with the
message that the application failed to start because a certain msvcrt-
ruby18.dll was not found.

I am on Win XP Professional SP3. The ruby installation is from the
recently released installer which uses ming compiler. From the page:
http://rubyinstaller.org/downloads

Thanks for your time and help & the work on the library.

cheers,
phani

Ethan

unread,
Aug 21, 2010, 6:47:40 PM8/21/10
to va...@googlegroups.com
Thanks for the report. It looks like the binary version of a gem that vapir relies on, win32-api, is distributing a binary version that's incompatible with 1.9.2. 

I solved this by uninstalling the binary version and reinstalling it, building it correctly for the environment. Unfortunately, it's a bit of a pain to do. 

1. Install the Development Kit from http://rubyinstaller.org/downloads/ - follow the instructions at http://wiki.github.com/oneclick/rubyinstaller/development-kit

2. gem uninstall win32-api
this will warn you about dependencies, which is fine. 

3. gem install win32-api --platform=ruby
this will build win32-api correctly for the 1.9.2 environment. 

I will look into removing vapir's reliance on that gem. It is a pain to deal with. 

-Ethan

Ethan

unread,
Aug 22, 2010, 12:10:39 AM8/22/10
to Phani, va...@googlegroups.com
Phani,
I'm copying back to the group as I think it's useful information. 
I also ran into that when testing 1.9.2. This is due to a change in WIN32OLE; it now raises a different exception than it used to in some cases (NoMethodError instead of WIN32OLERuntimError). Code in vapir's internals which expects a WIN32OLERuntimeError and catches it doesn't catch the NoMethodError. I'll include the fix for that in the next release (1.7.1), and push that out sometime in the coming week. 

On Sat, Aug 21, 2010 at 23:16, Phani <pcb...@gmail.com> wrote:
Hello Ethan,

Wanted to contact you off the group (pls let me know if this was uncalled for) as I was not sure if the error that I now get is a genuine one or something to do with my system configuration only. 

I followed your steps and could eliminate the earlier error on 'require'. But now the very next step fails. Here's the irb output -

Thanks very much for your time and I would like help debug this if you tip me off on what to look for, rather than completely solving the problem for me.

irb(main):001:0> require "vapir-ie"
=> true
irb(main):002:0> ie = Vapir::IE.new
=> #<Vapir::IE:0x6800cf44 url="about:blank" title="">
irb(main):005:0> ie.goto "http://www.ruby-forum.com/forum/4"
NoMethodError: unknown property or method: `document'
    HRESULT error code:0x80020006
      Unknown name.
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:189:in `method_missing'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:189:in `block in all_frames_complete?'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:186:in `each'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:186:in `all?'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:186:in `all_frames_complete?'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:144:in `block in wait'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-common-1.7.0/lib/vapir-commo
n/waiter.rb:127:in `try_for'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/page_c
ontainer.rb:142:in `wait'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/ie-cla
ss.rb:386:in `block in goto'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-common-1.7.0/lib/vapir-commo
n/container.rb:108:in `assert_exists'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/vapir-ie-1.7.0/lib/vapir-ie/ie-cla
ss.rb:384:in `goto'
        from (irb):5
        from C:/ruby/bin/irb:12:in `<main>'


thank you,
phani
--
Regards,
Phani

Phani

unread,
Aug 22, 2010, 5:09:59 AM8/22/10
to va...@googlegroups.com
Thanks ethan.
-phani

--
Sent from my mobile device

Regards,
Phani

Reply all
Reply to author
Forward
0 new messages