cancel
Showing results for 
Search instead for 
Did you mean: 

Attempting to upgrade SAPGUI Frontend 730 to 740

Former Member
0 Kudos

We are attempting to upgrade our users to SAPGUI 740 (patch 2) using the standalone installation package, and are running into issues with users that have the application running when the install takes place.

To be clear: we are attempting to automate this installation process by pushing the installation package out to the users all at once, but in our testing noticed that any of the users who had SAP currently open, were not prompted to close SAP, and ultimately resulted in an installation failure. This failure also caused SAP to no longer function as intended, and we were forced to uninstall and reinstall SAP entirely on these particular machines. On the user machines where SAP was NOT open when the package installed, the process was successful.

Our initial thoughts were to create a script that closed all processes/services that run with the SAP 730 GUI frontend application that we are upgrading, but we've been unsuccessful with finding any relevant information regarding what those processes and services are. We also figured that there may be a better method of accomplishing what we are trying to do, that we just aren't seeing or are aware of, which is why we are posting this discussion here.

Please let me know if there is any pertinent information that I'm leaving out that would help us resolve this issue. Thanks for any help you can give!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos


look at the SAPSsetup Guide.  There isn't a lot of good examples.  Pulled this off of page 81.

If NwEngine.Shell.IsExeRunning ("saplogon.exe") Then

NwEngine.Context.Log.Write "Saplogon is still running. Killing all instances of it."

NwEngine.Shell.TerminateProcessInstances "saplogon.exe"

End If

You will need a developer/coder if you want something fancier

Dan Mead

Answers (1)

Answers (1)

Matt_Fraser
Active Contributor
0 Kudos

Hi Colin,

If you are using a SAPGUI Installation Server to push out the upgrade (which is the recommended route to follow), then the upgrade should detect and kill running instances on the workstation without you having to specially code anything yourself, or at least this is my understanding from the documentation. But perhaps you are using too low of a patch? Patch 2 is very old. GUI 7.40 is up to at least patch 9 (that's what we are using), and the SAPSetup program itself (used by the Installation Server) is beyond patch 78 (what we have). I would ensure you have at least these patch levels.

That said, Dan's code should work if it is inserted into a Package Event Script within your Installation Server. If you aren't using an Installation Server -- well, then, really you should, but if you aren't -- you could use some external VBscript to close the process. I have used the following for running upgrades at my location -- bear in mind, the script needs to "run as administrator" if it is outside of an Installation Server, so it has to start with that:

Set oWMI     = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

If WScript.Arguments.length = 0 Then 'Restart script as Administrator

    If strOSVersion             = "6." Or strOSVersion = "10" Then

        Set objApp                 = CreateObject("Shell.Application")

        objApp.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """" & " RunAsAdministrator", , "runas", 1

    End If

Else 'do the work

Set colProcess = oWMI.ExecQuery ("Select * from Win32_Process Where Name = 'saplogon.exe'")

For Each objProcess in colProcess

    Return = objProcess.Terminate()

Next

End If 'Close out the ELSE statement

Cheers,

Matt

Message was edited by: Matt Fraser (first attempt got garbled)