OSDN Git Service

installer: Fix errors.
authorJames Teh <jamie@jantrid.net>
Thu, 11 Aug 2011 06:09:48 +0000 (16:09 +1000)
committerJames Teh <jamie@jantrid.net>
Thu, 11 Aug 2011 06:09:48 +0000 (16:09 +1000)
source/installer.py

index f4c5331..2154cf3 100644 (file)
@@ -15,16 +15,16 @@ def _getWSH():
        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
@@ -35,7 +35,7 @@ def createShortcut(path,targetPath=None,arguments=None,iconLocation=None,working
 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
@@ -65,7 +65,6 @@ def getDocFilePath(fileName,installDir):
 \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
@@ -116,21 +115,22 @@ def registerInstallation(installDir,startMenuFolder,shouldInstallService,shouldC
                        _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
@@ -141,7 +141,7 @@ def unregisterInstallation(forUpdate=False):
        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
@@ -151,7 +151,7 @@ def unregisterInstallation(forUpdate=False):
        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