GNOME Bugzilla – Bug 775124
Running the uninstaller on XP leaves various registry entries. After a re-installation of GnuCash, these cause a problem.
Last modified: 2018-06-29 23:52:11 UTC
First, the setup here, which is a bit unusual, although I doubt that's the source of the problem I'm reporting here. * I'm Running Windows XP as a virtual machine using VirtualBox. So XP is the "guest operating system" * The main computer is a Sun Ultra 27, with OpenSolaris as the host operating system. (Yes, I know GnuCash will run on Solaris, but I chose to use XP as it was less hassle than building from source.) This is what I did. 1) Installed GnuCash 2.16.14 on this XP virtual machine using the binary installer I downloaded. Accepted all the defaults, so it installs to C:\Program Files\gnucash 2) Messed around with a database (is that the right term?) called "test" on the network F:\ drive. I added a few things to the Asset register, but just messing around. 3) Uninstalled GnuCash 2.16.14, using the uninstaller on the start menu. 4) Deleted all the GnuCash files on the F:\ drive. AT THIS POINT, I WOULD EXPECT FOR THE COMPUTER TO NEVER KNOW GNUCHASH WAS EVER INSTALLED. 5) Reinstalled GnuCash 2.16.14 on the same system. 6) Started GnuCash. GnuCash then reported an odd error: "The file file://F:\test.gnucash could not be found" Yes, it does say the word "file" twice, and it does call the file ://F:\test.gnucash, both of which seem bugs, and I'll report them separately, as they are not exactly related to this bug I'm reporting, although they are not entirely separate either, which is why I mention them. 7) Uninstalled GnuCash for a second time. 8) Searching the whole of the C:\ drive deleting anything I could determine was created by GnuCash. There were some files left over - it seems sensible that the uninstaller should give the option of removing all GnuCash related files. 9) Installed GnuCash for a 3rd time. 10) Started this new installation, which I fully expected to be "fresh" as I'd taken care to remove any files associated with the previous installations. I get the same error from GnuCash: "The file file://F:\test.gnucash could not be found" 11) Looked in the registry with regedit, to see if I could find what was causing GnuCash to know about this "test" file on the F:\ drive, which did not exist. There are many entries related to GnuCash in the XP registry, which I feel should be deleted by the uninstaller. Some of these are: HKEY_CLASSES_ROOT\.gnucash HKEY_CLASSES_ROOT\GnuCash.Financial.Data HKEY_CLASSES_ROOT\GnuCash.Financial.Data\DefaultIcon HKEY_CLASSES_ROOT\GnuCash.Financial.Data\shell\open\command HKEY_CURRENT_USER\Software\GSettings\org\gnucash HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs\GnuCash I feel an uninstaller should delete these registry entries. It is highly likely that one of those is causing a "fresh" install to know about the "test" database that was on the F:\ drive, but is no longer. So I will delete them manually. Dave.
After clearing all the registry entries, and re-installing GnuCash, the program now starts, without the error message about the "test" on F:\ drive. So one of those registry entries, which was not removed by the uninstaller, was holding information about "test" on F:\. I don't know what registry entry it was, as I did not delete one at a time, but all at once. But I feel the uninstaller should be doing this. Dave
Yes, gnucash remembers the last file you opened. This is stored in gsettings. GSettings on Windows uses the registry to keep this information, more precisely in HKEY_CURRENT_USER\Software\GSettings\org\gnucash On the other hand I don't agree gnucash should delete this information. Preferences are user data. This data wasn't generated when installing the gnucash, so the uninstaller won't take responsibility for deleting it afterwards. It can't because it doesn't know the user's intentions for these preferences. This is not unique to gnucash by the way. Almost all applications work this way. In gnucash this happens to be more obvious because it has a fairly uncommon way to start: it automatically tries to re-open the last opened file as that is the desired behaviour in 90% of the use cases for most users. It will continue to do so after a reinstall. So to conclude, while I'm willing to debate whether this atypical startup behaviour in itself is something to drop (or make optional), I don't consider it a bug that the uninstaller is not removing user preferences. Finally, regarding the weird file file stuff in the error message. The file: prepended to the file name is to indicate you created an ordinary file for your data (in xml or sqlite format) instead of a database (mysql or pgsql). So while odd this is more or less intended. I think you are right though this is a poor way to convey this to the user. So yes, please file a separate bug report for this. We can certainly do better than that!
Oh and a small sidenote: it's not due to your setup. It's perfectly fine to run gnucash on a Windows XP VM guest. This behaviour is visible on all platforms we support.
OK, I accept your comments about this not being a bug. I reported the weird "file file" message as a separate bug, as you requested. It is #775385 - see https://bugzilla.gnome.org/show_bug.cgi?id=775385 Dave
I saw your new report. Thanks!
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=775124. Please update any external references or bookmarks.