New NPP Install issues for UDL features install
Got a problem with the dBASE Plus UDL and features files and the directories they need to go in when installing the files into a new Standard Install.
As per documentation, the Program Files or Program Files (x86) system directories are supposed to hold the UDL autoCompletion file in that directory, and the AppData\Roaming\ directories is supposed to hold the UDL functionList file and overrideMap.xml under the functionList directory, the UDL file(s) in the UserDefineLangs directory.
The problem is I built a standalone installer to install those files in those directories, and even with the latest 8.4.6 installer version, those dirctories are not in the installation. These screenshots show the directories as they are on a virgin install before anything has been done after install.
Here, the functionList directory is installed in the Program Files directory rather than the AppData\Notepad++\ directory.
Here the overrideMap.xml file is here instead of in the AppData\Notepad++\functionList directory.
Here in the AppData\Notepad++\ directory, there is no functionList directory to hold new functionList parse files, nor the overrideMap.xml file that is supposed to be in there with it.
I know I was at an earlier version while building the UDL and features, so I never had a virgin version to work with to see this bare metal Standard Install directory structure, so my question is, if I’m building an external installer as I have done, what will be the requirement for that installer to make the UDL features of functionList and autoCompletion installed and functional in a virgen install? The installer works perfect in the portable versions, as mentioned in the documents, all directories are in the same folder. It’s the Standard Install that’s giving me trouble. Apparently, I just noted that there is a “minimalist” install also, so not sure what that is either.
Peter, am I supposed to make the functionList directory and copy the files from the Program Files directory into the AppData directory or move them? Could use some guidance and insight so I can make this thing work and finsh my installer.
By the way this is my debug info:
Notepad++ v8.4.6 (64-bit) Build time : Sep 25 2022 - 19:51:39 Path : C:\Program Files\Notepad++\notepad++.exe Command Line : Admin mode : OFF Local Conf mode : OFF Cloud Config : OFF OS Name : Windows 10 Home (64-bit) OS Version : 21H2 OS Build : 19044.2130 Current ANSI codepage : 1252 Plugins : mimeTools (2.8) NppConverter (4.4) NppExport (0.4)
Notepad++ installs the bundled functionList files in the installation hierarchy. And then you create the AppData functionList directory to put any local definitions or edited versions of builtin definitions. When Notepad++ goes looking for functionList definitions, it will check AppData first: if it finds a matching definition, it uses that; otherwise, it checks the installation directory.
So both are true: the ones that ship with Notepad++ can happily live in the installation hierarchy; and the ones you create can happily live in the appdata hierarchy.
Thank you. I thought it might be something like that, figuring it might use a “fall back” strategy, but wanted to be sure so I get it right in the code, since all I was doing was copying the files into the directories that I didn’t realize I had to create myself with the installer. Thanks again, so I can get this right.
For future reference, this priority is described in the manual:
Thanks Peter. That’s where I thought I read that, of course, there was no mention of having to make that directory to mimic the system one, so it was a guess on my part plus I remember you saying to someone else to copy that directory into the AppData heirarchy.
Now…as I understand it, someone mentioned somewhere in my research in the forums posts, that there was going to be a feature in the next version that allows the AppData directory structure to be pointed somewhere else to avoid(?) issues with the AppData directory? Do you have any information on how that’s going to be accomplished, as it means I may have to add more error checking and filepath collection code in my installer app to accomodate the new feature.
I’m guessing, if it’s implemented, it’ll have an entry in the config.xml file that might still be in the AppData directory or some kind of redirection location to query. Thanks for any info in advance…especially since I just got this right and it’s working now after a year of creating and testing all of the UDL and fixing problems to make it work and also to finally get the installer written also, only to have to change it again :) Now I know how Don Ho feels. LOL
@Lycan-Thrope said in New NPP Install issues for UDL features install:
That’s where I thought I read that, of course, there was no mention of having to make that directory to mimic the system one, so it was a guess on my part plus I remember you saying to someone else to copy that directory into the AppData heirarchy.
I am adding a few new paragraphs in that section:
someone mentioned somewhere in my research in the forums posts, that there was going to be a feature in the next version that allows the AppData directory structure to be pointed somewhere else
The only such features I know about already exist: the Cloud option (which has been around as long as I’ve paid attention) and the
-settingsDircommand-line-option (added in v7.9.2). But I don’t stay on top of all the feature requests (this Forum keeps me busy enough), so it may well be that they are finally implementing the fixes to those to make them “complete” rather than just having some of the config files looked for there. (Or maybe reinventing that wheel again?)
Thank you for those new paragraphs. They explain the situation better, and I sure wish I’d been able to read that before I completely uninstalled my NPP to test the intaller. All I would have had to do was rename the folder and rename it back after the testing. ::sigh:: :)
Thanks for trying with regard that feature. I’ll try to see if I can find more about that cloud option/directory redirect on the off chance that there are folks using it, so I can modify the install routine to check and apply for it.
PeterJones last edited by PeterJones
If Cloud option is enabled, Notepad++ will create a folder in the install directory called
cloud\, and that will contain a file called
choicewhose contents are the path to the cloud directory that will contain Notepad++ settings.
So to look for that option, just look for the existence of
Thanks Peter. That helps immensely. I was searching the forums to see if I coud find that mention again, but can’t seem to find it, so no matter. Your info points me back to the documentation which I’ll have to go over that section Since I know we have a few developers that have been looking at using cloud resources, I figured I better look into that option now, to head off any complaints/suggestions about cloud usage or non AppData usage.
I was trying the Cloud setting, and I found that it didn’t create the cloud\choice directory and file in the install directory, it actually showed up in the AppData\Roaming\Notepad++\ folder, as per this screenshot.
And the file in this directory per this screenshot:
Just want to clear up and/or clarify what just happened. All I did was click the setting for the cloud here and selected a directory for it to put the files into that could represent a cloud directory as in this screenshot:
Then after closing NPP, this directory filled itself with the config files that the AppData\Roaming\Notepad++\cloud\choice file pointed to as shown in this screenshot:
Peter, I’m just trying to cross the
t’s and dot the
i’s :) to make sure I don’t make the same mistake with the directories again. :)
By the way, this is with this debug info:
Notepad++ v8.4.6 (64-bit) Build time : Sep 25 2022 - 19:51:39 Path : C:\Program Files\Notepad++\notepad++.exe Command Line : Admin mode : OFF Local Conf mode : OFF Cloud Config : C:\Users\<user>\Documents\Test Directory OS Name : Windows 10 Home (64-bit) OS Version : 21H2 OS Build : 19044.2251 Current ANSI codepage : 1252 Plugins : ComparePlugin (2.0.2) CSVLint (0.4.5.4) CsvQuery (1.2.9) mimeTools (2.8) NppConverter (4.4) NppExport (0.4) NppXmlTreeviewPlugin (2) PlantUmlViewer (184.108.40.206) PythonScript (2)
You appear to be right.
I guess I had only experimented with local-config Notepad++ instances, or something changed.
The next edition of the User Manual will say,
cloud\choicefile: If this folder and file are present, the file contains the path to the Cloud folder. This config file is created when you define the Cloud preferences. If you are in a normal installation, this config file will be
%AppData%\Notepad++\cloud\choice; if it is deleted from there, Notepad++ will not look for
<installdir>\cloud\choice. If you are in a portable / local configuration (
doLocalConf.xmlexists), it will be in
Thanks for those clarifications. I’m glad I’m not going mad. :)