In case you missed it, we recently released Royal TS V6 Beta which includes a lot of new features. In this blog post, I want to discuss the new configuration system we have introduced with Royal TS V6.

Application Settings

In Royal TS V5 and earlier there was a RoyalTS.exe.config XML file in the installation directory which provided a way to tweak some application-related settings. Fundamental application settings, like the path to the user preferences configuration file, are required in order to make Royal TS portable; these must be configured before other required files and paths are opened by Royal TS. One major downside of this approach was that each release shipped the default configuration file, which meant that the user-defined settings had to be restored after each upgrade.

Since we switched from .NET Framework 4.x to .NET 5 in Royal TS V6, we decided to take this opportunity to also modernize our configuration system.

Configuration File

Instead of a single XML file, we now provide multiple configuration providers to tweak those settings. There's still a configuration file but it's now called appsettings.json. A sample file is shipped with the app under the name appsettings-sample.json. Simply rename and edit the file with the settings you need. When a new version is released now, we only ship the appsettings-sample.json file and do not touch your modifications.

Environment Variable

The new configuration system also allows you to set environment variables for each setting. This way, you can simply adjust your configuration in your environment variables and don't need to worry about maintaining multiple config files in case you want to run different versions on your machine.

Registry

Last but not least, you can also configure the configuration settings through the registry. This is helpful if you want to deploy group policies with certain settings for multiple users in your environment.

For more information regarding the new configuration system and the application settings in particular, please refer to this help article.

Default Settings

With the new default settings configuration system you can do the following:

  • Provide initial values for application options to make onboarding new users easier
  • Provide default values for application options to enforce specific settings
  • Provide initial values for object type properties (essentially the same settings that you can configure in Application -> Default Settings in the navigation panel)
  • Provide default values for object type properties to enforce specific settings
  • Logging and security settings which were available through ADMX files in previous versions of Royal TS

Similar to the application settings, you can also use JSON configuration files in %appdata%\code4ward\initial.settings.json and %appdata%\code4ward\default.settings.json or in the directory where Royal TS is installed. Every setting can also be configured using environment variables or the registry.

To find out more about the new default settings configuration, check this help article.

Previous Post