How to set the Base Path from Media relative to %GRAMPSHOME%

Trying to update to newest release (5.1.2) of GRAMPS. I’ve been using the portable version of GRAMPS from which hasn’t been updated in quite a while. Insofar as I have to be able to run it in portable fashion I was pleased to see that GRAMPS now uses an environment variable named GRAMPSHOME to locate user data. Therefore, I’ve installed GRAMPS 5.1.2 for Windows using my own method for portability and it seems to be working pretty good. Although I must admit I haven’t done much yet.

Major problem seems to be that I haven’t figured out how to set the base path for media in a way that utilizes the environment variable. GRAMPS 5.1.2 seems to insist on ending up with a fixed drive letter in the settings. Is there a way to store media relative to GRAMPSHOME?

As a workaround, you could assign a drive letter and use that.

For a more reliable configuration, you might want to write a script that both sets the drive letter & launches the Gramps application. Naturally, it’d still ugly if you removed the USB in mid-session.

Create a Shortcut for the script & change its properties to Run as Minimized
To make sure a Command console isn’t left open for the whole session, put the following line at the beginning of the script:
@echo off > nul

You should be able to utilize any environment variable (like GRAMPSHOME) by entering it in “{}”. For example “{USERPROFILE}/Pictures/TreeMedia” where USERPROFILE is the normal “C:\Users\you”.


I do use scripts that figure out where they are located and then can find the software packages relative to there. When you move from one computer to another the script finds the new drive letter and uses it. The script also sets GRAMPSHOME.

1 Like

Yes, that seems to do just what I need. Many thanks!

1 Like

For USB removable media, the number of drives & partitions configuration varies so much that I usually push the USB drive mapping assignment beyond the typically auto-assigned range (like to U: )

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.