Loading ...
Sorry, an error occurred while loading the content.
 

[patch] Modern UI upgrade for Vim NSIS installer

Expand Messages
  • Guopeng Wen
    I ve upgraded the NSIS installer script to use Modern UI 2.0. You can check here for screenshots of that UI:
    Message 1 of 12 , Jul 30, 2010
      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 :)

      Regards!

      --

      Guopeng

      --
      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
    • Bram Moolenaar
      ... 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
      Message 2 of 12 , Jul 30, 2010
        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 -- Bram@... -- 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
      • Guopeng Wen
        ... I attached screenshots for English installer/uninstaller. Please find detailed description below. ... Thanks for consideration and I m all for your
        Message 3 of 12 , Jul 31, 2010
          On 07/31/2010 03:48 AM, Bram Moolenaar wrote:
          > This all sounds very good.
          >
          > Do you perhaps have a few screenshots of the Vim installer?

          I attached screenshots for English installer/uninstaller. Please
          find detailed description below.

          > 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.

          Thanks for consideration and I'm all for your decision. I'll keep
          the patch up to date, let me know when you think it's the right
          time.

          Here's description for those screenshots.

          Installer has 7 to 8 pages (language.png, install.png):

          - Language selection dialog (language.png)

          This dialog will be shown only if multiple language support has
          been enabled. It determines the language used in the following
          pages.

          User selected language (as Windows LCID) will be written to
          Windows registry:
          HKLM\SOFTWARE\Vim\Installer Language
          Global variable $LANGUAGE will also be set to that LCID.

          - Page 1 : Welcome page

          This serves as the old installation confirmation dialog. Once
          user press "next", the installer will check for running Vim
          instance, and try to uninstall any existing Vim.

          A black DOS window will flash by even if no Vim has installed.

          - Page 2 : License Agreement

          This page should be checked a little bit carefully. This is the
          pristine license page of NSIS, which makes it pretty clear
          what's been shown is a license agreement and user must agree to
          it. Please let me know if you think that's not appropriate.

          - Page 3 : Components

          Detailed description of components will be shown here.

          - Page 4 : Destination Path

          The installer will check for running Vim instance again when
          user press "install".

          - Page 5 : Installation

          There is a noticeable pause near the end when "install.exe"
          being executed silently (2s delay in install.exe).

          - Page 6 : Finish

          User can determine whether README.txt should be shown or not on
          this page.


          Uninstaller has 4 pages (uninstall.png):

          - Page 1: Confirmation.

          - Page 2: Components

          Combination of components will be checked to make sure it's
          valid. Vim installation root is not allowed to be removed if
          user choose to keep some components under it.

          Uninstaller will check for running instances of Vim once user
          press "Uninstall".

          - Page 3: Uninstallation

          Noticeable pause when "Unregistering Vim ...", as
          "uninstall.exe" is been executed silently there.

          - Page 4: Finish

          If some components cannot be removed without reboot, the reboot
          selections will be shown on this page. Otherwise, those
          selections won't be shown. This is a nice feature of NSIS.

          --

          Guopeng

          --
          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
        • Tony Mechelynck
          ... Hm, I m not concerned (since I m on Linux), but it seems to go in the opposite direction to Steve Hall s one-click installer. What about a first page
          Message 4 of 12 , Jul 31, 2010
            On 31/07/10 15:56, Guopeng Wen wrote:
            > On 07/31/2010 03:48 AM, Bram Moolenaar wrote:
            >> This all sounds very good.
            >>
            >> Do you perhaps have a few screenshots of the Vim installer?
            >
            > I attached screenshots for English installer/uninstaller. Please
            > find detailed description below.
            >
            >> 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.
            >
            > Thanks for consideration and I'm all for your decision. I'll keep
            > the patch up to date, let me know when you think it's the right
            > time.
            >
            > Here's description for those screenshots.
            >
            > Installer has 7 to 8 pages (language.png, install.png):
            >
            > - Language selection dialog (language.png)
            >
            > This dialog will be shown only if multiple language support has
            > been enabled. It determines the language used in the following
            > pages.
            >
            > User selected language (as Windows LCID) will be written to
            > Windows registry:
            > HKLM\SOFTWARE\Vim\Installer Language
            > Global variable $LANGUAGE will also be set to that LCID.
            >
            > - Page 1 : Welcome page
            >
            > This serves as the old installation confirmation dialog. Once
            > user press "next", the installer will check for running Vim
            > instance, and try to uninstall any existing Vim.
            >
            > A black DOS window will flash by even if no Vim has installed.
            >
            > - Page 2 : License Agreement
            >
            > This page should be checked a little bit carefully. This is the
            > pristine license page of NSIS, which makes it pretty clear
            > what's been shown is a license agreement and user must agree to
            > it. Please let me know if you think that's not appropriate.
            >
            > - Page 3 : Components
            >
            > Detailed description of components will be shown here.
            >
            > - Page 4 : Destination Path
            >
            > The installer will check for running Vim instance again when
            > user press "install".
            >
            > - Page 5 : Installation
            >
            > There is a noticeable pause near the end when "install.exe"
            > being executed silently (2s delay in install.exe).
            >
            > - Page 6 : Finish
            >
            > User can determine whether README.txt should be shown or not on
            > this page.
            >
            >
            > Uninstaller has 4 pages (uninstall.png):
            >
            > - Page 1: Confirmation.
            >
            > - Page 2: Components
            >
            > Combination of components will be checked to make sure it's
            > valid. Vim installation root is not allowed to be removed if
            > user choose to keep some components under it.
            >
            > Uninstaller will check for running instances of Vim once user
            > press "Uninstall".
            >
            > - Page 3: Uninstallation
            >
            > Noticeable pause when "Unregistering Vim ...", as
            > "uninstall.exe" is been executed silently there.
            >
            > - Page 4: Finish
            >
            > If some components cannot be removed without reboot, the reboot
            > selections will be shown on this page. Otherwise, those
            > selections won't be shown. This is a nice feature of NSIS.
            >

            Hm, I'm not concerned (since I'm on Linux), but it seems to go in the
            opposite direction to Steve Hall's "one-click" installer.

            What about a first page with two radio buttons:

            (*) Standard install
            ( ) Custom install

            ? The first option would install Vim with "typical" settings (and
            sufficiently powerful to let the user customize it later via vimrc
            etc.), bypassing all those menus of yours, which would appear if the
            user selects "Custom install"?


            Best regards,
            Tony.
            --
            He wasn't much of an actor, he wasn't much of a Governor -- Hell, they
            _HAD_ to make him President of the United States. It's the only job he's
            qualified for!
            -- Michael Cain

            --
            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
          • Guopeng Wen
            ... Hmmm, one-click is not powerful enough, how about no-click :) You just brought up another topic I m trying to touch. NSIS installer is in fact quite
            Message 5 of 12 , Jul 31, 2010
              On 07/31/2010 10:46 PM, Tony Mechelynck wrote:
              > Hm, I'm not concerned (since I'm on Linux), but it seems to go in the
              > opposite direction to Steve Hall's "one-click" installer.
              >
              > What about a first page with two radio buttons:
              >
              > (*) Standard install
              > ( ) Custom install
              >
              > ? The first option would install Vim with "typical" settings (and
              > sufficiently powerful to let the user customize it later via vimrc
              > etc.), bypassing all those menus of yours, which would appear if the
              > user selects "Custom install"?
              >
              >
              > Best regards,
              > Tony.

              Hmmm, "one-click" is not powerful enough, how about "no-click" :)

              You just brought up another topic I'm trying to touch. NSIS
              installer is in fact quite flexible - it can be executed "silently".
              That is, slap some control parameters on command line, it can run
              from beginning to end. Well, it cannot happen automatically, you
              need to do something in the script to make that happen. It's used
              for mass installation, which is apparently appealing to Linux users
              who also use Windows (like me). Silent installer is in fact one of
              the TODO item of Vim. Does it sound like what you expected?

              Here's some of design issues I have not decided yet:

              - Control granularity?
              Just let user specifies installation type, or makes it possible to
              specify which component to install (needs config file for this).
              I think installation type should probably be OK.

              - Error handing?
              When should installer do if it found Vim has already installed?
              Vim instance still running? I think the dumb solution should be
              use - just panic and abort.

              - Log?
              I have not tried that yet. Apparently some kind of log should be
              create during silent installation, so the user can check if
              something go wrong. However, it seems default build of NSIS has
              not enabled logging. You need a custom build to enable that.

              Feedbacks are welcomed.

              --
              Guopeng

              --
              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
            • gongqian li
              ... What about a portable version like the one created in http://portableapps.com/news/2009-10-13_-_gvim_portable_7.2 which doesn t depend on windows registry?
              Message 6 of 12 , Jul 31, 2010
                On Sat, Jul 31, 2010 at 8:34 AM, Guopeng Wen <wenguopeng@...> wrote:
                On 07/31/2010 10:46 PM, Tony Mechelynck wrote:
                Hm, I'm not concerned (since I'm on Linux), but it seems to go in the
                opposite direction to Steve Hall's "one-click" installer.

                What about a first page with two radio buttons:

                (*) Standard install
                ( ) Custom install

                ? The first option would install Vim with "typical" settings (and
                sufficiently powerful to let the user customize it later via vimrc
                etc.), bypassing all those menus of yours, which would appear if the
                user selects "Custom install"?


                Best regards,
                Tony.

                Hmmm, "one-click" is not powerful enough, how about "no-click" :)

                You just brought up another topic I'm trying to touch.  NSIS
                installer is in fact quite flexible - it can be executed "silently".
                That is, slap some control parameters on command line, it can run
                from beginning to end.  Well, it cannot happen automatically, you
                need to do something in the script to make that happen.  It's used
                for mass installation, which is apparently appealing to Linux users
                who also use Windows (like me).  Silent installer is in fact one of
                the TODO item of Vim.  Does it sound like what you expected?

                Here's some of design issues I have not decided yet:

                - Control granularity?
                 Just let user specifies installation type, or makes it possible to
                 specify which component to install (needs config file for this).
                 I think installation type should probably be OK.

                - Error handing?
                 When should installer do if it found Vim has already installed?
                 Vim instance still running?  I think the dumb solution should be
                 use - just panic and abort.

                - Log?
                 I have not tried that yet.  Apparently some kind of log should be
                 create during silent installation, so the user can check if
                 something go wrong.  However, it seems default build of NSIS has
                 not enabled logging.  You need a custom build to enable that.

                Feedbacks are welcomed.

                --
                Guopeng


                --
                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
                 
                What about a portable version like the one created in http://portableapps.com/news/2009-10-13_-_gvim_portable_7.2 which doesn't depend on windows registry? that will be really nice.
                 
                thanks
                 
                gong

                --
                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
              • Tony Mechelynck
                ... If Vim is already installed, not running, and lower version (or same version and lower patchlevel), maybe no panic but default to upgrade? (if different
                Message 7 of 12 , Jul 31, 2010
                  On 31/07/10 17:34, Guopeng Wen wrote:
                  > On 07/31/2010 10:46 PM, Tony Mechelynck wrote:
                  >> Hm, I'm not concerned (since I'm on Linux), but it seems to go in the
                  >> opposite direction to Steve Hall's "one-click" installer.
                  >>
                  >> What about a first page with two radio buttons:
                  >>
                  >> (*) Standard install
                  >> ( ) Custom install
                  >>
                  >> ? The first option would install Vim with "typical" settings (and
                  >> sufficiently powerful to let the user customize it later via vimrc
                  >> etc.), bypassing all those menus of yours, which would appear if the
                  >> user selects "Custom install"?
                  >>
                  >>
                  >> Best regards,
                  >> Tony.
                  >
                  > Hmmm, "one-click" is not powerful enough, how about "no-click" :)
                  >
                  > You just brought up another topic I'm trying to touch. NSIS
                  > installer is in fact quite flexible - it can be executed "silently".
                  > That is, slap some control parameters on command line, it can run
                  > from beginning to end. Well, it cannot happen automatically, you
                  > need to do something in the script to make that happen. It's used
                  > for mass installation, which is apparently appealing to Linux users
                  > who also use Windows (like me). Silent installer is in fact one of
                  > the TODO item of Vim. Does it sound like what you expected?
                  >
                  > Here's some of design issues I have not decided yet:
                  >
                  > - Control granularity?
                  > Just let user specifies installation type, or makes it possible to
                  > specify which component to install (needs config file for this).
                  > I think installation type should probably be OK.
                  >
                  > - Error handing?
                  > When should installer do if it found Vim has already installed?
                  > Vim instance still running? I think the dumb solution should be
                  > use - just panic and abort.
                  >
                  > - Log?
                  > I have not tried that yet. Apparently some kind of log should be
                  > create during silent installation, so the user can check if
                  > something go wrong. However, it seems default build of NSIS has
                  > not enabled logging. You need a custom build to enable that.
                  >
                  > Feedbacks are welcomed.
                  >

                  If Vim is already installed, not running, and lower version (or same
                  version and lower patchlevel), maybe no panic but default to upgrade?
                  (if different version, leave the "old" $VIMRUNTIME in place? Remove it?
                  Let the user decide?)

                  If already running, then clear error message: something like "Vim is
                  already running. Please quit Vim before upgrading" or similar. Or if
                  possible (if the running instance has +clientserver) maybe close the
                  existing Vim by means of the client-server facility (after asking user's
                  permission)

                  If at all possible, IMHO a log should be produced for every
                  installation, silent or otherwise (and if the logfile already exists,
                  append to it, maybe with a datestamp first to separate successive logs).


                  Best regards,
                  Tony.
                  --
                  Kirkland, Illinois, law forbids bees to fly over the village or through
                  any of its streets.

                  --
                  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
                • Tux
                  ... I would propose a message box that tells the user to exit Vim first and continues the installation after clicking OK or something. It would be the
                  Message 8 of 12 , Jul 31, 2010
                    Guopeng Wen schrob am 31.07.2010 17:34:

                    > When should installer do if it found Vim has already installed?
                    > Vim instance still running?

                    I would propose a message box that tells the user to exit Vim first and
                    continues the installation after clicking "OK" or something. It would be
                    the easiest way IMO.

                    BTW while you're at it, what about a better sidebar banner? The existing
                    one looks rather boring. I'm not really good with GFX, but maybe someone
                    from this list could do it.

                    --
                    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
                  • Guopeng Wen
                    Resend, previous reply send to Tony only. Sorry to the duplicated message, Tony. On Sun, Aug 1, 2010 at 7:22 AM, Tony Mechelynck ... Sorry I didn t make it
                    Message 9 of 12 , Aug 1, 2010
                      Resend, previous reply send to Tony only. Sorry to the duplicated
                      message, Tony.

                      On Sun, Aug 1, 2010 at 7:22 AM, Tony Mechelynck
                      <antoine.mechelynck@...> wrote:
                      > On 31/07/10 17:34, Guopeng Wen wrote:
                      >>
                      >> On 07/31/2010 10:46 PM, Tony Mechelynck wrote:
                      >>>
                      >>> Hm, I'm not concerned (since I'm on Linux), but it seems to go in the
                      >>> opposite direction to Steve Hall's "one-click" installer.
                      >>>
                      >>> What about a first page with two radio buttons:
                      >>>
                      >>> (*) Standard install
                      >>> ( ) Custom install
                      >>>
                      >>> ? The first option would install Vim with "typical" settings (and
                      >>> sufficiently powerful to let the user customize it later via vimrc
                      >>> etc.), bypassing all those menus of yours, which would appear if the
                      >>> user selects "Custom install"?
                      >>>
                      >>>
                      >>> Best regards,
                      >>> Tony.
                      >>
                      >> Hmmm, "one-click" is not powerful enough, how about "no-click" :)
                      >>
                      >> You just brought up another topic I'm trying to touch. NSIS
                      >> installer is in fact quite flexible - it can be executed "silently".
                      >> That is, slap some control parameters on command line, it can run
                      >> from beginning to end. Well, it cannot happen automatically, you
                      >> need to do something in the script to make that happen. It's used
                      >> for mass installation, which is apparently appealing to Linux users
                      >> who also use Windows (like me). Silent installer is in fact one of
                      >> the TODO item of Vim. Does it sound like what you expected?
                      >>
                      >> Here's some of design issues I have not decided yet:
                      >>
                      >> - Control granularity?
                      >> Just let user specifies installation type, or makes it possible to
                      >> specify which component to install (needs config file for this).
                      >> I think installation type should probably be OK.
                      >>
                      >> - Error handing?
                      >> When should installer do if it found Vim has already installed?
                      >> Vim instance still running? I think the dumb solution should be
                      >> use - just panic and abort.
                      >>
                      >> - Log?
                      >> I have not tried that yet. Apparently some kind of log should be
                      >> create during silent installation, so the user can check if
                      >> something go wrong. However, it seems default build of NSIS has
                      >> not enabled logging. You need a custom build to enable that.
                      >>
                      >> Feedbacks are welcomed.
                      >>
                      >
                      > If Vim is already installed, not running, and lower version (or same version
                      > and lower patchlevel), maybe no panic but default to upgrade? (if different
                      > version, leave the "old" $VIMRUNTIME in place? Remove it? Let the user
                      > decide?)
                      >
                      > If already running, then clear error message: something like "Vim is already
                      > running. Please quit Vim before upgrading" or similar. Or if possible (if
                      > the running instance has +clientserver) maybe close the existing Vim by
                      > means of the client-server facility (after asking user's permission)

                      Sorry I didn't make it clear that those "design issues" I listed
                      above are for silent mode only. For normal mode, the installer
                      behaves mostly like what you described, except that it won't close
                      any open Vim automatically, which I think is too dangerous to do.
                      Silent mode is different in that you should not ask for any user
                      feedback once started.

                      > If at all possible, IMHO a log should be produced for every installation,
                      > silent or otherwise (and if the logfile already exists, append to it, maybe
                      > with a datestamp first to separate successive logs).

                      I agree install log is a nice thing to have. There's a few
                      approaches to do it, but most of them needs whoever build Vim
                      installer do something different (a custom build of NSIS, or add
                      more plugins). I'll check if there's less intrusive way to do it.

                      >
                      > Best regards,
                      > Tony.

                      Regards!
                      Guopeng

                      --
                      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
                    • Guopeng Wen
                      ... See my reply to Tony. ... That s the pristine banner from NSIS. Yes it s better to use a banner for Vim. I m not good at artwork either, so, I m
                      Message 10 of 12 , Aug 1, 2010
                        On Sun, Aug 1, 2010 at 7:57 AM, Tux <der_tuxman@...> wrote:
                        > Guopeng Wen schrob am 31.07.2010 17:34:
                        >
                        >>    When should installer do if it found Vim has already installed?
                        >>    Vim instance still running?
                        >
                        > I would propose a message box that tells the user to exit Vim first and
                        > continues the installation after clicking "OK" or something. It would be
                        > the easiest way IMO.

                        See my reply to Tony.

                        > BTW while you're at it, what about a better sidebar banner? The existing
                        > one looks rather boring. I'm not really good with GFX, but maybe someone
                        > from this list could do it.

                        That's the pristine banner from NSIS. Yes it's better to use a
                        banner for Vim. I'm not good at artwork either, so, I'm expecting
                        other talented guys to create one to be used in the installer.

                        Regards!

                        Guopeng

                        --
                        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
                      • Guopeng Wen
                        ... I checked the web site you mentioned. It seems that s a different installation system (although it s based on NSIS, if I read correctly). That means if
                        Message 11 of 12 , Aug 1, 2010
                          On Sat, Jul 31, 2010 at 11:57 PM, gongqian li <gongqian@...> wrote:
                          > What about a portable version like the one created in
                          > http://portableapps.com/news/2009-10-13_-_gvim_portable_7.2%c2%a0which doesn't
                          > depend on windows registry? that will be really nice.

                          I checked the web site you mentioned. It seems that's a different
                          installation system (although it's based on NSIS, if I read
                          correctly). That means if we build that installer, we may have to
                          distributed two different installers for Windows. Please note I
                          have not checked if its license allow us to distribute such
                          installer directly or not. Anyway, it does not look like I can make
                          the decision to include such installer in Vim distribution.

                          That said, I assume you've tried that distribution yourself, I'm
                          curious about whether it provides shell extension etc. or not. Does
                          it provides context menu (the "Open with Vim" right mouse click
                          menu)? If you run "gvim" directly from command line in any
                          directory, could it launch Vim? Does it provide MS Visual Studio
                          integration?

                          If answer to all of those questions are no, maybe we can do emulate
                          that by leaving out some components. But I'm afraid things are more
                          complex than that.

                          Regards!

                          Guopeng

                          --
                          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
                        • Tony Mechelynck
                          ... [...] ... Boring or not, those graphics have the merit of being consistent with Windows installers for various programs. I think they are acceptable. If
                          Message 12 of 12 , Aug 1, 2010
                            On 01/08/10 09:50, Guopeng Wen wrote:
                            > On Sun, Aug 1, 2010 at 7:57 AM, Tux<der_tuxman@...> wrote:
                            [...]
                            >> BTW while you're at it, what about a better sidebar banner? The existing
                            >> one looks rather boring. I'm not really good with GFX, but maybe someone
                            >> from this list could do it.
                            >
                            > That's the pristine banner from NSIS. Yes it's better to use a
                            > banner for Vim. I'm not good at artwork either, so, I'm expecting
                            > other talented guys to create one to be used in the installer.
                            >
                            > Regards!
                            >
                            > Guopeng
                            >

                            Boring or not, those graphics have the merit of being "consistent" with
                            Windows installers for various programs. I think they are acceptable.

                            If we want to design a specific image for Vim, IMHO it would have to
                            - be based on the Vim "V" or "Vim" logo
                            - not be so trendy that next year it'd be out of fashion
                            - not make the text hard to read, not even for colour-blind people.
                            The latter probably implies either (a) text outside the image, or (b)
                            text inside the image, but on a relatively flat-coloured part of it, and
                            in contrasting tones (white text on dark BG, black text on light BG, etc.).


                            Best regards,
                            Tony.
                            --
                            "He's not pining, he's passed on! This parrot won't squawk! He's
                            ceased to be! He's expired, and gone to meet his maker! It's a
                            stiff! No breath of life, he may rest in peace! If you hadn't nailed
                            him to the perch, he'd be pushing up the daisies! He's off the twig!
                            He's kicked the bucket! He's curled up his tooties! He's shuffled off
                            this mortal world! He's run down the curtain, and joined the bleed'n
                            Choir Invincible! HE'S FUCKING SNUFFED IT! Vis-a-vi his metabolic
                            processes is head is lost. All statements concerning this parrot is no
                            longer a going concern, after from now on, Inoperative...

                            THIS IS AN EX-PARROT!!

                            --
                            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
                          Your message has been successfully submitted and would be delivered to recipients shortly.