Terminal User Control application fails to load session file after upgrade

  • 7024360
  • 07-Jan-2020
  • 19-Mar-2020

Environment

Reflection Desktop (including Pro, for IBM, or for UNIX and OpenVMS) 16.1 Service Pack 1 Update 2 or higher

Situation

Running Terminal User Control (TUC) application.
The Host session file (.RD3X, .RD5X, or .RDOX) fails to load.
Used to work in Reflection Desktop earlier version 16.0 or 16.1.
Session file is not located in the User Data Directory folder specified in the Reflection configuration (typically C:\Users\<username>\Documents\Micro Focus\Reflection).

Resolution

Either set the fully-qualified path to the Host session file inside the TUC application, or set the User Data Directory (default typically C:\Users\<username>\Documents\Micro Focus\Reflection) in the Reflection configuration and put the Host session file at this location.

Old Example:
    //note the lack of a fully qualified path to the RD3X file
    string sessionPath = "gettingStarted.rd3x";

New Example:
    // note the fully qualified path to the RD3X file   
    string sessionPath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\Documents\Micro Focus\Reflection\gettingStarted.rd3x";
   

Cause

Beginning with Reflection Desktop 16.1 SP1 U2 (version 16.1.1.476, released March 2019), at load time, the working directory is set to the Reflection User Data Directory. If the session file is not in this location, the TUC application must now specify the fully qualified path to the session file.

In previous Reflection Desktop versions, when launching a Host session file, the current directory the user was pointing to was used, which in many cases could be the \Windows\System32 (if launched from Windows Explorer or a Shell command) or some other unexpected location.  This allowed session files to be launched from an incorrect and potentially unsafe location.