Some of the win32 gems that we use contain native code and are not portable to x64. The complete list of gems that we currently vendor is: https://github.com/puppetlabs/puppet-win32-ruby/tree/1.9.3/ruby/lib/ruby/gems/1.9.1/specifications
For each gem, we need to determine if it needs to be updated. If a gem needs updating, it must be done in the following puppet-win32-ruby branches. Note some gems contain platform specific code, e.g. ffi-1.9.3-x86, and will need to match the target branch:
Additionally, we may need to update version constraints in the following locations:
For example, win32-security 0.2.4 is known to have a bug, so we need to require "~> 0.2.5"
Some of the gems listed above have known issues, so separate tickets have already been created:
The remaining set of gems should be verified as part of this ticket e.g. try to manage that type of resource, try to write to the event log, etc under both x86 and x64 ruby. If a gem doesn't work, update it. This should mainly affect windows gems that are not ffi'ed, e.g. win32-eventlog.
One these gems have been validated and updated, we should be in a good position to run acceptance tests. This will also prepare us for removing our dependency on windows-pr & win32-api gems.
We also want to remove sys-admin gem. It is referenced in ext/project_data.yaml, install.rb, etc but never used.