in chef/cookbooks/cpe_anyconnect/resources/cpe_anyconnect.rb [284:325]
def windows_uninstall
create_anyconnect_cache
modules = node['cpe_anyconnect']['modules'].dup
core = modules.index { |k| k['name'].eql?('core') }
dart = modules.index { |k| k['name'].eql?('dart') }
modules[core], modules[modules.count - 2] = modules[modules.count - 2], modules[core] unless core.nil?
modules[dart], modules[modules.count - 1] = modules[modules.count - 1], modules[dart] unless dart.nil?
modules.each do |pkg|
cpe_remote_file app_name do
file_name pkg_filename(pkg)
checksum pkg['checksum']
path pkg_path(pkg)
only_if { node['packages'].key?(pkg['display_name']) }
end
windows_package "Uninstall #{pkg['display_name']}" do
source pkg_path(pkg)
checksum pkg['checksum']
action :remove
options '/qn /norestart'
only_if { node['packages'].key?(pkg['display_name']) }
end
end
directory ::File.join(ENV['PROGRAMDATA'], 'Cisco/Cisco AnyConnect Secure Mobility Client') do
action :delete
recursive true
ignore_failure true
end
remove_desktop_link
end