Setup: Win7x32
Current behavior:
Saves settings and data to registry 'HKCU\Software\Kid3', 'HKCU\Software\kid3.sourceforge.net' and 'HKCU\Software\QtProject'.
Requested behavior
Settings written to the local folder
Reason
I recognize it's a little strange to request a "portable" version of something that is available for Linux, Android, and Mac, but I'm trying to address a different kind of portable. This kind refers to running the program consistently across multiple Windows computers and taking Kid3 everywhere on a USB drive or via cloud storage.
Although it's not hard to run the program from a USB or cloud drive, you must re-enter the settings on any computer that it hasn't been on before, which can become a chore. This approach also simplifies backup/restore/synchronization.
Additionally, many Qt-based tools write to the registry, which is generally bad policy over time as many registry entries over time can slow down a Windows computer. Plus, it's not as easy to manually modify settings or diagnose problems.
Possible issues
Going this route can make updating the client more complicated. So when a new version comes out, users will have to avoid overwriting the old config file or lose their settings. As such, I recommend this as an optional setting (a command argument like "--portable") or separate release version.
Thanks for the suggestion.
I think you can already do this. There is an environment variable KID3_CONFIG_FILE which can be set to the path of an INI-file. This gives you several possibilities:
You can set KID3_CONFIG_FILE in your user or system environment variable settings.
Or you can use a batch file like this:
Or you can create a shortcut which executes something like this:
Then you may want to change the icon to kid3.exe and set a minimized start.
Apparently registed according to https://www.portablefreeware.com/forums/viewtopic.php?p=80713.
@Urs Fleisch
I think that a simple parameter, for example "kid3.exe --portable" would be easier and handier to use.
Another method might be- "INI file in Kid3 program folder forces Kid3 to use it writing to it and not to Windows registry".
Or on first rund Kid3 might ask where to save settings- in Registry or in program folder (portable mode).
There has already been an attempt to portabilize Kid3:
https://sourceforge.net/projects/thumbapps/files/Music_Video/kid3/
I have not tested it but I think that an easy, native way to run Kid3 in portable mode would be very useful to many users.
Regards
Last edit: smaragdus 2016-11-19
I have implemented a "--portable" command line parameter. You can find a development version kid3-git20161121-win32.zip in https://sourceforge.net/projects/kid3/files/kid3/development/
@Urs Fleisch
I tested Kid3 git20161121 with "kid3.exe --portable" parameter and it successfully ran in portable mode creating "kid3.ini" in program folder. Thank you very much, good work, this option is what I needed. I believe that via this option now it is much easier to run Kid3 in portable mode.
Implemented in version 3.4.4.
Thank you once again, Urs.
I added Kid3 to The Portable Freeware database:
the forum announcement:
https://www.portablefreeware.com/forums/viewtopic.php?p=84573#p84573
the database entry:
https://www.portablefreeware.com/index.php?id=2859
Best regards and happy holidays!