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