Community
    • Login

    Notepad++ 7.6.1

    Scheduled Pinned Locked Moved Announcements
    80 Posts 22 Posters 71.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • KetrelK
      Ketrel
      last edited by

      I cannot install any plugins in 7.6.1.
      I load plugin admin, select the plugin I want, and choose install.

      It tells me the program will need to be restarted.
      I select ok, and then it closes, and launches a UAP prompt.
      I approve that, and then the updater tells me there’s an updated version of Notepad++

      If I say yes, it tries to install 7.5.9.
      If I say no, it closes and does nothing further.

      Upon manually reopening, the plugin I selected is NOT installed.

      donhoD 1 Reply Last reply Reply Quote 0
      • SinghRajenMS
        SinghRajenM moderator @dinkumoil
        last edited by

        @dinkumoil said:

        @pnedev

        I miss installation progress too and when a plugin installation/update failed I was facing error messages that stated the wrong reason for that.

        I already requested user feedback some weeks ago (see here). And @SinghRajenM has put some effort in writing code that extends GUP.exe to do so (see here and here). But for what ever reasons these PRs have been closed.

        Not only this, but are other flaws too -

        • npp instance should not closed till operation is successful.
        • plugin admin can have one more column in it which will guide about current state of action of a plugin (e.g. downloading plugin or restart npp to take effect so on).
        • As all demanded, plugin admin can have progress bar which should interact with gup.exe using IPC to get the current downloaded size. Or something similar mechanism to accomplish it.

        Cases:

        • Add: If a plugin is being downloaded first time, there is not point to close npp instance. download the plugin, then extract it to plugin install directory. Later ask user to restart to take immediate effect. However, on next restart the plugin will be activated by default.
        • Remove: simply move (using move api) the plugin dll from the install dir to %temp% and once done, ask user to restart. If user does not restart to take immediate effect, otherwise on next restart it will be effected anyway.
        • Update: First follow “remove” case strategy and then follow “add” case. Once both the cases done, ask user to restart npp or anyway it will take effect on next restart.

        Of-cource failures should be handled for all the cases. And all the cases, extra column can content current progress.

        1 Reply Last reply Reply Quote 2
        • chcgC
          chcg
          last edited by

          @donho See https://github.com/notepad-plus-plus/wingup/pull/8 for the unzip issue. It fixes at least some aspects of the problem, also still some files are empty.

          1 Reply Last reply Reply Quote 1
          • dinkumoilD
            dinkumoil
            last edited by

            @SinghRajenM said:

            • npp instance should not closed till operation is successful.

            Good point, currently there is taken no means to prevent the user from restarting Notepad++ manually in the middle of plugin installation/update.

            Imagine a plugin download takes a long time because of slow responding servers and the plugin DLL file is only written as a half. The user gets unpatient and starts Notepad++ manually -> crash, user is unhappy, complains here in the forum and tells his friends that Notepad++ is garbage.

            On the other hand I have no idea how to prevent the OS to run a new instance of Notepad++. In the moment a piece of software can detect that a new Notepad++ process is running it is already too late.

            • plugin admin can have one more column in it which will guide about current state of action of a plugin (e.g. downloading plugin or restart npp to take effect so on).
            • As all demanded, plugin admin can have progress bar which should interact with gup.exe using IPC to get the current downloaded size. Or something similar mechanism to accomplish it.

            Would be really good to have, but I’m afraid that it violates the KISS approach of @donho and thus we will never get it.

            • Remove: simply move (using move api) the plugin dll from the install dir to %temp%

            I don’t agree. I think it is not possible or at least not a good idea to move a plugin DLL file while it is in use.


            I think it’s worth to rethink about the whole concept of the plugin update process.

            • The download of plugin ZIP packages should be done by Notepad++ itself. This way it would be easy to provide a progress bar, meaningful error messages which reflect the real cause of an error and it would prevent users from manually restart Notepad++ because they could see that it is still running and does something. The downloaded ZIP packages should be stored to a subdirectory of the %TEMP% directory.

            • After downloading the ZIP packages, Notepad++ should start a helper program, depending on the installation scenario of Notepad++ with or without elevated rights, and terminates itself. I recommend to write a new software for that, I will explain below why.

            • The helper has to be called with an information where to find the ZIP packages and where to unpack them. It waits until there is no more running Notepad++ process. Then it loops over all downloaded ZIP packages found in the source directory and unpacks them to the given location. During this phase it displays a progress bar to provide user feedback.

            • Finally the helper program restarts Notepad++ without elevation.

            Why do I think we need a new helper program for that?

            The whole thing is a specialized task for updating plugins. GUP.exe was designed to be used as an application updater and it should stay to be that. Currently every change to the plugin updating code bears the risk to break the updating functionality of Notepad++. That alone is a good point to separate these tasks into two programs.

            Furthermore we have currently the problem that portable installations of Notepad++ can not be shipped with GUP.exe because it would download an installer version of Notepad++ when users click to (menu) ? -> Update Notepad++. With a separate program for plugin updates this would be no issue anymore.

            BTW: It is really annoying to explain users her in the forum again and again why portable versions do not contain Plugin Admin, this should be fixed ASAP, it doesn’t matter in which way.

            SinghRajenMS 1 Reply Last reply Reply Quote 2
            • ?
              A Former User @donho
              last edited by A Former User

              @donho
              Hello, the Plugins Admin is not supported on Windows XP. GUP.exe calls a function named GetTickCount64 which is implemented in the kernel dll starting from Windows Vista. There is a GetTickCount function which returns a double word, so the elapsed milliseconds are limited up to 49.7 days, but this is better than nothing. Or is there any other function that can “replace” what GetTickCount64 function for WinXP? A quick fix would be to use the dword function if notepad++ is running on XP or older Windows . . .

              1 Reply Last reply Reply Quote 0
              • Meta ChuhM
                Meta Chuh moderator @graphixillusion
                last edited by

                @graphixillusion

                the portable version does not contain plugins admin.
                you’ll have to install the full version to get the full functionality for now.

                1 Reply Last reply Reply Quote 1
                • dinkumoilD
                  dinkumoil
                  last edited by

                  @donho

                  I tested in a VM to install Notepad++ as a normal Windows user. I found that it is only possible to update the plugin list when logged in as an administrator. Furthermore the installer does not create the directory %UserProfile%\AppData\Roaming\Notepad++\plugins\Config which caused crashes of Notepad++ itself when terminating it and also various plugins caused crashes.

                  What I did

                  I created a standard user account and installed Notepad++ to %ProgramFiles(x86)% (OS: Windows 7 x64). I copied the plugin list under %ProgramData%\Notepad++\plugins\Config to the desktop. Then I tried to overwrite the file at its original location with this copy. This is equivalent to overwrite the plugin list with an updated version downloaded from the internet. An UAC dialog poped up and required me to input administrator credentials.

                  When I looked in Windows Explorer to the Security tab of the plugins\Config directory properties it showed access rights for normal Windows users as usual, no write access available. It’s the same with the nppPluginList.dll itself.

                  Furthermore I was faced with crashes of Notepad++ when terminating it. Also various plugins I installed via Plugin Admin caused a crash. It stops after I have installed the NppFTP plugin. The reason was that this plugin creates the directory %UserProfile%\AppData\Roaming\Notepad++\plugins\Config which did not exist after installation of Notepad++.

                  I would say: It’s time for a new release. :-(

                  donhoD 1 Reply Last reply Reply Quote 1
                  • Artur HarisonA
                    Artur Harison
                    last edited by

                    Plugins are not UNinstall from %ProgramData% only manual removal.
                    Or, when running as Administrator.

                    1 Reply Last reply Reply Quote 0
                    • dinkumoilD
                      dinkumoil
                      last edited by

                      @Artur-Hareson said:

                      Or, when running as Administrator.

                      That is the intended behaviour. As normal user you should not be able to install, uninstall or update plugins. And it is indeed not possible to do that using Plugin Admin because it causes to pop up an UAC prompt where you have to provide credentials of an admin user.

                      1 Reply Last reply Reply Quote 1
                      • Artur HarisonA
                        Artur Harison
                        last edited by

                        I can use Admin mode. But then i can’t use Drag and Drop in field NP++.
                        I can’t get rid of it. )))

                        1 Reply Last reply Reply Quote 0
                        • dinkumoilD
                          dinkumoil
                          last edited by

                          @Artur-Hareson said:

                          I can use Admin mode. But then i can’t use Drag and Drop in field NP++.

                          I have not meant to run Notepad++ as an admin user. When you try to install, uninstall or update a plugin, a so called Windows User Account Control (UAC) dialog pops up, where you have to provide username and password of an admin user to allow these actions. All these actions can be initiated from within Plugin Admin. No need to manually fiddle around in the plugins directory.

                          1 Reply Last reply Reply Quote 0
                          • dinkumoilD
                            dinkumoil
                            last edited by

                            @donho

                            I want to add some further information to my posting above.

                            The reason why the directory %UserProfile%\AppData\Roaming\Notepad++\plugins\Config didn’t exist was, that I started the installation of Notepad++ under a normal Windows user account without admin rights. Thus I had to confirm an UAC dialog and there I provided username and password of an admin user.

                            This, in turn, caused that during installation there have not been written any files to the user profile of the normal user. When I started Notepad++ for the first time as the normal user, it created its own config files under %UserProfile%\AppData\Roaming\Notepad++ but the directories plugins\config were still missing. When plugins tried to read their config files they caused crashes.

                            A solution for that issue would be that Notepad++ itself checks the existence of plugins\config and creates them if they are missing.

                            1 Reply Last reply Reply Quote 0
                            • SinghRajenMS
                              SinghRajenM moderator @dinkumoil
                              last edited by

                              @dinkumoil

                              I don’t agree. I think it is not possible or at least not a good idea to move a plugin DLL file while it is in use.

                              It is possible and widely used specially for shell extensions. As you know shell extension dlls are locked in explorer.exe. So during uninstall process, those dlls are moved (MoveFile is the api) to somewhere else (mostly %temp%) and handed over to OS to take care of those temp files on reboot. Unfortunately, that is not followed by npp for its shell. That is the reason, NppShell_06.dll is left even after complete uninstall.

                              I think it’s worth to rethink about the whole concept of the plugin update process.

                              I second this.

                              1 Reply Last reply Reply Quote 1
                              • dinkumoilD
                                dinkumoil
                                last edited by dinkumoil

                                @SinghRajenM

                                Thank you for your explanation, I didn’t know that.

                                But the documentation of MoveFile states:

                                The one caveat is that the MoveFile function will fail on directory moves when the destination is on a different volume.

                                Thus it would fail on my system. My system disk is an SSD with a size of 256 GB. I’ve splitted it into 2 partitions, one for Windows 7 and one for a (future) Windows 10 Installation. To prevent exhaustive write access to my SSD and to save some space I relocated the %TEMP% directory (and some others) to drive E: which is an additional conventional hard disk.

                                So I can say, I like it that Notepad++ doesn’t use this method to deinstall the shell extension, I would only facing errors.

                                1 Reply Last reply Reply Quote 0
                                • donhoD
                                  donho @pnedev
                                  last edited by

                                  @pnedev said:

                                  Perhaps the APIs sub-folder needs to be located also in %PROGRAMDATA% :
                                  %PROGRAMDATA%\Notepad++\APIs
                                  instead of
                                  %PROGRAMFILES%\Notepad++\plugins\APIs
                                  because of what @dinkumoil just pointed above - some lexer plugins might want to add some files to APIs as well.

                                  Good point. It will be in the next release.

                                  1 Reply Last reply Reply Quote 2
                                  • donhoD
                                    donho @Ketrel
                                    last edited by

                                    @Ketrel said:

                                    I cannot install any plugins in 7.6.1.
                                    I load plugin admin, select the plugin I want, and choose install.

                                    It tells me the program will need to be restarted.
                                    I select ok, and then it closes, and launches a UAP prompt.
                                    I approve that, and then the updater tells me there’s an updated version of Notepad++

                                    If I say yes, it tries to install 7.5.9.
                                    If I say no, it closes and does nothing further.

                                    Upon manually reopening, the plugin I selected is NOT installed.

                                    Your Gup.exe is the old version. Update it from the installer will remedy your problem.

                                    1 Reply Last reply Reply Quote 1
                                    • donhoD
                                      donho @dinkumoil
                                      last edited by

                                      @dinkumoil said:

                                      I tested in a VM to install Notepad++ as a normal Windows user. I found that it is only possible to update the plugin list when logged in as an administrator.

                                      It’s not been done yet. I’ll modify NTFS folder’s right for %PROGRAMDATA%\Notepad++\plugins\Config\ in order to be able to update nppPluginList.dll in the future release.

                                      Furthermore I was faced with crashes of Notepad++ when terminating it. Also various plugins I installed via Plugin Admin caused a crash. It stops after I have installed the NppFTP plugin. The reason was that this plugin creates the directory %UserProfile%\AppData\Roaming\Notepad++\plugins\Config which did not exist after installation of Notepad++.

                                      I would say: It’s time for a new release. :-(

                                      That’s for sure. However, any suggestion for the remedy of crash?

                                      dinkumoilD 1 Reply Last reply Reply Quote 1
                                      • dinkumoilD
                                        dinkumoil @donho
                                        last edited by

                                        @donho said:

                                        However, any suggestion for the remedy of crash?

                                        As I already wrote:

                                        A solution for that issue would be that Notepad++ itself checks the existence of plugins\config and creates them if they are missing.

                                        donhoD 1 Reply Last reply Reply Quote 2
                                        • ?
                                          A Former User
                                          last edited by A Former User

                                          On Windows XP I’m getting this error when I want to install, or update a plugin with Plugins Admin

                                          link text

                                          Debug info:
                                          Notepad++ v7.6.1 (32-bit)
                                          Build time : Dec 12 2018 - 01:24:22
                                          Path : C:\Program Files\Notepad++\notepad++.exe
                                          Admin mode : OFF
                                          Local Conf mode : OFF
                                          OS : Windows XP (32-bit)
                                          Plugins : DSpellCheck.dll mimeTools.dll NppConverter.dll NppExport.dll

                                          Should I fill out a bug report?

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User
                                            last edited by

                                            Please can somebody tell me how to post an image? I copied the link but the image is not shown, only the link . . .

                                            Thanks.

                                            ? 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors