Getting puppet 3.0.2 to run on Windows 7

My adventures in puppet are currently related to my bachelor thesis. Unfortunately the company I'm working on my thesis at is using Windows 7.

My usual approach (installing Ruby 1.9.3) yielded the following error:

PS C:> C:\Ruby193\bin\ruby C:\Ruby193\bin\puppet help
Failed to load feature test for root: uninitialized constant Windows::Synchronize
Error: Could not intialize global default settings: string contains null byte

Turning to #puppet and googling around, I found a bugreport describing similar problems.
It seemed as if Ruby 1.9.3 was the problem. So I tried downgrading to 1.9.2, no luck there.

Downgrading further to Ruby 1.8.7 yielded another problem. puppet on Windows requires among others the gems "win32-process" and "win32-dir", both of which the current versions are only compatible with Ruby 1.9.

So I looked for the last versions working with 1.8.7 and my Gemfile turned out something like this:

source "http://rubygems.org"
gem "puppet", "~> 3.0.2"
platform :mingw do
  gem "sys-admin"
  gem "win32-process", "= 0.6.5"
  gem "win32-dir", "= 0.3.7"
  gem "win32-service"
  gem "win32-security"
  gem "win32-taskscheduler"
end

And with that puppet works on my Windows 7 machine.

PS C:> puppet help
Usage: puppet [options] [options]
[...]
Show Comments