URL=r"ENTER YOUR DOWNLOAD URL HERE" #<----PROVIDE YOUR DOWNLOAD URL HERE import ctypes import re import time import socket import _winreg import platform import shutil import ssl import urllib2 import getpass import zipfile import shutil import os import glob from subprocess import PIPE,Popen import ctypes start=time.time() class disable_file_system_redirection: _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection def __enter__(self): self.old_value = ctypes.c_long() self.success = self._disable(ctypes.byref(self.old_value)) def __exit__(self, type, value, traceback): if self.success: self._revert(self.old_value) def permissions(dirpath): mode=0o777 if os.path.isdir(dirpath): try: for root,dirs,files in os.walk(dirpath,topdown=False): for dircs in [os.path.join(root,d) for d in dirs]: os.chmod(dircs,mode) for s_file in [os.path.join(root,f) for f in files]: os.chmod(s_file,mode) except Exception as E: print "File being Used %s" def Download(src_path, URL,fp): import urllib2 request = urllib2.Request(URL, headers={'User-Agent' : "Magic Browser"}) try: gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1) parsed = urllib2.urlopen(request,context=gcontext) except: parsed = urllib2.urlopen(request) if not os.path.exists(src_path): os.makedirs(src_path) with open(fp, 'wb') as f: while True: chunk=parsed.read(100*1000*1000) if chunk: f.write(chunk) else: break return fp Folder=os.environ['programdata']+r"\extraction_file" if not os.path.exists(Folder): os.mkdir(Folder) fileName=r"DOWNLOAD.ZIP" #<---PROVIDE YOUR FILENAME TO BE DOWNLOADED HERE src_path=Folder fp = os.path.join(src_path, fileName) Excutable_path=Download(Folder, URL,fp) print "Downloaded succesfully to "+Excutable_path+"" dest_path=os.environ['programdata']+r"\extraction_file" def filezip(Excutable_path,dest_path): with zipfile.ZipFile(Excutable_path,"r") as zip_ref: zip_ref.extractall(dest_path) print 'file unzipped to ' +dest_path filezip(Excutable_path,dest_path) #<---THIS PART EXECUES YOUR EXTRACTED FILE, SUCH AS MSI,CMD,BAT from subprocess import Popen p = Popen("c:\ProgramData\extraction_file\EXTRACTED_FILE.ZIP") #<--ENTER YOUR EXTRACTED FILENAME HERE stdout, stderr = p.communicate()