Hybrid - Clearing the Last User on a Terminal Server Example

Microsoft Dynamics GP remembers the last user to use the application and defaults the User ID into the login window next time the application is loaded.  This is useful when only a single user uses the specific workstation install.  In a Terminal Server or Citrix environment, multiple users use a single workstation install and so it would preferable if the User ID was left blank when the application launches.

The User ID is stored as the SQLLastUser=XXXXX setting in the Dex.ini file, where the XXXXX represents the last User ID.  One method to ensure that this setting remained blank was to change the Dex.ini file to be read only.  However, this can have negative side effects on application code that expects to be able to write to the Dex.ini file.  Also changes in v10.0 for Vista Compatibility mean that a read only Dex.ini file will not be used by Microsoft Dynamics GP.

Another method could be to use Visual Basic for Applications (VBA) to clear the Dex.ini setting after each login.

This example uses a Toolbar package as explained in in the post VBA - Running VBA scripts after Login or before Logout Example. This package allows us to run our script after login is completed.  We then use the Continuum Integration Library to execute Dexterity sanScript commands to update the dex.ini to clear the SQLLastUser setting. 

NOTE: This customisation uses a method of executing Dexterity sanScript code from VBA which is unsupported by Microsoft.

Example code for v8.0, v9.0 & v10.0 is attached at the bottom of the article.

Please see the "Installation Instructions.txt" file in each version's archive for more information.

11-Aug-2008: The functionality to clear the Dex.ini setting is also available as part of the Omni Login module of the Omni Tools suite from Rockton Software.

Ref: Internal KB 949617

Remove SQLLastUser Dex.ini setting.zip