On Oct 27, 11:56 am, "Edward K. Ream" <[email protected]> wrote:
> On to custom pages! After 15+ hours of work today the installer is ready for the a1 release. The latest checkin log fails to mention that the installer now has a custom page that prompts the user for the Python folder, with a very good guess as a default. This is a *huge* step forward. It took several hours of wandering around the docs (which are really cool in content, but miserable in helpfulness and organization) before I suddenly saw the way forward. Basically one "hijacks" an existing Modern ui Wizard page. It's all quite valid: it's explicitly stated that running pages repeatedly is fine. But one has to change all the text prompts. It reminds me of old-time macro languages: usable in a bizarre way. Anyway, we now have a complete solution to the "where is python" problem. Here is the checkin Log for rev 3576: QQQQQ A huge amount of work has gone into minor tweaks. Status ==== 1. The entire install directory is now removed if possible. Care is taken not to remove potentially valuable files. The problem with not removing uninst.exe was just a blunder in the creating the uninstall list. 2. There appear to be problems with some kinds of directory names on Windows 7. The installer appears to be setting files and paths correctly, but still the desktop icon is not showing up as expected. The problem appears to be bizarre transformations of paths by Windows. For example, sometimes the path is c\Leo Test Directory... Notice there is no colon. My scripts are not responsible for this! 3. The code no longer messes with "backup" registery settings. Installing Leo sets the settings, and uninstalling Leo destroys them. Simplifying the settings makes testing easier. I shall not use backup registry entries unless somebody complains loudly. This has been an exhausting day of difficult work. It might be worth it :-) Imo, the installer is ready for the a1 release. QQQQQ I'm not convinced it's possible to do better than the present code. Happily, the code is now readable, so if you know something about installers you can take a look without having to wade through the obstacles that were there previously. Indeed, the entire leo.nsi file is easy to understand: @edit leo.nsi contains a few defines, and then simply imports nsi- boilerplate.txt (from the leo/dist directory) @thin nsi-boilerplate contains all the "fixed" installation code. Of course, the defines in leo.nsi affect the code, but in a completely obvious way. The Leo section imports nsi-install-files.txt, the list of NSIS install directives generated from the bzr manifest. Similarly, the Uninstall section imports nsi-uninstall-files.txt, the list of NSIS uninstall directives, again generated from the bzr manifest. Now, instead of messing with the boilerplate, the @button make-leo-nsi simply generates nsi-install-files.txt and nsi-uninstall-files.txt. So that's it. Everything is as simple as possible. Tomorrow I'll complete the docs for the a1 release and work on other last-minute items. 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.
