summaryrefslogtreecommitdiff
path: root/lib/chef/win32/file/version_info.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/win32/file/version_info.rb')
-rw-r--r--lib/chef/win32/file/version_info.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/chef/win32/file/version_info.rb b/lib/chef/win32/file/version_info.rb
index 2974c8a695..08828981c1 100644
--- a/lib/chef/win32/file/version_info.rb
+++ b/lib/chef/win32/file/version_info.rb
@@ -28,7 +28,11 @@ class Chef
def initialize(file_name)
raise Errno::ENOENT, file_name unless ::File.exist?(file_name)
- @file_version_info = retrieve_file_version_info(file_name)
+ begin
+ @file_version_info = retrieve_file_version_info(file_name)
+ rescue Chef::Exceptions::Win32APIError
+ # file likely has no embedded version info
+ end
end
# defining method for each predefined version resource string
@@ -48,6 +52,8 @@ class Chef
:SpecialBuild
].each do |method|
define_method method do
+ return nil if @file_version_info.nil?
+
begin
get_version_info_string(method.to_s)
rescue Chef::Exceptions::Win32APIError