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.

Reply via email to