On Wed, Aug 26, 2009 at 11:11 AM, RobS <[email protected]> wrote: > > On Aug 25, 10:42 am, "Edward K. Ream" <[email protected]> wrote: > > Last night I retrieved the code in leoDist.leo that created the NSIS > > installer. It was in Leo 4.4; there may be a later version. Imo, Leo > > does need this installer, and it would be worth significant work to > > make it happen. > > Looking at the other threads, it seems you have a lot on your plate. > I'm new to Leo, but I'm familiar with NSIS and other windows > installers, and I'd be happy to take charge of the installer for Leo, > or help out in any way you like.
Many thanks for this offer. Yesterday I did some work on a script that will create the .nsi installer script from the output of bzr ls > bzr-manifest.txt The script is in test.leo: it's called create leo.nsi. This script and other data is now in leoDist.leo on the trunk at rev 230. Here is the checkin log: QQQ Added stuff to leoDist.leo for RobS. - The create leo.nsi script from test.leo - The node bzr-manifest.txt from test.leo - The Leo 4.x installer (from Leo 4.4.5) tree from the 4.4.5 version of leoDist.leo QQQ Notes: - The "Make Stuff (doesn't work well, to be deleted)" contains a failed hack to create a .exe file by literally pasting the .zip file created by bzr to a python-version-specific .exe distutils file. It kinda worked, but didn't really handle the registery and other issues correctly. Feel free to ignore it. - The Leo 4.x installer (from Leo 4.4.5) tree is the basis of the old nsis installer. The major problem with this approach is that all files in the distribution had to be entered by hand. This is too awful now that it's so easy to add and delete files from the repository. The subtree called "Keeping installer/uninstallers in synch" contained all this horrid work. These nodes were cloned to the section "<< Section Leo >>", which also created and destroyed directories by hand. - The point of the "create leo.nsi" script is to automate the process of specifying files in the .nsi file. At present, this script just uses print statements to show what code should be included in leo.nsi. Run the script on a smallish version of bzr-manifest.txt call small-bzr-manifest.txt. Using a small test file makes debugging easier. Also, there are performance problems in putFiles, as you will see. The idea is that the create leo.nsi script will eventually write leo.nsi as follows: 1. Write leading boilerplate. 2. Write the files/directory specific stuff following the proof-of-concept code in the present "create leo.nsi" script. 3. Write trailing boilerplate. Steps 1 and 3 are straightforward: in essence, just copy stuff from @@thin leo-4-3-nsi. I hope this general plan is clear enough. Thanks for the help, and feel free to ask questions. Edward --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en -~----------~----~----~----~------~----~------~--~---
