Can't get example to work

Hello,

I must be doing something wrong but I don’t know what. I’m trying to
use this example to learn more about the Win32API::Registry library.

require ‘win32/registry.rb’

$VERBOSE = nil

appList = []

Win32::Registry::HKEY_LOCAL_MACHINE.open(‘SOFTWARE\Microsoft\Windows
\CurrentVersion\Uninstall’) do |root|

root.each_key do |k|
Win32::Registry::HKEY_LOCAL_MACHINE.open(root.keyname + “\#{k[0]}”)
do |key|
key.each do |i|
if i[0] == “DisplayName”
appList.push(i[2])
end
end
end
end

When I run it I get: uninitialized constant Win32>

How do I fix this?

Thank you.

Brad

You seem to be missing an “end”, but I’ll assume that’s a copy/paste
error.

The code works for me, Ruby 1.8.6 (OneClickInstaller).

As a style note, require lines shouldn’t have the “.rb” in them, so do:

require “win32/registry”

Jason

Hi,

I’ve found (with most of the win32 stuff) that a reboot often fixes this

  • I know it sounds cliched, but I’ve had similar errors before and a
    reboot did the trick…

Sean

On Oct 3, 8:38 am, Brad [email protected] wrote:

            end
    end

end

When I run it I get: uninitialized constant Win32>

How do I fix this?

Thank you.

Brad

I’ve used the same exact script and it works on my pc.

Did you check to make sure the Win32 libraries are installed. On my pc
they’re in
C:\ruby\lib\ruby\1.8\win32

Luis