Friday, September 5, 2008

App-V application deployment in Configuration Manager 2007 R2

Now that both Microsoft Application Virtualization (App-V) 4.5 as well as Microsoft System Center Configuration Manager 2007 R2 are both RTM, let's take a close look how they integrate together.

Installing Configuration Manager 2007 R2 requires SP1 already installed on your ConfigMgr server. After a successful installation of R2 you can see the virtualization popping up at several locations. There is for instance the Virtual Application tab on the Distribution Point properties, the Allow virtual application package advertisement on the Advertise Programs Client Agent properties (both need to be enabled) and off course the New Virtual Application Wizard under Software Distribution \ Packages. Let's start with that one.

image image image

Adding virtual applications to the Configuration Manager Console is a wizard driven module. It starts by the selecting the Virtual Application Package Manifest XML file.

image image

This is a new file which is created by the 4.5 App-V Sequencer. This means that in order to import your 4.1/4.2 sequences into Configuration Manager you will at least need to save them using the 4.5 sequencer. Resequencing should not be necessary because Microsoft supports 4.1/4.2 sequences on the 4.5 client. The manifest file holds the META data of the application such as links to the OSD, shortcuts, filetype extensions etc.

After selecting the Virtual Application Package Manifest file, ConfigMgr reads the information and displays the applications that are referenced by the manifest.

Selecting Next shows the General page of the wizard where we can fill in some basic information about the application. A very cool feature on the screen is the checkbox Remove this package from clients when it's no longer advertised. This option means that when a certain application is no longer advertised to a certain collection (and therefor falls out of scope of the client) it will automatically be removed from the client's cache. That's a very effective way to reduce installations and license costs, but I did not get this to work in my LAB...yet :-(

image image

Next up is the Data Source page of the wizard. Now this one was a little confusion for me. The Data Source page of the "normal" Package wizard reference an existing source location of a package which is used in a future distribution. However the Data Source page of the Virtual Application Package wizard reference a to be created source of a package. So make sure that when you set up this directory (UNC only!) you have write permissions in the share. Also make sure that you select an empty directory here. You will get no warning if you (accidentally) select an existing package and ConfigMgr will overwrite.

Next up is Security page (nothing out of the ordinary here) and the rest of the wizard (Summary, Progress and Confirmation) are read-only.

image image

So what did we get? A nice virtual application between our other applications. How integrated can it be! Now you can create an Advertisement like you normally would, targeting either Computer or User collections.

image  image

You'll notice that the Virtual Application doesn't have the Programs node. That's because Configuration Manager will handle the command line for you. Also when you advertise this program you'll see that the Program box is also gone from the properties Dialog.

image image

That gives us on little challenge though. Obviously you have to make sure that the Microsoft Application Virtualization Client 4.5 is present on the machine before you can install any virtual application. The normal way to do this is Configuration Manager is through the Run Another Program First checkbox. However this checkbox is located on the Program properties dialog box, which we don't have. So you'll either end up installing the App-V client on all your machines (which is probably what Microsoft would want you to do $$) or if you want to only install on the machines that need a virtual application target the App-V client to the same Collection (and probably other many ways).

So how about the Distribution Points? Do I need to target them? Yes you do, and here's where the streaming part starts being imported. As you might have heard, there are two ways to deliver you application to the client. Through BITS (and local loading) and through HTTP(S) streaming from the DP. The first one has the disadvantage that both the ConfigMgr client cache as well as the App-V client cache will be filled with the application (so numbers are doubled).

image image

After you've targeted a DP, Configuration Manager will put the source of the application on the DP like it normally would. Creating a subdirectory under SMSPKG$ with the PackageID as the name. This will hold the entire virtual application package (OSD, ICO, XML, SPRJ, SFT etc.). Additionally it creates a directory called VirtualAppStreaming which also has a subdirectory with the PakageID as it's name. One level deeper it also holds the SFT. This means that the SFT is actually created twice on the DP.

On the client the application will be added to Run Advertised Programs where the user can install it from. It can also be targeted as a mandatory advertisement.

image image

The application can now stream from the closest DP (managed through ConfigMgr) using the new client feature in App-V 4.5 called the Override URL. In the registry you can locate the original URL as well as the Override URL.

image  image

4 comments:

Anonymous said...

Hello, If i have a sccm 2007 R2, what components of app v 4.5 i need?

Only the sequencer? or too the server transmision?

Ment said...

Only the sequencer and the client. No additional app-v 4.5 server components are needed.

Anonymous said...

I found this site to be very useful!!

Thanks heaps !
LP

Keith M. Rice said...

Nice overview!