[python-win32] How Do You Make Your Speech or SAPI 5Voices Portable?

FT chester_lab at fltg.net
Thu Jun 26 21:23:13 CEST 2008



FT wrote:
> NOTE:
>     If you do make an executable you may also after compiling the
Voice2.py
----snip----
>     I am assuming that most of you probably have all the C dll's and such

These DLLs should have been loaded on every Windows XP by Windows
Update, so anyone with a recent system should have them.

However, that short snippet has a couple of problems.  First, you assume
that everyone's Windows directory is called "c:/windows".  Second, you
are copying all three files to the same destination name.  Instead, do
something like this:

    dest = os.path.join( os.environ['WINDIR'], 'system32' )
    for dll in ("msvcp71.dll", "mfc71.dll", "gdiplus.dll"):
        if not os.path.isfile( os.path.join( dest, dll ) ):
            shutil.copy( os.path.join( dest, dll ), os.path.join(
'dist', dll ) )

You may think this is nitpicking, and you're probably right, but once
you start trying to release code into the wild, you have to start
thinking about the issues you encounter in the strange and magical world
of the average user.

--
Tim Roberts, timr at probo.com


Hi Tim,

    Thanks for the info, but I was just placing an example. Also, I am
limited to the SP1 for my screen reader program will not work on any later
versions, thus no updates. But I had those dll's from loading other software
and not getting updates. In the end, it was just an example.

    Yes, I am new to this and that example is a good one, but I noticed that
my computer did in fact have the dll, and was not loaded, so why? Well,
py2exe had to be forced to loaded them into the directory from mine, thus my
directory path is that path and was my example

NOW:

    The real issue was my desire to find out how voices from my computer can
be loaded and sent along with my package. So I would need your expertise on
that, for you gave a nice example for the search path, now I would need to
know how py2exe can be told to load voice engines and zip them up with the
program and function at the user end. I have been told about a GUI2EXE but
when downloading that it says it is corrupted. INNO was mentioned as well,
so how would a person package into the final exe to also run the voices if
the other users  computer does not have any tts engine installed?

        Bruce



More information about the python-win32 mailing list