Running Windows Applications Using Folder Redirection
Stephen Leibowitz

There are Windows applications that do not write to the Windows registry but write to the Users folder, usually an AppData subfolder two levels down from Users. These folders are normally stored on the non-removable C drive. The following example is the AppData storage for the digiKam application. To save space, it does not show the inner structure of the subfolders within Local and Roaming:

            │   │   digikamrc
            │   │
            │   ├───.marble
            │   └───digikam

There is a lightweight approach to running many of these applications from removable storage, such as a thumb drive, or network storage. It draws upon the folder redirection feature built into Windows. It does not need “before run/after run” moving. By using this feature, a temporary environment can be created so that a particular application’s AppData or Users writes go directly to portable storage. The redirection does not interfere with other applications that may be running at the same time.

A related use for folder redirection is when trying out a new application. If the user decides not to keep it, folder redirection to the application’s folder can make it easier to completely delete it. The alternative of folder redirection to a location other than the application folder could also be helpful in deleting an application. The general idea is to redirect the writing so that a user does not have to wade through a complex nested tree of folders and files to find those that should be deleted. Software producers often provide poor or no documentation on the location of this writing. Applications may come with an uninstall function, but they often do an incomplete removal.

Some users may have the more limited objective of specifying the name and location of the configuration file. A user could bring their configuration file to a computer that already had the application. Specifying the file would also allow for more than one configuration.

I have written batch files and instructions for certain applications. Some applications are cross-platform. The links are shown below. The batch files set one or more environment variables to invoke folder redirection, and then start the appropriate program. Also, some portable program launchers can set environment variables for the programs they launch. An example is AdvancedRun. As the name suggests, it is an improved version of the Windows Run command.

digiKam is a cross-platform digital photo management application. It provides tools for importing, organizing, searching, editing, and sharing photos. It is capable of face detection and recognition. The user can add tags and comments to photos. The batch file and instructions to run digikam in a portable mode are here.

The configuration file stores the locations of the digiKam database files, in addition to storing other configuration settings. The default configuration file is AppData\Local\digikamrc

The command line option is:
--config <config>   Start digiKam with the configuration file

Krita is a cross-platform sketching and painting application. It has a docker for touch screens. A docker is a subwindow in Krita’s interface that contains tools.

Download the Windows Portable version.

Despite the name, Krita’s Windows Portable version writes to AppData. The batch file and instructions for folder redirection are here.

Kexi is a multi-platform visual database management application. It has a built-in SQLite engine and can connect to other database engines. It can also import/export CSV files.

Download the .7z archive of the 3.2.0 stable version.

The batch file and instructions to run Kexi in a portable mode are here.

KMyMoney is a cross-platform personal finance manager. Similar applications are Quicken and Microsoft Money.

Download the .7z archive.

The batch file and instructions to run KMyMoney in a portable mode are here.

An earlier problem with GPG encryption was fixed. But as of February 2022, it is again not working, due to a software regression. An alternative is to use VeraCrypt to encrypt the KMyMoney data file.

© 2022 Stephen Leibowitz