diff options
author | jtimberman <joshua@opscode.com> | 2012-08-18 10:11:43 -0600 |
---|---|---|
committer | jtimberman <joshua@opscode.com> | 2012-08-18 10:11:43 -0600 |
commit | cf583460671d5322b0cf492037ba17f614bfdf71 (patch) | |
tree | 110b47b7b16ec8ea1ce8644e24e28f49a4164a5f | |
parent | b91020183720f158f47f9da9a7eadec713f9d3fc (diff) | |
parent | 65eebd5557dfc8966bc9d528c074c77d85274d6a (diff) | |
download | mixlib-shellout-cf583460671d5322b0cf492037ba17f614bfdf71.tar.gz |
Merge branch 'COOK-1173'
-rw-r--r-- | libraries/registry_helper.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libraries/registry_helper.rb b/libraries/registry_helper.rb index 4432769..1c683d5 100644 --- a/libraries/registry_helper.rb +++ b/libraries/registry_helper.rb @@ -160,8 +160,13 @@ module Windows hive.open(key, ::Win32::Registry::KEY_ALL_ACCESS | @@native_registry_constant) do | reg | values.each_key { |key| name = "#{key}" - Chef::Log.debug("Deleting value #{name} in #{path}") - reg.delete_value(name) + # Ensure delete operation is idempotent. + if value_exists?(path, key) + Chef::Log.debug("Deleting value #{name} in #{path}") + reg.delete_value(name) + else + Chef::Log.debug("Value #{name} in #{path} does not exist, skipping.") + end } end |