Task description

Solution

Sample code, images Restrictions, SAP Release, SAP GUI version, GuiXT version
33 Installing a new GuiXT version “on the fly”

You can install a new GuiXT version (i.e. guixt.exe and guix.dll) in the logon script (or another GuiXT script or InputScript) from a central location, e.g. from the SAP Web repository. The only disadvantage is that the user needs to logoff and also to close the SAP Logon window in order to get the new version of both guixt.exe and guixt.dll, since it is not possible to change a dll while it is in use: you can only rename the dll while it is in use and then copy the new one. The active SAP GUI process will still use the old guixt.dll until the user logs off and closes the SAP Logon window.

Proceed as follows:

  • Import the files “guixt.exe” and “guixt.dll” into SAP Web repository.
  • Make sure that RfcUser and RfcPassword are correct in guixt.ini. If this is not the case, an alternative is to use a central file server or an http or ftp server to store the new versions of guixt.exe and guixt.dll
  • Add the following script in your logon script:


if Q[GuiXTVersion<2009 Q2 4]

  // Rename existing guixt.exe, guixt.dll
 
RenameFile oldname=”&V[_homedir]\guixt.exe” newname=”&V[_homedir]\guixt.exe.&V[today_ymd_hms].bak”
  RenameFile oldname=”&V[_homedir]\guixt.dll” newname=”&V[_homedir]\guixt.dll.&V[today_ymd_hms].bak”

  // Copy new ones
 
CopyFile source=”SAPWR,client=800:ZGUIXT.GUIXT.EXE” destination=”&V[_homedir]\guixt.exe”
  CopyFile source=”SAPWR,client=800:ZGUIXT.GUIXT.DLL” destination=”&V[_homedir]\guixt.dll”

  // Display a message that logoff/logon is required
 
Offset (0,50)
  Pushbutton (2,2) “Logoff” “/NEX” size=(5,16)
  Text (2,24) “Automatic updates installed (GuiXT)” -intensified
  Text (4,24) “Please logoff  a n d  then close the SAP Logon window before logging on again”

  // do not allow logon with old GuiXT version
 
del F[Password]

endif

If the user logs off but does not close the SAP Logon window before logging on again, the new guixt.exe file and the old guixt.dll will be active, resulting in an error message.
 

 

Last update: 
June 24, 2009

 

 

InputAssistant

 

 

Installing a new GuiXT version "on the fly"