import os import subprocess dir='C:\Windows\Temp\COMODO' args=r'browser-care-setup_5.0.6.0.exe /SP- /VERYSILENT /NORESTART' if 'PROGRAMW6432' in os.environ.keys(): install_path=os.environ['PROGRAMFILES(X86)']+r'\Auslogics\Browser Care' else: install_path=os.environ['Programfiles']+r'\Auslogics\Browser Care' ## dir: string -> directory where installer exist ## args: string -> which includes all parameters with space delimiter def spm_install(dir, args): os.chmod(dir,0644) argslist = args.split() try: a=os.chdir(dir) subprocess.check_call(argslist) except subprocess.CalledProcessError as e: print 'retcode' + str(e.returncode) + 'retcode' #Stop auto process try: subprocess.check_call([r'TASKKILL', r'/F',r'/IM',r'BrowserCare.exe']) print "Installed Successfully..." except subprocess.CalledProcessError as e: print 'retcode' + str(e.returncode) + 'retcode' ## ## dir: string -> directory where installer exist ## args: string -> which includes all parameters with space delimiter def spm_uninstall(dir, args): os.chmod(dir,0644) if os.path.isdir(install_path): os.chdir(install_path) dir_elements = os.listdir('.') if r'unins000.exe' in dir_elements: uninstall_args = r'unins000.exe /SP- /VERYSILENT /NORESTART' list1=uninstall_args.split() try: subprocess.check_call(list1) print "Uninstalled Successfully" except subprocess.CalledProcessError as e: print 'Uninstall step failed' def spm_update(dir, args): # make uninstall first os.chmod(dir,0644) if os.path.isdir(install_path): os.chdir(install_path) dir_elements = os.listdir('.') if r'unins000.exe' in dir_elements: uninstall_args = r'unins000.exe /SP- /VERYSILENT /NORESTART' list1=uninstall_args.split() try: subprocess.check_call(list1) argslist = args.split() try: os.chdir(dir) subprocess.check_call([argslist]) except subprocess.CalledProcessError as e: print 'retcode' + str(e.returncode) + 'retcode' #Stop auto process try: subprocess.check_call([r'TASKKILL', r'/F',r'/IM',r'BrowserCare.exe']) print "Updated Successfully..." except subprocess.CalledProcessError as e: print 'retcode' + str(e.returncode) + 'retcode' except subprocess.CalledProcessError as e: print 'Uninstall step failed' #installation part