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) 
