diff -ur --ignore-file-name-case /Users/jkp/Desktop/pyinstaller/bindepend.py /Users/jkp/Desktop/pyinstaller-patched/bindepend.py
--- /Users/jkp/Desktop/pyinstaller/bindepend.py	2008-11-03 07:17:20.000000000 +0000
+++ /Users/jkp/Desktop/pyinstaller-patched/bindepend.py	2008-11-03 13:46:22.000000000 +0000
@@ -77,6 +77,9 @@
       'PSAPI.DLL':1,
       'MSVCP80.DLL':1,
       'MSVCR80.DLL':1,
+      'MSVCP90.DLL':1,
+      'MSVCR90.DLL':1,
+      'python26.dll':1,
       # regex excludes
       '^/usr/lib':1,
       '^/lib':1,
@@ -306,22 +309,22 @@
             # all other platforms
             npth = getfullnameof(lib, xtrapath)
 
-        # now npth is a candidate lib
+        # now npth is a candidate lib if found
         # check again for excludes but with regex FIXME: split the list
-        if excludesRe.search(npth):
-            if 'libpython' not in npth and 'Python.framework' not in npth:
+        candidatelib = npth if npth else lib
+        if excludesRe.search(candidatelib):
+            if 'libpython' not in candidatelib and 'Python.framework' not in candidatelib:
                 # skip libs not containing (libpython or Python.framework)
-                #print "I: skipping %20s <- %s" % (npth, pth)
+                # print "I: skipping %20s <- %s" % (npth, pth)
                 continue
             else:
-                #print "I: inserting %20s <- %s" % (npth, pth)
+                # print "I: inserting %20s <- %s" % (npth, pth)
                 pass
 
         if npth:
             rv.append((lib, npth))
         else:
             print "E: lib not found:", lib, "dependency of", pth
-
     return rv
 
 def _getImports_ldd(pth):
 
diff -ur --ignore-file-name-case /Users/jkp/Desktop/pyinstaller/iu.py /Users/jkp/Desktop/pyinstaller-patched/iu.py
--- /Users/jkp/Desktop/pyinstaller/iu.py	2008-11-03 07:17:20.000000000 +0000
+++ /Users/jkp/Desktop/pyinstaller-patched/iu.py	2008-11-03 13:17:46.000000000 +0000
@@ -28,7 +28,6 @@
 #
 # **NOTE** This module is used during bootstrap. Import *ONLY* builtin modules.
 #
-
 import sys
 import imp
 import marshal
@@ -145,7 +144,7 @@
             try:
                 self.__zip = zipimport.zipimporter(path)
             except zipimport.ZipImportError, e:
-                raise OwnerError('%s: %s' % (e.message, path))
+                raise OwnerError('%s: %s' % (str(e), path))
             Owner.__init__(self, path)
 
         def getmod(self, nm, newmod=imp.new_module):
@@ -345,6 +344,7 @@
         __builtin__.reload = self.reloadHook
 
     def importHook(self, name, globals=None, locals=None, fromlist=None, level=-1):
+        
         # first see if we could be importing a relative name
         #print "importHook(%s, %s, locals, %s)" % (name, getattr(globals, '__name__', None), fromlist)
         _sys_modules_get = sys.modules.get
@@ -354,6 +354,9 @@
         # break the name being imported up so we get:
         # a.b.c -> [a, b, c]
         nmparts = namesplit(name)
+        
+        if len(nmparts) and nmparts[0] == "encodings":
+            level = -1
 
         if not globals:
             contexts = [None]
@@ -364,7 +367,7 @@
             contexts = [None]
         else: # level != 0
             importernm = globals.get('__name__', '')
-            print 'importernm', importernm
+            # print 'importernm', importernm
             if level < 0:
                 # behaviour up to Python 2.4 (and default in Python 2.5)
                 # add the package to searched contexts
@@ -375,7 +378,7 @@
                     raise ImportError("Relative import requires package")
                 importernm = _string_split(importernm, '.')[:-level]
                 importernm = _string_join('.', importernm)
-                contexts = []
+                contexts = [None]
             if importernm:
                 if hasattr(_sys_modules_get(importernm), '__path__'):
                     # If you use the "from __init__ import" syntax, the package
@@ -463,7 +466,7 @@
                 if not importfunc:
                     subimporter = PathImportDirector(parent.__path__)
                     importfunc = parent.__importsub__ = subimporter.getmod
-                print importfunc
+                #print importfunc
                 mod = importfunc(nm)
                 if mod and not reload:
                     setattr(parent, nm, mod)
