By default in Chef 11.6, remote_file uses the atomic update strategy for updating files. On Windows, this results in remote_file resources failing with a source url using the "file:" scheme failing with access denied -- here is an example recipe:
remote_file "#{ENV['HOME']}/non_atomic_works.txt" do
atomic_update false
source "file://#{ENV['SystemDrive']}/windows/system.ini"
end
remote_file "#{ENV['HOME']}/atomic_fails.txt" do
source "file://#{ENV['SystemDrive']}/windows/system.ini"
end