There is a lot of encoding issues surrounding the use of win32/registry.rb from Ruby v2.1 and above. Prior to 2.1, there was some craziness, but it didn't affect us in a negative way. The recommendation is that we stop using that and instead make the calls to the registry directly using FFI.
Quite a bit of background is on the PR for PUP-3779 - https://github.com/puppetlabs/puppet/pull/3459#discussion_r22838455
The issues surrounding ruby's win32/registry.rb could also impact:
- registry module
- Any custom facts that make registry calls
- blocks
-
PUP-3818 Execute Windows acceptance pre-suite against Ruby 2.1.5
-
- Closed
-
-
PUP-3915 Remove win32console for Windows Ruby 2.1.5
-
- Closed
-
- relates to
-
PUP-2154 Puppet Resource Package not work with Windows OS (russian localization)
-
- Resolved
-
-
PUP-2937 Windows: Unable to reference packages with UTF-8 Characters in their names
-
- Closed
-
-
PUP-3779 Verify spec tests in dev env for Ruby 2.1.5
-
- Closed
-
-
PUP-2564 Specify UTF-8 as a default encoding for puppet
-
- Closed
-
-
PUP-3951 Prefer api_types.read_wide_str(length, encoding) in Windows calls
-
- Closed
-
-
MODULES-1921 Ruby 2.1.5 / Puppet 4 registry corruption when writing REG_MULTI_SZ values
-
- Resolved
-
-
PUP-4325 Gem provider fails to run on Ruby 2.1.5 / Puppet 4 on Windows
-
- Closed
-
-
MODULES-2005 Registry - Hyphen in Array causes random characters appended to value (failure in should_manage_values.rb)
-
- Closed
-
-
ENTERPRISE-459 Package Resource will not recognize a package's displayname containing special charcters
-
- Closed
-
-
MODULES-1723 Windows Registry module needs to be updated with FFI calls to avoid Ruby 2.1.5 encoding issues
-
- Resolved
-
- links to