From: Joe Dimauro on
Installed Watir (v1.6.5) on top of Ruby (v1.8.6) on my 32bit WinXP and
64 bit Vista systems. Ran into way too many issues trying to use Ruby
1.9.1 (64-bit) and Watir(v1.6.5), so degraded to try these older
versions, as Watir site recommends.

Are versions of Watir (v1.6.5) and Ruby (v1.8.6) for Vista 64-bit
available? If so where?

This is the four line program that run OK on 32bit XP, but fails on 64
bit Vista.

require 'Watir'
browser=Watir::Browser.new
browser.minimize # Fails on this line
browser.close

Here's the irb session on the 64-bit Vista system:

C:\>irb
irb(main):001:0> require 'Watir'
=> true
irb(main):002:0> browser=Watir::Browser.new
=> #<Watir::IE:0x4c98a5c url="about:blank" title="">
irb(main):003:0> browser.minimize
WIN32OLERuntimeError: unknown OLE server: `AutoItX3.Control'
HRESULT error code:0x800401f3
Invalid class string
from
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie.rb:114:in
`initialize'
from
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie.rb:114:in `new'
from
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie.rb:114:in
`autoit'
from
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:438:in
`autoit'
from
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:435:in
`set_window_state'
from
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:416:in
`minimize'
from (irb):3
irb(main):004:0> exit


FYI: Here's the output from gem's env command:
C:\>gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.6
- RUBY VERSION: 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
- INSTALLATION DIRECTORY: C:/Ruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: C:/Ruby/bin/ruby.exe
- EXECUTABLE DIRECTORY: C:/Ruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mswin32-60
- GEM PATHS:
- C:/Ruby/lib/ruby/gems/1.8
- C:/Users/Me/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/

Here's relevant definition from the Watir file: ie-class.rb

414 # Minimize the window (appears as icon on taskbar)
415 def minimize
416 set_window_state :SW_MINIMIZE
417 end


434 def set_window_state(state)
435 autoit.WinSetState title, '', autoit.send(state)
436 end
437 def autoit
438 Watir::autoit
439 end

Here's relevant definition from the Watir file: ie.rb:

108 def self.autoit
109 unless @@autoit
110 begin
111 @@autoit = WIN32OLE.new('AutoItX3.Control')
112 rescue WIN32OLERuntimeError
113 _register('AutoItX3.dll')
114 @@autoit = WIN32OLE.new('AutoItX3.Control')
115 end
116 end
117 @@autoit
118 end
--
Posted via http://www.ruby-forum.com/.