Automatische Aktualisierung der GuiXT Version (z.B. durch Transport in SAP System)

Sie haben in Ihrer Unternehmung kein automatisches Softwareverteilungssystem und möchten trotzdem mit möglichst geringem Aufwand bei jedem Ihrer Anwender, welche GuiXT einsetzen die neueste GuiXT Version installieren.
Die aufgezeigte Lösung basiert auf dem Tips&Trick Nr. 33 der Synactive GmbH.
Das Beispiel wurde soweit ergänzt, so dass der Anwender nichts mehr dazu beitragen muss. (Ausser sich neu anzumelden)

Das untenstehende Script wird am besten in das GuiXT Script saplsmtr_navigation.0100.txt eingebaut. Die Quelle der neuen GuiXT Dateien ist im SAP MimeRepository abgelegt. Sie können jedoch anstatt SAPMR:… auch eine Quelle anderer Art, wie z.B. „H:\GuiXT\Neue_Software…“ angeben.

if V[_guixt_version<2014 Q1 1]
  // Alles löschen
  del (0,0) (40,200)  
  // Rename existing guixt.exe, guixt.dll
  RenameFile oldname="&V[_homedir]\pinnacle.dll" newname="&V[_homedir]\pinnacle.dll.&V[today_ymd_hms].bak"
  RenameFile oldname="&V[_homedir]\guixt.dll"    newname="&V[_homedir]\guixt.dll.&V[today_ymd_hms].bak"
  if Q[ok]
    RenameFile oldname="&V[_homedir]\guixt.exe"    newname="&V[_homedir]\guixt.exe.&V[today_ymd_hms].bak"
  else
    Message "Auf Irem PC muss eine neuere GuiXt Version installiert werden.\nBitte melden Sie sich von SAP ab und lassen Sie einen Administrator an\n Ihrem PC anmelden, danach melden Sie sich wieder am SAP an.\nDadurch wird sich der SAPLOGON automatisch schliessen und die\nneue GuiXT Version ist erfolgreich installiert worden." 
  endif
  // Kopieren der neuen Files
  if Q[ok]
    CopyFile source="SAPMR:/SAP/PUBLIC/GUIXT/SCRIPTS/GUIXT.EXE"    destination="&V[_homedir]\guixt.exe"
    CopyFile source="SAPMR:/SAP/PUBLIC/GUIXT/SCRIPTS/GUIXT.DLL"    destination="&V[_homedir]\guixt.dll"
    CopyFile source="SAPMR:/SAP/PUBLIC/GUIXT/SCRIPTS/PINNACLE.DLL" destination="&V[_homedir]\pinnacle.dll"   
    Enter "/NEX"  // Abmelden
    CopyFile source="SAPMR:/SAP/PUBLIC/GUIXT/SCRIPTS/KILL_SAPLOGON.BAT.TXT" destination="KILL_SAPLOGON.BAT"   
    Start "Kill_SAPLOGON.BAT"  // Löschen des Prozesses SAPLOGON.EXE
  endif
endif

Wobei durch die Batchdatei „Kill_SAPLOGON.BAT“ der SAPLOGON-Prozess gelöscht wird. Dies ist die Grundvoraussetzung, damit sich der Anwender mit der neuen GuiXT Version ohne Warn- oder Fehlermeldung anmelden kann.

Kill_SAPLOGON.BAT

start taskkill /im GUIXT.EXE /F /T
start taskkill /im SAPLOGON.EXE /F /T

Rem  --------------------------------------------------------
Rem Auf Ihrem PC wurde die neueste GuiXT Version installiert
Rem 
Rem Bitte melden Sie sich neu am SAP ERP an
Rem ---------------------------------------------------------

Pause

Empfehlen