Menu

#68 Windows Portable version

3.5.0
closed
None
6
2016-12-23
2016-08-25
No

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.

Discussion

  • Urs Fleisch

    Urs Fleisch - 2016-08-25

    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:

    @echo off
    set KID3_CONFIG_FILE=kid3.ini
    start kid3.exe %*
    

    Or you can create a shortcut which executes something like this:

    C:\Windows\System32\cmd.exe /c "set KID3_CONFIG_FILE=kid3.ini&start kid3.exe"
    

    Then you may want to change the icon to kid3.exe and set a minimized start.

     
  • Urs Fleisch

    Urs Fleisch - 2016-11-01
    • status: open --> closed
     
  • smaragdus

    smaragdus - 2016-11-19

    @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
  • Urs Fleisch

    Urs Fleisch - 2016-11-21
    • status: closed --> open
    • assigned_to: Urs Fleisch
     
  • Urs Fleisch

    Urs Fleisch - 2016-11-21

    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/

     
  • smaragdus

    smaragdus - 2016-11-21

    @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.

     
  • Urs Fleisch

    Urs Fleisch - 2016-12-22
    • status: open --> closed
     
  • Urs Fleisch

    Urs Fleisch - 2016-12-22

    Implemented in version 3.4.4.