suurjaak / Skyperious

Skype chat history tool
Other
350 stars 36 forks source link

Only one prior database seems to be remembered #90

Closed rpodric closed 3 years ago

rpodric commented 3 years ago

This might be just me, but the only db that Skyperious recalls, either in the Databases window or File/Recent Databases, is the first one I ever opened: Skype 7's main.db.

A new one, connected with the online database, exists but always has to be browsed for. I tried giving it the name main.db on the theory that only those files will be remembered, but that wasn't it.

Thanks

suurjaak commented 3 years ago

Strange.

This may be something to do with the installation. What operating system are you using, and which folder is Skyperious installed into?

If you look for a file named "skyperious.ini" on your computer, where is it located? If there is more than one, what are their modification dates, and is any marked read-only?

rpodric commented 3 years ago

It's Win10, and the exe is in C:\Program Files\Skyperious.

There are two INIs. One in that same dir from a month ago (it's not write-protected, but oftentimes programs don't have access to making changes to files there), and the other one in the Skyperious user profile location with the current date. So, it seems to be writing to that one but wanting to read from the other one. If I copy the one from the profile over the one in the program dir, then I see the saved db.

This probably happened with an upgrade at some point. Is there maybe a way to get it to read from the one in the profile, assuming that's the intended one?

suurjaak commented 3 years ago

The way it operates:

The aim being that if the program is being run by a user without write access to Programs-folder, then it falls back to user profile folder, but allows typical single-user computers to use the installation location without needlessly polluting profile folders.

If your user has write access to Programs-folder, then deleting skyperious.ini from user profile folder should clear the issue.

rpodric commented 3 years ago

Having the ini in the installation folder alone worked, including changes, thanks.

So, at some point upon saving, it must have decided that it couldn't write to the installation folder (it's a little surprising that it can write there at all since Skyperious isn't being run elevated and UAC is enabled), used the profile folder as an alternative, and continued saving there. From that point forward it favored the abandoned one in the installation folder when loading though.

As a test, I tried moving the current, correct ini from the installation folder to the profile folder, which had no ini. Upon running Skyperious, instead of reading that ini, it comes up as if it's being run for the first time and then overwrites the ini in the profile dir (the only ini in this example). So, that seems to be an issue, but now that I know what's going on I can avoid using that folder.

suurjaak commented 3 years ago

Ahh, I found the problem now. The current version has a bug, it always loads from installation folder only.

It will be fixed in the next release. Thank you for reporting this.

And I think I might see how the first issue can come about - if the program is run at least once with no write access to installation folder, then it creates the profile ini. Which it afterwards will always load on startup, but saves to installation instead as this no longer fails. I will need to find a better solution for this.

suurjaak commented 3 years ago

Fixed the configuration file issue.

Can you confirm, with the v4.4 release?

rpodric commented 3 years ago

Yes, as a test I moved the INI from the installation folder to the profile, and it didn't miss a beat. Thanks.

suurjaak commented 3 years ago

Excellent, closing the issue.