Mystery folder...



  • I have just discovered this folder on my computer: Don_HO_don.h@free.fr It was apparently created by Notepad++ at some point. Can I delete it/is it necessary? If it is not necessary, may I suggest that you make updates cleanup better and not leave behind unnecessary folders, etc.



  • Checked own install / disk – no such folder found. In fact nothing similar. Perhaps provide a full path and listing of folder content?



  • “C:\Users\Al Bateman\AppData\Local\Don_HO_don.h@free.fr\DefaultDomain_Path_xpwtfcv4wweygsgdnlwjjbrhq51ffsk1\7.85\user.config”

    user.config is an xml file which contains references to Notepad++ 7.85
    I assume it was left over from a recent update.



  • @Al-Bateman
    Have you installed from “MS Store” by any chance?



  • @asvc said in Mystery folder...:

    Have you installed from “MS Store” by any chance?

    Which would be something you shouldn’t do.
    As that is someone’s “fork” of Notepad++.
    Not the official Notepad++ that is supported here.
    Please don’t talk about the “store” version here, any farther than has been done.



  • I downloaded and installed directly from Notepad++ last month. I never use MS Store.



  • @Al-Bateman said in Mystery folder...:

    I downloaded and installed directly from Notepad++ last month. I never use MS Store.

    When I tried searching the codebase, I couldn’t find any instance of that string, though the search turned up three issues where it was indicated that possibly really-old copies of Notepad++ would create %LocalAppData%\Don_HO_don.h@free.fr. Yours, with 7.85 in the path, seems to indicate that it’s not only really-old copies.

    However, though I cannot figure out how it’s created, it should be safe to delete.



  • @PeterJones said in Mystery folder...:

    Yours, with 7.85 in the path, seems to indicate that it’s not only really-old copies.

    Or…it was created long ago with a “really-old” copy, and has just lingered unnoticed until present day.



  • @Alan-Kilborn said in Mystery folder...:

    @PeterJones said in Mystery folder...:

    Yours, with 7.85 in the path, seems to indicate that it’s not only really-old copies.

    Or…it was created long ago with a “really-old” copy, and has just lingered unnoticed until present day.

    That was my original thought, but I am assuming that the 7.85 in C:\Users\Al Bateman\AppData\Local\Don_HO_don.h@free.fr\DefaultDomain_Path_xpwtfcv4wweygsgdnlwjjbrhq51ffsk1\7.85\user.config came from the NPPM_GETNPPVERSION message – which has been the internal storage mechanism of the version number since 4.7.5 (which is internally stored as the words 4 and 75). It would’ve been quite the coincidence if one of the ancient versions of Notepad++ would have happened to create a directory with a valid future version of Notepad++ in the path.

    I guess @Al-Bateman could chime in and indicate whether he ever had an older version of Notepad++, or whether v7.8.5 was the oldest he’s ever used.



  • Hi @PeterJones, @Alan-Kilborn, @Al-Bateman and All

    I think this folder and files included there are related to the Code alignment plugin.

    Let me explain me a bit:

    In Everything ran a search for that folder and found it. Each version from Notepad++ 7.81 and up has an associated directory, which includes an XML file named user.config. After inspecting those files I noticed a CMcG.CodeAlignment string that obviously suggested me the mentioned plugin. Looked for the plugin, again via Everything —couldn’t live without it— and indeed it was installed the same date as the XML file was created.

    So, in order to confirm my suspicion and as the XML file for the 7.85 version was dated on the first days of the current month, applied a simple alignment test with the plugin and the config file accordingly modified its date to today.

    Let me know if you want additional tests or want to inspect the config file.

    Have fun!



  • @astrosofista

    So what you’re saying is that the author of the Code alignment plugin, who appears to be (info from Plugins Admin):

    Author: Chris McGrath
    Homepage: https://github.com/cpmcgrath/codealignment
    

    deliberately coded a path to a config file he used, using the partial foldername Don_HO_don.h@free.fr ?

    That’s rich. Haha.



  • @Alan-Kilborn

    Even if we don’t know the details of the story, those are the funny facts :)



  • I have used Notepad++ for years with Windows 7. However I just upgraded to Windows 10 on Mar. 3rd and downloaded Notepad++ which would have been the 7.85 version, so not an old copy. Don’t have Code alignment plugin either. The only plugins I installed are Compare, Tidy2 & TextFX Characters. Since one of you thinks it’s OK to delete, I guess I will. Thanks to all.



  • @astrosofista said in Mystery folder...:

    I think this folder and files included there are related to the Code alignment plugin.

    I have Code Alignment plugin installed and have this mystery folder as well. I deleted it. Using N++ after that keeps the folder gone. However, as soon as I:

    Plugins => Code Alignment => Align by …

    The folder re-appears!

    I’m going to look through his code now:
    https://github.com/cpmcgrath/codealignment.git

    And a quick grep does not turn up “Don” or “free” or anything else in that weird config file string. However, I do see:

    codealignment/CodeAlignment.Npp/Main.cs:

            static void SetupIniFile()
            {
                var sbIniFilePath = new StringBuilder(Win32.MAX_PATH);
                Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath);
                var path = sbIniFilePath.ToString();
                if (!Directory.Exists(path))
                    Directory.CreateDirectory(path);
    
                s_iniFilePath = Path.Combine(path, PluginName + ".ini");
            }
    

    Which is the proper way to get the config directory and save your plugin config. By this logic, there should exist:

    $(NPP_INSTALL_DIR)/plugins/config/codealignment.ini

    which I don’t have. Instead, it looks like the config is stored in that “mystery directory”. Of course, this is C# code and there are “helpers” and “exporters” and additional DLL’s required to build and end up getting installed - I don’t know C#. Maybe on of those supporting DLLs (which I don’t have source code for) are creating the directory?

    Cheers.



  • @Michael-Vincent said in Mystery folder...:

    I’m going to look through his code now:

    Opened a GitHub issue:
    https://github.com/cpmcgrath/codealignment/issues/98

    Cheers.



  • @Michael-Vincent said in Mystery folder...:

    And a quick grep does not turn up “Don” or “free” or anything else in that weird config file string. However, I do see:

    When I was looking into it before, I found that Don HO don.h@free.fr is the text that gets put into the registry under HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache in the C:\path\to\notepad++.exe.ApplicationCompany entry and C:\path\to\notepad++\updater\GUP.exe.ApplicationCompany . I wasn’t able to find out where in the Notepad++ source code that string gets defined, though it’s in the installer at globalDef.nsh#L64 . But since I know that the string is available to the portable unzipped Notepad++, and not restricted to just installed editions of Notepad++, then either my search-fu is weak, or the notepad++.exe somehow inherits that string from the installer even in the portable version.

    Anyway, my guess is that there is some Windows API call that gives Notepad++ and/or its plugins access to that string, possibly with automatic conversion of spaces into underscores, and this API is possibly used by Code Alignment (and maybe one or more other plugins that @Al-Bateman previously or currently has installed). I also wonder whether some Windows API call will try the normal AppData path specified, but if it cannot write there (for whatever reason), it uses the .ApplicationCompany-based folder for storing the file as a fallback – or maybe it is a fallback for trying and failing to write in the <install_folder> hierarchy.



  • @PeterJones

    Interesting. I’ve never installed N++, always used portable so like you said it must somehow “become” available to the portable edition, maybe during packaging. All my other plugins can write to my Plugins_config directory - not sure why CodeAlignment doesn’t.

    Cheers.


Log in to reply