page='"https://www.google.com"'#provide your default page here import os import ctypes import platform import getpass import zipfile import ctypes import sys import platform import _winreg import ssl import shutil ssl._create_default_https_context = ssl._create_unverified_context def CheckApp(AppName): import _winreg import os AppName = AppName.lower() def DNDS(rtkey, pK, kA): ln = [] lv = [] try: oK = _winreg.OpenKey(rtkey, pK, 0, kA) i = 0 while True: try: bkey = _winreg.EnumKey(oK, i) vkey = os.path.join(pK, bkey) oK1 = _winreg.OpenKey(rtkey, vkey, 0, kA) try: tls = [] DN, bla = _winreg.QueryValueEx(oK1, 'DisplayName') DV, bla = _winreg.QueryValueEx(oK1, 'DisplayVersion') _winreg.CloseKey(oK1) ln.append(DN) lv.append(DV) except: pass i += 1 except: break _winreg.CloseKey(oK) return zip(ln, lv) except: return zip(ln, lv) rK = _winreg.HKEY_LOCAL_MACHINE sK = r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment' openedKey = _winreg.OpenKey(rK, sK, 0, _winreg.KEY_READ) arch, bla = _winreg.QueryValueEx(openedKey, 'PROCESSOR_ARCHITECTURE') arch = str(arch) _winreg.CloseKey(openedKey) if arch == 'AMD64': fList = DNDS(_winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', _winreg.KEY_WOW64_32KEY | _winreg.KEY_READ) fList.extend(DNDS(_winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', _winreg.KEY_WOW64_64KEY | _winreg.KEY_READ)) fList.extend(DNDS(_winreg.HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', _winreg.KEY_WOW64_32KEY | _winreg.KEY_READ)) fList.extend(DNDS(_winreg.HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', _winreg.KEY_WOW64_64KEY | _winreg.KEY_READ)) else: fList = DNDS(_winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', _winreg.KEY_READ) fList.extend(DNDS(_winreg.HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', _winreg.KEY_READ)) fList = set(fList) lr = [] rs = 0 for i in fList: a, b = i if AppName in a.lower(): lr.append('success: {} is installed'.format(a)) lr.append('{:<25}{:5}'.format(a, b)) rs += 1 else: rs += 0 if rs: return True return False AppName='Google Chrome' URL=r'http://kolbi.cz/SetDefaultBrowser_v1.2.zip' def Download(URL): import urllib2 import os fileName =URL.split('/')[-1] src_path=os.environ['ProgramData'] fp = os.path.join(src_path, fileName) request = urllib2.Request(URL, headers={'User-Agent' : "Magic Browser"}) parsed = urllib2.urlopen(request) if not os.path.exists(src_path): os.makedirs(src_path) print "Path created" with open(fp, 'wb') as f: while True: chunk=parsed.read(100*1000*1000) if chunk: f.write(chunk) else: break return fp ck=CheckApp(AppName) if ck: print "Chrome Installed" zip_path=Download(URL) zip_path1=src_path=os.environ['TEMP'] with zipfile.ZipFile(zip_path,"r") as zip_ref: zip_ref.extractall(zip_path1) k=zip_path1+'\\'+zip_ref.namelist()[0] os.remove(zip_path) os.chdir(k) cmd='SetDefaultBrowser.exe'+r' chrome' print os.popen(cmd).read() print "Google Chrome Set as Default Browser" os.chdir(zip_path1) try: os.rmdir(k) except: shutil.rmtree(k) else: print "Chrome is not installed in the system" arch= platform.machine() if 'x86' in arch: path='"C:\Program Files\Google\Chrome\Application\chrome.exe"' else: path='"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"' kk=getpass.getuser() drive=os.environ['SYSTEMDRIVE'] k = drive+"\\Users\\%s\\Desktop" %(kk) sh1=os.path.join(k,r'Google Chrome.lnk') sh="C:\Users\Public\Desktop\Google Chrome.lnk" if os.path.exists(sh) or os.path.exists(sh1): try: os.remove(sh) except: os.remove(sh1) vbs=r'''Set objShell = WScript.CreateObject("WScript.Shell") allUsersDesktop = objShell.SpecialFolders("AllUsersDesktop") usersDesktop = objShell.SpecialFolders("Desktop") Set objShortCut = objShell.CreateShortcut(usersDesktop & "\Google Chrome.lnk") objShortCut.TargetPath = %s objShortCut.Description = "Run the Notepad." objShortCut.WindowStyle = 1 objShortCut.Hotkey = "CTRL+SHIFT+F" objShortCut.Description = "Shortcut Script" objShortCut.WorkingDirectory = strDesktop objShortCut.Arguments = %s objShortCut.Save ''' %(path,page) def runvbs(vbs): workdir=os.environ['PROGRAMDATA']+r'\temp' if not os.path.isdir(workdir): os.mkdir(workdir) with open(workdir+r'\temprun.vbs',"w") as f : f.write(vbs) print os.popen('cscript.exe "'+workdir+r'\temprun.vbs"').read() if os.path.isfile(workdir+r'\temprun.vbs'): os.remove(workdir+r'\temprun.vbs') runvbs(vbs)