Questions about Installer/Builder/Standalone

Mike Callahan mcalla at home.com
Thu Jun 29 17:44:44 EDT 2000


I tried this but it did not work:

1. I copied and pasted runTk.py to the top of my script.
2. I ran simple.py to generate a proper Install_xxx.exe
3. I ran the install_xxx.exe and got the tk folder, the xxx.exe and the
support files. The tk folder is at c:\xxx\tk
4. I moved everything into a new test folder on a different machine with the
tk folder under the test folder ie. c:\test\tk.
5. I double click on xxx.exe and nothing happens.

I thought that if I moved the tk folder to the same relative position,
directly under the main folder, and I ran runTk first that my app would use
the tk at c:\test\tk. Is installutils.installCArchive() doing more than
simply unpacking?

Mike C.


"Gordon McMillan" <gmcm at hypernet.com> wrote in message
news:8F5FCDEB5gmcmhypernetcom at 199.171.54.194...
> Mike Callahan wrote:
>
> >I am playing with Gordon McMillan's Installer 0.3f for Windows and have
> >gotten it to work using freeze, simple, and standalone with non-Tkinter
> >apps. Good job Gordon! I can make a Tkinter app using simple but I
> >cannot get it to work using standalone. I know that simple does some
> >magic to get the app to use the local Tk it installs and Gordon talks
> >about it in the docs. But I cannot figure out what the magic is.
>
> Two pieces of "magic". Look in the gen_install.py from Simple. There's a
> snippet of code there that unpacks the bundled up tcl/tk:
>
> installutils.installCArchive(os.path.join(idir,'TCLlib.pkg'), idir,
> 'lib/tcl')
>
> Basically, this is unpacking TCLlib.pkg into lib/tcl (relative to where
> you're installing). That happens once. Somehow you need to get
> InstallShield to do it for you.
>
> Then, each time you run, there's some code that runs first (which you'll
> find in projects/BuildTK/runTK.py). All it does is set environment
> variables so that _tkinter will find the private tcl/tk stuff installed
> above. If you cut&paste from runTK to the top of your main script, it
> should run fine.
>
> - Gordon





More information about the Python-list mailing list