How to virtualize SAP GUI using Microsoft App-V

 

Update 5 Tuesday 06/25/2013

 

 

 

I added a new section at the end of the troubleshooting section in the
attached paper. It talks about calling SAP GUI for Windows out of IE.
There are two common methods to accomplish this :
a, SSF - via SAP shortcut file : extension .sap
b, SSD - via Structured Storage Document : extension .sapssd

Typical use cases for IE integration of SAP GUI for Windows are iViews in
SAP Enterprise Portal or certain calls out of Solution Manager.

 

Update 4 Tuesday 04/30/2013

 

I added a new section at the end of the troubleshooting section in the
attached paper. It talks about using a local SAP shortcut file on the
client together with a virtualized version of SAP GUI.

 

Update 3 Friday 03/08/2013

 

I added a new interesting customer case to the troubleshooting section in
the attached paper. It's a very special case where you run into an error
using SAP transaction CG54 and trying to display a document. The
error only shows up when the SAP GUI package was created on a 32
bit machine AND the client machine is 64bit AND Knowledge Workbench
is part of the package. In this very specific case the virtual registry gets
somehow mangled.

 

Update 2 Tuesday 12/11/2012

I added a new "Troubleshooting" section to the attached document. My idea
was to describe certain customer issues in case it's useful information for
everyone. Because of all the screenshots the document became pretty big
now. Let's see how this goes. Maybe I will start a second separate
troubleshooting blog/document if it makes sense.

With the next update I will also move the Excel item described further down
into the troubleshooting section to have everything in one place.

 

Update 1 Friday 07/27/2012 

1. in the meantime customer tests have shown that it is in fact possible to
use a different drive letter than "Q:". This is of course a key issue in case
"Q:" is already reserved for something else.
There is just one thing to make sure. Follow the steps in the blog as
described. But once you install the App-V client it's absolutely necessary
to specify the same drive letter which was used on the sequencer. Don't
make the mistake to accept the default setting which would be "Q:"

2. in agreement with the SAP GUI team I would like to calrify that the
support statement for App-V in SAP note 66971 includes SAP GUI 7.3.

One thing to keep in mind - BEX 3.x won't be supported anymore with
SAP GUI 7.3 - see SAP note 1410878 and 1652771 / 1670678

 

Introduction

 

While everybody in IT knows virtualization using Hypervisors and virtual
machines by now not everybody is so familiar with technologies which allow
application virtualization.

A perfect example in the SAP world is SAP GUI. Just imagine the amount of
work a customer has to spend to deploy SAP GUI and SAP GUI patches for
5000 client desktops. There is a very valuable alternative available though.
The product name is App-V :

https://technet.microsoft.com/en-us/appvirtualization

Instead of installing software on the clients it will be prepared at a central place.
All what the clients will see are shortcut icons and/or entries in the Windows
start menu.The software will be streamed to the clients and runs in its own virtual
environment. This means no interference between different virtualized packages
and no more local registry entries. Changes in the virtualized packages will be
seen by the clients immediately without the need to install anything locally. The
virtualized software is still able to interact with programs which are installed on
the client OS. A typical example would be Microsoft Office. This blog shows
exactly this scenario when the virtualized BEX Analyzer works with a local Excel
installation.

App-V is already on the market for quite some time. Official support from SAP
for virtualizing SAP GUI for Windows 7.20 patch level 8 using App-V 4.6 SP1
is in process.The blog will be updated accordingly once the general support
statement is public.
At this point in time a limited number of "pilot customers" are welcome to start
using SAP GUI 7.20 on App-V with full support ( first come first serve ). The
procedure is described in SAP note 66971.

This blog will describe the key items regarding the sequencing process for
SAP GUI as well as some recommendations to virtualize SAP BEX Analyzer
( Excel plugin ) version 3.5 and 7.

 

Virtualization of SAP GUI 7.20 and BEX

There is a lot of information out there about App-V. You will find two great
papers about the usage of App-V and especially the sequencing process :

App-V 4.6 SP1 Trial Guide

App-V4.6 SP1 Sequencing Guide

You will also find blogs about App-V which mention issues which customers
had when sequencing SAP GUI 7.20. Paying attention to a few items which
are described further down in this section it wasn't necessary in my test
environment to do anything special like manually copying dlls around. I have
to tell though that all involved virtual machines were installed from scratch to
have absolutely clean Windows installations.

At this point I also want to say thanks to Nicke Källen - an App-V MVP who
gave me a great quickstart when I started to learn App-V. Here is the link to
his blog : https://www.viridisit.se/eng/blog/

Prerequisites :

- SAP GUI for Windows version for the tests was 7.20 patch level 8
- App-V version was 4.6 SP1
- the App-V server ( sequencer and management console ) used Windows 2008 R2
- the App-V client used Windows 7
- Office 2010 was installed locally on the machines and NOT virtualized via App-V
( all the tests were also successfully done with Office 2007 )
- two SAP installers ( C runtime redistribution packages ) were run locally :
vcredist_x86 and vc9_redist_x86

 

Key learnings / experiences during the App-V SAP GUI testing :

1. it was absolutely crucial to create a physcial drive before installing
App-V sequencer ( no symbolic link ). Make sure that the same
drive letter will be used on the sequencer machine and the App-V
client

2. it was necessary to put SAP GUI, BEX 3.5 and BEX 7 into separate packages.
This anyway makes sense to define different user groups which should get
access to BEX or not

3. the LOCAL_INTERACTION_ALLOWED flag had to be set to "TRUE" for
SAP GUI but to "FALSE" for BEX

4. while it was ok to just use the type "Standard Application" for SAP GUI in
the sequencer it was necessary to use "Add-On or Plug-In" for BEX 3.5.
This is related to the different behaviour of BEX 3.5 which always tries to
join an existing active Excel session. Whereas BEX 7 will always start a
new Excel process. More details can be found in the attached document
which includes a walk-through section with many screenshots.
The other BEX applications like Query Designer worked without a problem.
Just the BEX Analyzer needed special attention

5. it turned out that App-V 4.6 SP1 cannot handle Windows 7 "Jumplists" in
case shortcuts don't point directly to the exe file of the application. A good
example is SAP Logon. The icon will point to a .s8l file. This file extension
will trigger the launch of an application starter program which will then finally
start saplogon.exe. The symptom is that a right-click on the icon in the
taskbar after the application started has no effect. Using procmon you will
usually find an error message that Windows Explorer cannot find the
appropriate .exe file.

6. there might be an issue with "in-place" Excel integration in some cases.
While the Excel integration test program ( which can be run via transaction
SE38 : SAPRDEMOEXCELINTEGRATION2 ) works fine the Excel sheet
might remain empty using the SAP list viewer. Here is the description of
the problem and the solution which was verified on Windows 7 Enterprise
32bit and 64bit as well as Office 2007 and Office 2010 :

a, in certain cases one has the choice within SAP GUI between using the
SAP list viewer ( ALV icon in the menu ) or exporting data into a
separate Excel window ( little calculator icon ) - see screenshot below.

        

          It works perfectly fine to export the data into a separate Excel window via
the "calculator icon".

    b, after clicking on the "ALV icon" a new menu list show up - see next
screenshot.

       Selecting the little spreadsheet icon should end up in an "in-place"
Excel integration. But the Excel sheet might remain empty without
any data and any error message.

c, the root cause for this symptom is described here :

https://www.applepie.se/successful-sequencing-or-an-interview-with-the-guy-who-solved-the-excel-exe-started-by-svchost-exe-issue

 
d, the workaround for both Office versions 2007/2010 and both Windows
versions 32bit/64bit was a change in the registry on the App-V client
with a local Office installation ( at least on my test environment ).

Windows 7 32bit :

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\
{00020820-0000-0000-C000-000000000046}

Here I renamed two entries :

InprocServer32 was changed to __InprocServer32
InprocHandler32 was changed to __InprocHandler32

 

       Windows 7 64bit :

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\
{00020820-0000-0000-C000-000000000046}

Same rename as above

 


 

Useful links

 

SAP Help Portal

https://help.sap.com

Microsoft TechCenter homepage for application virtualization

https://technet.microsoft.com/en-us/appvirtualization

Microsoft Technet App-V blog

https://blogs.technet.com/b/appv/

Microsoft MDOP blog

https://blogs.technet.com/b/mdop/

App-V TCO whitepaper

https://go.microsoft.com/?linkid=9722838

App-V_SAPGUI_walkthrough_06_2013.zip