Settings Root Environment Variables
The Varigence products keep their per-user settings, license files and caches under two root folders, one local and one roaming. BimlStudio, BimlExpress, the bimlc command line compiler and the BimlFlex server all reach their settings through the same shared settings reader, so the two roots resolve the same way in each product. Two environment variables let you move each root to a folder of your choosing.
The two variables
| Variable | Root it replaces | What lives under it |
|---|---|---|
VARIGENCE_LOCAL_APP_DATA | The local application data root | Settings files, license files, the Azure SQL token cache, the BimlStudio user settings file and the BimlStudio assembly repository |
VARIGENCE_ROAMING_APP_DATA | The roaming application data root | The BimlStudio feed cache |
The products create a Varigence folder under each root and keep their files below it. For example, the license settings files are Licensing.settings.json and EncryptedSettings.settings.json in the Varigence folder under the local root, and the BimlStudio user settings file sits below a BimlStudio folder under that.
Values
Each variable takes a fully qualified folder path, such as D:\agent\varigence\local. Spaces around the value are ignored. A value that is not a fully qualified path, such as a relative path, stops the product at the first read of the root with a message that names the variable and the value. Set the variable in the environment of the process that runs the product: the user or machine environment, a shell session, a service definition, a pipeline step or a container image.
Defaults
When a variable is not set, or is set to an empty value, the product uses the platform's application data folder for that root.
| Variable | Default folder on Windows |
|---|---|
VARIGENCE_LOCAL_APP_DATA | The local application data folder, %LOCALAPPDATA%, which is C:\Users\<user>\AppData\Local |
VARIGENCE_ROAMING_APP_DATA | The roaming application data folder, %APPDATA%, which is C:\Users\<user>\AppData\Roaming |
Precedence
The variable wins when it is set. A value that is a fully qualified path replaces the platform folder outright, and the product appends its Varigence folder and the rest of the path below the value you gave.
The two variables are independent. Setting VARIGENCE_LOCAL_APP_DATA does not move the roaming root, and setting VARIGENCE_ROAMING_APP_DATA does not move the local root.
The settings and license file directory is resolved once per process, so set the variables before the product starts.
Build agents and containers
A build agent, a container, or any host that runs the products under a profile of its own choosing can point the products at a writable folder of their own by setting both variables before running bimlc or BimlStudio. Every settings file, license file and cache that the products reach through the settings reader then lands under the folders you named. The products still write their temporary files under the temporary folder of the account that runs the build, because these variables do not move that folder. To move it as well, set the TEMP and TMP variables for the same process.
set VARIGENCE_LOCAL_APP_DATA=D:\agent\varigence\local
set VARIGENCE_ROAMING_APP_DATA=D:\agent\varigence\roaming
bimlc.exe --licenseKey=<your product key>
bimlc.exe -s Project.biml -t D:\agent\output
Because the license files are stored under the local root, enter the product key with the same variable values in place that the build itself will use. A build that runs with a different local root looks for its license files in a different folder.
The BimlFlex server's own workspace, migration, log and server license folders are not moved by these variables. Only the shared settings files, license files and the Azure SQL token cache that the server reaches through the shared code follow VARIGENCE_LOCAL_APP_DATA.