Guopeng Wen wrote:

> I've upgraded the NSIS installer script to use Modern UI 2.0.  You
> can check here for screenshots of that UI:
>     http://nsis.sourceforge.net/Docs/Modern%20UI%202/Readme.html
> It's basically what the "state of the art" Windows installer
> generally look like.
> 
> I've added quite some UI sugar, as well as multiple language support
> to the installer (disabled by default).  You can find detailed
> changelog below.  The change is extensive but the functionality is
> still the same (exactly the same files will be installed/removed).
> I've tested it on Windows XP.  No more irritating pop up dialogs.
> And should I say, the new UI looks sleeker.
> 
> Modification are limited to the "nsis/" directory.  For future
> enhancement, "dosinst.c" might be changed (see below).  Nothing else
> has been touched.
> 
> Three new files are added under "nsis/" for multiple language
> support:
>     lang-english.nsi
>     lang-simpchinese.nsi
>     lang-tradchinese.nsi
> Only the first one is necessary unless you enabled multiple language
> support (see below).
> 
> The patch is created against mercurial changeset aaa953373c91.
> Please be aware the patch contains characters coded in cp936 and
> big5, so I send it as an attachment.  Let's hope it gets through
> correctly.
> 
> If you build your own Windows installer, please test.  You feedback
> are greatly appreciated.
> 
> Here's the detail changelog:
> 
> - Upgraded to Modern UI (MUI) 2.0.  Now NSIS 2.34 is the minimum
>   requirement.
> 
> - Eliminated all pop-up message boxes used to ask for user input.
> 
>   * The functionality of confirmation popup in the installer is
>     replaced with the "Welcome" page of the MUI.
>   * The "Should I show README" popup is replaced with the "Show
>     README" checkbox in the "Finish" page of the MUI.
>   * Various popups in the uninstaller asking user for removal choice
>     are now replaced with a component selection page, user can
>     tailor what to remove/keep with that page.  User selection will
>     be checked to make sure the combination is valid.
> 
> - Detailed description for each component
> 
>   MUI makes it possible to add detailed description for each
>   component to be installed/removed.  If you hover the mouse pointer
>   over the component list, detailed description of those components
>   will be shown.  Such description is also used to explain the
>   impact of component removal.
> 
> - All other popups (mainly for error reporting) will be suppressed
>   in silent install mode.
> 
> - Detect running instances of Vim before installer/uninstaller made
>   any real change.  Vim console version is executed to enum active
>   servers (--serverlist) for this purpose.
> 
> - Suppress the (ugly) DOS command windows in installer/uninstaller.
> 
>   "install.exe" and "uninstall.exe" are now executed using
>   "nsExec::ExecToLog", no DOS command window will be opened. The
>   output will be captured and sent to detail log.
> 
>   Please note Vim installer will try to remove installed version of
>   Vim using "install.exe  -uninstall-check", that DOS command window
>   has not been suppressed as user may need to press a key.
> 
>   Possible future enhancement:
>   * install.exe/uninstall.exe now wait 2 seconds before exit to make
>     sure user see what's displayed.  As the output has been captured
>     and shown in the detail window, we may eliminate this with a new
>     command line options.
>   * With "-install-check", install.exe will try to detect
>     uninstaller window and wait for it to finish.  Window caption is
>     used for such detection, which is unreliable when multiple
>     language installer is in use (see below).  We may switch to
>     monitor Vim registry key instead.
> 
> - Multiple language support (disabled by default)
> 
>   Among all text editors I've checked, Vim offers the best native
>   language support.  It's a pity that its installer does not support
>   that.
> 
>   I've modified the script so that it's now possible to support
>   multiple languages, using installer of Inkscape as primary
>   reference.  I've added support for 3 languages:
>   * lang-english.nsi     : English language strings
>   * lang-simpchinese.nsi : Simplified Chinese language strings
>   * lang-tradchinese.nsi : Traditional Chinese language strings
> 
>   Please note the quality of Traditional Chinese language strings
>   may not be good since I'm not an active user, parlance used there
>   could be terrible.  Traditional Chinese users are welcomed to
>   review that file.
> 
>   Multiple language support is controlled by the "HAVE_MULTI_LANG"
>   macro, it's not defined by default, in which case only
>   "language-english.nsi" will be used and the installer language is
>   English.
> 
>   Once "HAVE_MULTI_LANG" defined, all language files will be used,
>   and the installer will ask user to choose language at the
>   beginning.
> 
>   Possible future enhancement/caveats:
>   * We may use the language selected in the installer to control
>     menu language of Vim, by writing appropriate option (langmenu)
>     in the default vimrc.
>   * Need volunteers to add support for other languages.  Currently
>     number of supported languages are very limited so it might not
>     be a good idea to enable multiple language support by default.
>   * Language files must be created in various legacy
>     ANSI codepages at present.  UNICODE support has already been
>     merged to NSIS mainline, a new UNICODE capable version of NSIS
>     might be released soon.  It might be better to enable full scale
>     multiple language support until then as it's a lot easier to
>     maintain language files in UTF-8.
> 
> - Verifies installation path before uninstallation
> 
>   As the uninstaller could remove all files under the installation
>   path, this is necessary to guard against corrupted installation
>   path.
> 
> - Other code structure changes:
>   * Rewrite all logic control structures with LogicLib for better
>     readability.
>   * Add macro to make it easier to exclude VisVim.  That DLL is not
>     easy to build.
>   * Use consistent indent in the script.  Well, don't hate me for
>     changing indent :)

This all sounds very good.

Do you perhaps have a few screenshots of the Vim installer?

Unfortunately it's too close to the 7.3 release to include now.  And
there are still improvements to do.  I hope we can include it later.

-- 
Eye have a spelling checker, it came with my PC;
It plainly marks four my revue mistakes I cannot sea.
I've run this poem threw it, I'm sure your please to no,
It's letter perfect in it's weigh, my checker tolled me sew!

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui