From 3b50b5c9971acfcc49e11a732061ce1414211ab2 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 20 Nov 2008 22:03:50 +0000 Subject: Fall back to using built-in db rather than registry when some clever person decides to try installing a win32 binary on their linux box. git-svn-id: file:///home/or/svnrepo/updater/trunk@17340 55e972cd-5a19-0410-ae62-a4d7a52db4cd --- lib/thandy/packagesys/ExePackages.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'lib/thandy/packagesys/ExePackages.py') diff --git a/lib/thandy/packagesys/ExePackages.py b/lib/thandy/packagesys/ExePackages.py index e5b843b..9bda833 100644 --- a/lib/thandy/packagesys/ExePackages.py +++ b/lib/thandy/packagesys/ExePackages.py @@ -57,19 +57,25 @@ class ExePackageHandle(pdb.DBBackedPackageHandle): def getInstalledVersion(self, transaction=None): if self._registry_ent != None: - ver = thandy.util.getRegistryValue(self._registry_ent[0]) - if ver != None: - return ver - else: - return pdb.DBBackedPackageHandle.getInstalledVersion(self, transaction) + try: + ver = thandy.util.getRegistryValue(self._registry_ent[0]) + if ver != None: + return ver + except thandy.util.NoRegistry: + pass + + return pdb.DBBackedPackageHandle.getInstalledVersion(self, transaction) def isInstalled(self, transaction=None): if self._registry_ent != None: - ver = thandy.util.getRegistryValue(self._registry_ent[0]) - if ver == self._registry_ent[1]: - return True - else: - return pdb.DBBackedPackageHandle.isInstalled(self, transaction) + try: + ver = thandy.util.getRegistryValue(self._registry_ent[0]) + if ver == self._registry_ent[1]: + return True + except thandy.util.NoRegistry: + pass + + return pdb.DBBackedPackageHandle.isInstalled(self, transaction) def _doInstall(self): -- cgit v1.2.3