aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pymba/vimbadll.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pymba/vimbadll.py b/pymba/vimbadll.py
index c1d9430..68c8bfd 100644
--- a/pymba/vimbadll.py
+++ b/pymba/vimbadll.py
@@ -10,8 +10,17 @@ if sys_plat == "win32":
def find_win_dll(arch):
""" Finds the highest versioned windows dll for the specified architecture. """
- base = r'C:\Program Files\Allied Vision Technologies\AVTVimba_1.%i\VimbaC\Bin\Win%i\VimbaC.dll'
- dlls = [base % (i, arch) for i in range(10) if os.path.isfile(base % (i, arch)) ]
+ bases = [
+ r'C:\Program Files\Allied Vision Technologies\AVTVimba_%i.%i\VimbaC\Bin\Win%i\VimbaC.dll',
+ r'C:\Program Files\Allied Vision\Vimba_%i.%i\VimbaC\Bin\Win%i\VimbaC.dll'
+ ]
+ dlls = []
+ for base in bases:
+ for major in range(3):
+ for minor in range(10):
+ candidate = base % (major, minor, arch)
+ if os.path.isfile(candidate):
+ dlls.append(candidate)
if not dlls:
raise IOError("VimbaC.dll not found.")
return dlls[-1]