'Return path to an MSVC executable program.
Tries to find the program in several places: first, one of the
MSVC program search paths from the registry; next, the directories
in the PATH environment variable.  If any of those work, return an
absolute path that is known to exist.  If none of them work, just
return the original program name, \'exe\'.'

def find_exe(self, exe):

    for p in self.__paths:
        fn = os.path.join(os.path.abspath(p), exe)
        if os.path.isfile(fn):
            return fn
    for p in os.environ['Path'].split(';'):
        fn = os.path.join(os.path.abspath(p), exe)
        if os.path.isfile(fn):
            return fn
    return exe
