In this post we’ll be providing some additional information to the earlier post – “files and their locations” Files and their locations.
When you install NoteFrog, the NoteFrog and other “programs” (e.g. hunspell, EasyTimer), are installed in your windows default program files location, unless you specify installation to an alternate location. The spell check dictionary is installed in the windows specified NoteFrog application data folder. (something like – c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog )., which happens to be a “hidden” location. We didn’t pick these locations, these are the Microsoft recommended standard locations for present and future Windows compatibility.
When it starts, NoteFrog searches for a NoteFrog.ini initialization file. It looks first in the NoteFrog program directory. If it’s not found there, it looks in the default windows application data folder for NoteFrog. If an initialization file is found, it uses information from the ini to locate the NoteFrog library and set various user specified defaults.
If no initialization file is found, NoteFrog issues a message telling the user it was unable to locate any previous NoteFrog installation and asks you to specify a location for the Library. Unless you have a reason to locate the library somewhere else, accept the default location which is the windows specified NoteFrog application data folder. The NoteFrog initialization data will be located in the windows specified NoteFrog application data folder regardless of your specification for the Library location. On each subsequent run of the application, NoteFrog will use the initialization data from the ini file.
For a normal user, this installation configuration should work fine. New installations will find the ini and the NoteFrog library/database and use them.
Deviating from the standard installation and/or modifying the configuration is possible, but may lead to unforeseen problems on future installations unless care is taken.
We’ve had users in “modified” environments ask why a fresh install didn’t “clear everything up”.
To answer that, we need to understand the nature of any environmental changes they had made and also what might be expected by “clear everything up”. Since we can’t cover every possibility, we’ll discuss a general case and explain how NoteFrog functions.
Let’s say a user decides to upgrade to NoteFrog version 2, but wants to maintain their version 1 installation “just in case”. They run the setup_NoteFrog and specify a new directory to install into, let’s say c:\Program Files (x86)\NoteFrog2.
When they run NoteFrog from the NoteFrog2 folder location, it will check to see if there’s an ini file in a “resources” folder within the program location directory (this would have been for portable installations, NOT for a c:\Program Files installation), since there is none, it next checks to see if there’s an ini in c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog\ where it should find the existing version 1 ini and continue using information from that ini (including using the existing database referenced in the ini).
The use of the existing ini – database is for release to release compatibility. We want each new release to continue using data from the previous install. You wouldn’t want to have to start over with each new installation.
As long as there’s an ini – database combination in c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog, a new installation will use them, thus a fresh install doesn’t clear everything up – unless the previous installation is completely uninstalled, which removes c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog and it’s data.
If you’re adventurous or maybe want to run in a “stand alone – portable” environment, you may modify the environment per the blog post referenced above Files and their locations. This allows you to run NoteFrog from a single directory structure (as long as it’s not c:\Program Files or one of it’s variants). If you decide to do this, some of the responsibilities of program file location become yours.
We’ll talk about those in a future blog post.