if not _wsh:\r
import comtypes\r
_wsh=comtypes.client.CreateObject("wScript.Shell")\r
- return _wsh\r
+ return _wsh\r
\r
def createShortcut(path,targetPath=None,arguments=None,iconLocation=None,workingDirectory=None,hotkey=None,prependSpecialFolder=None):\r
wsh=_getWSH()\r
if prependSpecialFolder:\r
- specialPath=wScript.SpecialFolders("prependSpecialFolder")\r
+ specialPath=wsh.SpecialFolders(prependSpecialFolder)\r
path=os.path.join(specialPath,path)\r
if not os.path.isdir(os.path.dirname(path)):\r
os.makedirs(path)\r
- short=wScript.CreateShortcut(path)\r
+ short=wsh.CreateShortcut(path)\r
short.TargetPath=targetPath\r
short.arguments=arguments\r
short.Hotkey=hotkey\r
def deleteShortcut(path,prependSpecialFolder=None):\r
wsh=_getWSH()\r
if prependSpecialFolder:\r
- specialPath=wScript.SpecialFolders("prependSpecialFolder")\r
+ specialPath=wsh.SpecialFolders(prependSpecialFolder)\r
path=os.path.join(specialPath,path)\r
try:\r
os.remove(path)\r
\r
def copyProgramFiles(destPath):\r
sourcePath=os.getcwdu()\r
- sourcePath=u"c:\\users\\mick\\programming\\bzr\\nvda\\work\\dist"\r
sourceConfigPath=globalVars.appArgs.configPath\r
for curSourceDir,subDirs,files in os.walk(sourcePath):\r
if os.stat(curSourceDir)==os.stat(sourceConfigPath):\r
_winreg.SetValueEx(k,name,None,_winreg.REG_SZ,value.format(installDir=installDir))\r
with _winreg.CreateKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\nvda.exe",0,_winreg.KEY_WRITE) as k:\r
_winreg.SetValueEx(k,"@",None,_winreg.REG_SZ,installDir)\r
- with _winreg.CreateKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\nvda",0,_winreg.KEY_WRITE) as k:\r
+ with _winreg.CreateKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\nvda",0,_winreg.KEY_WRITE) as k:\r
_winreg.SetValueEx(k,"startMenuFolder",None,_winreg.REG_SZ,startMenuFolder)\r
if startOnLogonScreen is not None:\r
- _winreg.SetValueEx(k,"startOnLogonScreen",None,_winreg.REG_SZ,"1" if startOnLogonScreen else "0")\r
+ _winreg.SetValueEx(k,"startOnLogonScreen",None,_winreg.REG_DWORD,int(startOnLogonScreen))\r
if shouldInstallService:\r
import nvda_service\r
nvda_service.installService(installDir)\r
nvda_service.startService()\r
NVDAExe=os.path.join(installDir,u"nvda.exe")\r
+ slaveExe=os.path.join(installDir,u"nvda_slave.exe")\r
if shouldCreateDesktopShortcut:\r
- createShortcut(u"nvda.lnk",targetPath=NVDAExe,arguments="-r",iconLocation=NVDAExe+",0",hotkey="CTRL+ALT+N",workingDirectory=installDir,prependSpecialFolder="Desktop")\r
+ createShortcut(u"nvda.lnk",targetPath=slaveExe,arguments="launchNVDA -r",iconLocation=NVDAExe+",0",hotkey="CTRL+ALT+N",workingDirectory=installDir,prependSpecialFolder="AllUsersDesktop")\r
createShortcut(os.path.join(startMenuFolder,"NVDA.lnk"),targetPath=NVDAExe,iconLocation=NVDAExe+",0",workingDirectory=installDir,prependSpecialFolder="AllUsersPrograms")\r
createShortcut(os.path.join(startMenuFolder,_("NVDA Website")+".lnk"),targetPath=versionInfo.url,prependSpecialFolder="AllUsersPrograms")\r
createShortcut(os.path.join(startMenuFolder,_("Uninstall NVDA")+".lnk"),targetPath=os.path.join(installDir,"uninstall.exe"),workingDirectory=installDir,prependSpecialFolder="AllUsersPrograms")\r
- createShortcut(os.path.join(startMenuFolder,_("Explore NVDA user configuration directory")+".lnk"),targetPath=os.path.join(installDir,"nvda_slave.exe"),arguments="exploreUserconfigPath",workingDirectory=installDir,prependSpecialFolder="AllUsersPrograms")\r
+ createShortcut(os.path.join(startMenuFolder,_("Explore NVDA user configuration directory")+".lnk"),targetPath=slaveExe,arguments="exploreUserconfigPath",workingDirectory=installDir,prependSpecialFolder="AllUsersPrograms")\r
createShortcut(os.path.join(startMenuFolder,_("Documentation"),_("Key Command quick reference")+".lnk"),targetPath=getdocFilePath("keycommands.html",installDir),prependSpecialFolder="AllUsersPrograms")\r
createShortcut(os.path.join(startMenuFolder,_("Documentation"),_("User Guide")+".lnk"),targetPath=getdocFilePath("userGuide.html",installDir),prependSpecialFolder="AllUsersPrograms")\r
\r
except:\r
pass\r
nvda_service.removeService()\r
- deleteShortcut(u"nvda.lnk",prependSpecialFolder="Desktop")\r
+ deleteShortcut(u"nvda.lnk",prependSpecialFolder="AllUsersDesktop")\r
deleteShortcut(os.path.join(startMenuFolder,"NVDA.lnk"),prependSpecialFolder="AllUsersPrograms")\r
deleteShortcut(os.path.join(startMenuFolder,_("NVDA Website")+".lnk"),prependSpecialFolder="AllUsersPrograms")\r
deleteShortcut(os.path.join(startMenuFolder,_("Uninstall NVDA")+".lnk"),prependSpecialFolder="AllUsersPrograms")\r
if not forUpdate:\r
_winreg.DeleteKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\nvda",0,None)\r
_winreg.DeleteKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\nvda.exe",0,None)\r
- _winreg.DeleteKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\nvda",0,None)\r
+ _winreg.DeleteKeyEx(_winreg.HKEY_LOCAL_MACHINE,"SOFTWARE\\nvda",0,None)\r
\r
def install(installDir,startMenuFolder,shouldInstallService=True,shouldCreateDesktopShortcut=True,shouldRunAtLogon=None,forUpdate=False):\r
unregisterInstallation(forUpdate)\r