Bleeding Edge - Source Code → 1.0.1 RC1 installer

1.0.1 RC1 installer

The icons which Win2k and Win9x systems display for the installer and the other NSIS-based programs are ugly. This appears to be caused by using a newer NSIS compiler to build the installer and the NSIS-based programs.

  • Message #141

    This appears to be caused by using a newer NSIS compiler

    Confirmed by experiments with different compilers - the problem was introduced in NSIS 2.32. The problem seems to be related to the content of the icon file: some files containing multiple images are OK, others are not.

    • Message #149

      This bug was fixed in the NSIS 2.37 compiler. A new release candidate (RC2) has been built using the new compiler.

      • Message #151

        Brian,

        The icon issue has been solved in RC2. Thanks.

        But a Japanese user find another _very_ minor problem.
        In the last dialog of the installer (add user wizard),
        the installer asks whether to show the Readme file or not.
        There's an unwanted Yen mark in this page.

        1.0.1 RC2 (and RC1) has this problem:
        http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/ShowReadme_101RC2.png

        1.0.0 is ok:
        http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/ShowReadme_100.png

        Since this string comes from the NSIS, I think this may be
        a bug of the NSIS.

        Naoki

        • Message #152

          In the last dialog of the installer (add user wizard) ... There's an unwanted Yen mark

          Thanks for the screenshots showing the problem.

          Since this string comes from the NSIS, I think this may be a bug of the NSIS.

          I agree, but at the moment I don't know where the problem is.

          NSIS 2.22 was used to build the 1.0.0 release, NSIS 2.36 was used for RC1 and NSIS 2.37 for RC2. Between NSIS 2.22 and 2.36 a lot of things changed in the way NSIS handles language strings. But the string NSIS uses to define the "Readme" text on the FINISH page is still the same as it was in NSIS 2.22:

          From the Japanese.nsh file used to build the 1.0.0 release (NSIS 2.22):

          MUI_TEXT_FINISH_SHOWREADME "Readme ‚ð•\Ž¦‚·‚é(&S)"

          From the Japanese.nsh file used to build the 1.0.1 RC2 release (NSIS 2.37):

          MUI_TEXT_FINISH_SHOWREADME "Readme ‚ð•\Ž¦‚·‚é(&S)"

          I tried a binary comparison of these two strings and found no differences.

          On Japanese systems I think the Yen mark is used to replace the "\" character in paths like C:\Data\Test and that "Readme" string contains a "\" character ... but why is it being interpreted differently now?

          The current installer uses the default NSIS text for that "Show Readme" box but NSIS allows this string to be customised. If you like I could try doing this for the next release candidate. We can test this using a very simple NSIS script.

          • Message #153

            On Japanese systems I think the Yen mark is used to replace the "\" character in paths like C:\Data\Test and that "Readme" string contains a "\" character ... but why is it being interpreted differently now?

            I think I know the answer! I tried running the 1.0.0 and 1.0.1RC2 installers on my Win98SE system and found that although the text does not appear in Japanese there is a visible difference: the "\" character is being duplicated, probably by the function used to fix paths which are displayed using the InstallOptions? plugin.

            From 1.0.0:
            http://www.sugelan.co.uk/popfile/dev/build/win98se-100.png

            From 1.01.RC2:
            http://www.sugelan.co.uk/popfile/dev/build/win98se-101rc2.png

          • Message #154

            On Japanese systems I think the Yen mark is used to replace the "\" character in paths like C:\Data\Test and that "Readme" string contains a "\" character ... but why is it being interpreted differently now?

            Yes. Some Japanese characters encoded in Shift-JIS contain the Yen mark (= "\" character) and they sometimes cause problems.
            Perhaps NSIS escapes the Yen mark by adding an extra "\" character.

            The current installer uses the default NSIS text for that "Show Readme" box but NSIS allows this string to be customised. If you like I could try doing this for the next release candidate. We can test this using a very simple NSIS script.

            OK. Let's try the customized string.
            What can I do?

            Naoki

            • Message #155

              Let's try the customized string.

              I've made a simple script that makes it easy to try using a different string for that checkbox:

              http://www.sugelan.co.uk/popfile/dev/build/readme-demo.zip

              The problem is that NSIS is passing the string through a function (NSIS2IO) which does the following conversions:

              \ gets changed to \\
              $\r gets changed to \r
              $\n gets changed to \n
              $\t gets changed to \t

              The current default string contains "\" which gets changed to "\\" and results in that Yen symbol appearing in the string.

              You will need to try find a new string that can avoid getting changed by that NSIS2IO function. Of course this will only fix the text on the FINISH page - there may be other places where text is being corrupted.

              I've reported this problem in the NSIS support forum.

              • Message #156

                Brian,

                I've made a simple script that makes it easy to try using a different string for that checkbox:

                Thanks.
                I've tested the script and found it strange.

                First, the test program has no problem. The string is exactly same as the default string, but there's no problem:

                http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/readme1.png

                Second, I replaced the line 19 with the following. But there's still no problem:

                !define MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"

                http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/readme2.png

                Third, I commented out the line 19. The problem finally appeared:

                http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/readme3.png

                I don't know why, but I like the second one. :-)

                Naoki

                • Message #157

                  Thanks for testing the script, Naoki.

                  I was hoping you'd report that the script worked. When I tested it on my Win98SE system it did not duplicate the "\" character but on my Vista system I could not be sure. Win98SE shows weird characters for that string but Vista manages to show some Japanese (or what looks like Japanese) characters for that string and I could still see a Yen symbol.

                  I'll update the installer to use "$(MUI_TEXT_FINISH_SHOWREADME)". I suppose this works because MUI does not use the NSIS2IO function if the default string is overridden in the script.

                  I need to go through all of my NSIS scripts to find the places where MUI default strings are used and make similar changes. I think all I need to worry about are the strings on the WELCOME and FINISH pages but I am not sure as I use so many strings in my NSIS-based programs!

                  I've also posted an update in the NSIS support forum to let others know about this workaround.

                  • Message #158

                    I'll update the installer to use "$(MUI_TEXT_FINISH_SHOWREADME)". I suppose this works because MUI does not use the NSIS2IO function if the default string is overridden in the script.

                    Thanks.

                    I need to go through all of my NSIS scripts to find the places where MUI default strings are used and make similar changes. I think all I need to worry about are the strings on the WELCOME and FINISH pages but I am not sure as I use so many strings in my NSIS-based programs!

                    As for Japanese, there's no problem except for the 'ShowReadme?'.
                    I've searched the backslash character in the NSIS's default strings with the following script:

                    perl -e "while(<>){print if (/\\[^rnt]/);}" < Japanese.nsh</code>
                    

                    I've found five backslashes in Japanese.nsh and four in Japanese.nlf.

                    In Japanese.nsh:

                      ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "契約書のすべての条件に同意するならば、下に表示されているオプションのうち、最初のものを選んで下さい。$(^NameDA) をインストールするには、契約書に同意する必要があります。 $_CLICK"
                      ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "契約書のすべての条件に同意するならば、下に表示されているオプションのうち、最初のものを選んで下さい。$(^NameDA) をアンインストールするには、契約書に同意する必要があります。 $_CLICK"
                        ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "コンポーネントの上にマウス カーソルを移動すると、ここに説明が表示されます。"
                        ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "コンポーネントの上にマウス カーソルを移動すると、ここに説明が表示されます。"
                      ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Readme を表示する(&S)"
                    

                    In Japanese.nlf:

                    # ^ShowDetailsBtn
                    詳細を表示(&D)
                    # ^LicenseTextRB
                    $(^NameDA)をインストールする前に、ライセンス契約書を確認して下さい。契約書の全ての条件に同意するならば、下に表示されているオプションのうち、最初のものを選んで下さい。 $_CLICK
                    # ^UnLicenseTextRB
                    $(^NameDA)をアンインストールする前に、ライセンス契約書を確認して下さい。契約書の全ての条件に同意するならば、下に表示されているオプションのうち、最初のものを選んで下さい。 $_CLICK
                    # ^SpaceAvailable
                    利用可能なディスクスペース: 
                    

                    And, 'MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO', 'MUI_TEXT_FINISH_SHOWREADME', 'ShowDetailsBtn?' and 'SpaceAvailable?' are used in the POPFile installer.

                    There's no problem with 'MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO':
                    http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/setup1.png

                    'MUI_TEXT_FINISH_SHOWREADME' has been had a problem:
                    http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/ShowReadme_101RC2.png

                    There's no problem with 'ShowDetailsBtn?':
                    http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/setup3.png
                    http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/adduser1.png

                    There's no problem with 'SpaceAvailable?':
                    http://idisk.mac.com/amatubu/Public/POPFile/v1.0.1/setup2.png

                    Naoki

                    • Message #159

                      Thank you for taking the time to do all of those tests, Naoki.

                      I am glad there are no more problems as far as the Japanese text is concerned.