use Win32::RunAsAdmin qw(force); #### #!/usr/bin/perl use strict; use warnings; use Win32::RunAsAdmin qw(force); use LWP::Simple; use Archive::Extract; my $url = 'URL'; my $WindowsProgramfilesDir = $ENV{'PROGRAMFILES(X86)'}; my $WindowsTempDir = $ENV{'TEMP'}; my $InstallationDir = $WindowsProgramfilesDir . "/INSTALLATION_FOLDER"; my $ZipFile = $WindowsTempDir . '/update.zip'; getstore($url, $ZipFile); my $tempDir=$WindowsTempDir . '/unzippedFolder'; my $x = Archive::Extract->new( archive => $ZipFile ); $x->extract( to => $tempDir ) or die $x->error; use File::Copy::Recursive qw(dircopy); dircopy($tempDir,$InstallationDir) or die("$!\n");