Implementing App-V – Part IV: Sequencing Applications

January 18, 2010 at 3:50 am | In App-V | 15 Comments
Tags: , ,

 

Other posts in this series:

Implementing App-V – Part I: Introduction to Application Virtualization

Implementing App-V – Part II: Choosing and Preparing the Environment

Implementing App-V – Part III: Integrating Clients

Ok, we had a good look about the entire App-V platform so far: Explanation about application virtualization and the components involved in App-V (Post I); installation of the App-V Server including some troubleshooting tips (Post II); integrating App-V client components, testing the default application and some troubleshooting about this process as well (Post III).

Now it is time to sequence some real applications and deliver them to clients. As always, I’m going to start with an easy one, so you can see all the tricks involved to get the things working. But first, we must prepare the App-V Sequencer machine.

As we’ve seen in Post I, the main component involved in the sequencing process is the App-V Sequencer.

Sequencer Quick Checklist

  • Use the same base operating system for both, Sequencer and Target (client) machines. Microsoft does not support using different type of OS between these two. Off the record: I’ve used many applications that worked perfectly when this requirement was not fulfilled.
  • The Sequencer machine must have a second partition available. The common use for this one is to assign the Q:\ drive letter.
  • Sequencer and Client machine must have the same Windows Installer version.
  • In the Sequencer machine ensure that the directories %TMP%, %TEMP% (user temporal data) have sufficient space, since the application use this directory to store temporal sequencing data.
  • Before sequencing an application you should close all other programs, including Antivirus.
  • As a recommended best practice, use VirtualPC or any other type of virtual machine for the App-V Sequencer. Combine this using snapshots or differencing disks to always have available a fresh OS to deploy applications. 

For more information about the sequencing process and requirements, check the Sequencing Guide from Microsoft and also the Sequencing Best Practices.

App-V Sequencer Setup

Once you’ve checked all the requirements mentioned above, the installation process is quite simple and straight forward.

clip_image001

App-V Sequencer main window:

clip_image001[5]

Sequencing Applications Step-by-Step

As I mentioned earlier my first pick will be a simple application, this will allow us to get familiarized with the sequencing process. I want to start showing the App-V compatibility with some non-Microsoft applications, I’ll be using Mozilla Firefox.

1. In the App-V Sequencer program window select “New Package”.

clip_image001[15]

2. A new wizard will start, select the package name “Firefox”.

clip_image001[39]

3. In the next window you are ready to get started with the applications installation and capture, so you can start creating the installation folder in the Q:\ drive.

clip_image001[7]

Within this folder, the application will store all the program files and the sequencer will use them to package the application.

Note: You don’t need to place the installer inside this folder.

4. Click on “Begin Monitoring” to start the installation process.

clip_image001[11]

5. The capture process will start by selecting the folder in the Q:\ drive.

clip_image001[9]

6. Once you’ve selected the folder, the virtual environment will start to load, wait for the “Monitoring started. Please begin installation” message appears.

clip_image001[17]

7. Locate the installer and start the installation process.

clip_image001[23]

8. In the installation process, the main step will be in the destination folder option that the program use to place the program files. Select the folder you’ve selected to be monitored. In my case: Q:\Firefox.

clip_image001[25]

9. Once the installation is complete and you verified that the program was installed correctly, get back to the sequencer window and click on “Stop Monitoring” and click on “Next”.

clip_image001[27]

10. In the next window you can add some more files inside the package. This can help you if you are using customized applications, that need to load local files.

clip_image001[29]

In my case I don’t need any.

11. In the next window, the sequencing process detects the applications that compose Mozilla Firefox, in my case the Firefox standard app and the Firefox safe-mode.

clip_image001[31]

You can add new ones, remove the detected and modify the components involved: File type associations and icons.

clip_image001[33]

For every application shown here, we will need to make a small change. Click on each application in the right list, and select the “Edit” option. In the “OSD File Name” you will probably see a long name, like “Mozilla Firefox 1.9.1.3523.osd”.

You need to change this one removing all the spaces in the name, likeFirefox.osd”.

clip_image001[83]

Change this in all applications involved and click on “Next”.

12. The next step is optional, where you can launch the applications for a final check that they are working properly. Click on “Next”.

clip_image001[35]

13. Sequencing process is complete. Click on “Finish”.

clip_image001[41]

14. The package is ready for the final customization regarding the application deployment.

clip_image001[43]

In the App-V Sequencer window, select the “Deployment” tab and change the Protocol option to “RTSP” (this will automatically change the Port to 554), and in the Hostname option select the name of the App-V Server, in my case “appv-server”.

clip_image001[45]

In the Operating System list, you can add all the baselines where this application can become available. And note also the option to generate an MSI package, that you can use it with the App-V Stand Alone mode (explained in Post I of this series) and/or System Center Configuration Manager (SCCM) integration with App-V.

15. Before saving the package, you can explore other options within the Sequencer, like the registry files that are modified by the application.

Once you are done, click on save this package locally.

clip_image001[47]

With the project saved, you can check on the files created and verify that the OSD files were not created with names composed by blank spaces.

clip_image001[53]

Adding the Package to the Server

Now that the package has been sequenced and created, it is time to add it to the server.

1. Copy the files created in the App-V Sequencer to the “content” folder in the App-V Server.

2. In the App-V Server, open the App-V console. Right click in Applications and select “Import Applications”.

clip_image001[1]

3. Select the SPRJ file for the Mozilla Firefox and click “Open”.

clip_image001[3]

4. In the General Information window, accept the default options and click on “Next”.

clip_image001[5]

5. In the “Published Shortcuts” select the shortcuts that the clients will have created.

clip_image001[7]

6. In the “Access Permissions” select the group that will load this application. In my case, I’m using Domain Admins.

clip_image001[9]

7. In the “Summary” window, click on “Finish”.

clip_image001[11]

And now you have the application ready in your App-V Server to be deployed.

clip_image001[69]

Testing the Application

After completing the importing wizard, the application is ready to be deployed in the client machines.

Access the client machine, and if you want to avoid the process of log-off and log-on to test it, locate the App-V Client console (C:\Program Files\Microsoft Application Virtualization Client\SftCMC.msc), select “Publishing Server” and click on “Refresh Server”.

clip_image001[71]

The new icons will appear in the desktop or in the places you’ve selected.

clip_image001[73]

Mozilla Firefox starting

clip_image001[13]

Troubleshooting App-V Published Applications

The most common error about App-V applications I’ve experienced are regarding the firewall exceptions discussed in the Post III of this series. But, there’s also another problem that appears related to the package it self.

If the package that you’ve created, the OSD file name uses spaces between, like “Mozilla Firefox 1.9.1.3523.osd”:

clip_image001[51]

Then most likely when you try to deploy this application, after importing it in the server, you’ll get these errors:

The package requested could not be found in the system data store or the files associated with this package could not be found on the server”. “Error code: 4513CDC-1690150A-20000194

clip_image001[49]

To fix this, you’ll need to regenerate the sequenced application as shown above, editing the application information and remove any blank spaces in the OSD file name.

More Resources

Other posts in this series:

Implementing App-V – Part I: Introduction to Application Virtualization

Implementing App-V – Part II: Choosing and Preparing the Environment

Implementing App-V – Part III: Integrating Clients

Implementing App-V – Part III: Integrating Clients

November 7, 2009 at 7:32 pm | In App-V | 4 Comments
Tags: ,

 

Other posts in this series:

Implementing App-V – Part I: Introduction to Application Virtualization

Implementing App-V – Part II: Choosing and Preparing the Environment

Implementing App-V – Part IV: Sequencing Applications

We’ve already talked about Application Virtualization and some common scenarios (Post I), talked about the existing models in App-V and how to install the App-V Management Server (Post II); now it’s time to work with the App-V clients.

I was considering to not include this post and go directly to sequencing applications, but most of the errors and blocking issues that appear in App-V are related on not having a environment properly installed.

The process will start with the App-V Desktop Client installation.

App-V Desktop Client Installation

Select a client machine that will receive some of the sequenced applications and you shouldn’t have any problem with this installation, pretty straight forward:

1. Double click on the installer and most likely you will be needing to install a few components before starting.

clip_image001[22]

2. The wizard starts and click on “Next”.

clip_image001[24]

3. Accept the License Agreement.

4. Select your option for Microsoft Update.

5. Select “Custom” installation option.

clip_image001[26]

6. Accept the default installation path.

clip_image001[28]

7. Data Location, the default preferred drive letter by convenience is used the letter “Q” (avoiding to collide with possible network drives).

clip_image001[30]

8. Then you can select the cache size that the client machine will use. Every time that the client downloads applications, it will use the local cache for every time the application needs to be loaded again in the session. You can use the default option provided.

clip_image001[32]

9. On Runtime Package Policy Configuration use the default options adding the “On Publishing Refresh” option inside “Automatically Load Application”.

clip_image001[34]

10. On "Publishing Server” complete the options used for your App-V Server. And since I won’t be using SSL for the communication, I’m selecting the type “Application Virtualization Server” and “Port” 554.

clip_image001[36]

11. Click on “Install” and we are ready to go.

Testing the Default Application

As we’ve seen it before, once you install the App-V Management Server a default application is installed.

appv27

We are going to use it to validate that our environment is ready to go and start sequencing applications. Unfortunately you will need a few steps before publishing the application:

1. First of all, re check the configurations mentioned in Post I of this series:

- Ensure that the Application Management Server service has started.

clip_image001[14]

- The content folder (C:\Program Files\Microsoft System Center App Virt Management Server\App Virt Management Server\content\) must be shared with proper permissions: “Everyone” the “Read & Execute”, “List folder contents” and “Read” access.

- If you have the firewall enabled, ensure that you enable the exceptions for inbound connections with the programs sghwdsptr.exe and sghwsvr.exe. Both located in “C:\Program Files\Microsoft System Center App Virt Management Server\App Virt Management Server\bin\”.

appv25

To make a first quick check about the connectivity, you should always start using “telnet appv-server 554” to ensure that the ports are open between the hosts.

What Happens If I Don’t Complete The Requirements?

If any of those are not in place, the error code that you should be receiving when you try to access an application is: “The Application Virtualization Client could not establish a connection to the Application Virtualization Server” “Error code: 4513CDC-19D06A0A-10000004”.

clip_image001[18]

And in the Event Viewer you’ll see a bunch of warning messages and one error: “The Application Virtualization Client could not connect to stream URL ‘RTSP://appv-sequencer:554/application” along with the same error code.

clip_image001[20]

2. With all that in place, time to get the application ready. Access the App-V Management console, open the Default Application Properties. In the General tab, the OSD and Icon path must be using a UNC path, like in my case: “\\appv-server\content\”.

clip_image001[12]

3. Shortcuts tab will let you decide where you want to insert the client’s shortcuts.

clip_image001[10]

4. Access Permissions: Here you can select all the domain groups that will have access to this application.

clip_image001[8]

5. Edit the DefaultApp.osd file that is stored within the content folder mentioned. Look for the “Implementation” area and replace the name of the server using the current name of the actual server.

clip_image001

6. Login to the client machine using credentials that belong to the group you just gave access to the application. You will see the Default Applications shortcuts already in place, double click the shortcut.

And there you have it, your environment is ready to receive and launch applications.

Note:

Remember that by default, the applications are refreshed once the user logins to the client computer.

If you want to avoid this process, in the client computer access “C:\Program Files\Microsoft Application Virtualization Client” folder and double click “SftCMC.msc”. Inside “Publishing Servers” right-click the name of the server and select “Refresh Server”.

clip_image001[16]

With that, any update on the applications published should be shown in the client.

In a few days more, I’m publishing the fourth part of the series: sequencing applications.

Other posts in this series:

Implementing App-V – Part I: Introduction to Application Virtualization

Implementing App-V – Part II: Choosing and Preparing the Environment

Implementing App-V – Part IV: Sequencing Applications

Implementing App-V – Part II: Choosing and Preparing the Environment

July 12, 2009 at 10:35 pm | In App-V, Virtualization | 6 Comments
Tags: , ,

 

Other posts in this series:

Implementing App-V – Part I: Introduction to Application Virtualization

Implementing App-V – Part III: Integrating Clients

Implementing App-V – Part IV: Sequencing Applications

After the first post about App-V and application virtualization technologies we had a nice review about the platform. So, if you feel like this type of technology can add some value to your organization, let’s start playing around.

Before you begin, let’s talk about the available models in App-V that will help you choose the strategy according to your platform. The architecture is prepared to support almost any scenario, including low-bandwidth branches offices or even offline deployments.

App-V Models

Stand-Alone Mode

This is the minimalist mode of App-V with no infrastructure required but the machine that packages the application, “sequencer” from now on, and the App-V Desktop Client.

Sequencing the application adds all the necessary files into one package and generates an MSI file that you can use to deploy manually, by group policy or using SMS/System Center Configuration Manager.

This mode is focused when you have several offline users (do they even exist at this point?), or when you have already SCCM deployed and you don’t want to add a App-V Server.

Streaming Mode

This model it is also focused on platforms that do not want Management Servers. The components present here are the streaming server, sequencer to package applications and the App-V client.

The Streaming Server as the name says it, streams the applications to the clients on demand. The server does not use a SQL database, the permissions are set and maintain based on ACLs (access control lists).

You can use it on low-bandwidth links like branch offices to optimize the application deployment.

Full Infrastructure Model

The full model contains the full set of components in App-V: Management Server, Sequencer, Streaming server and App-V Client. In most cases, the streaming server it is completely optional since the application streaming can be executed from the Management Server, delivering applications on demand to users.

Using a Management Server will add the applications shortcuts publication within the process of deployment. And includes more features for reporting, using a SQL database.

Applications in this model are associated to security groups in Active Directory. And you can also manage centrally the applications licenses.

We are going to focus this set of posts in a Full Infrastructure Model, using a Management Server, Sequencer and a App-V Desktop Client.

Enough with the explanations, let’s get to work.

Installing App-V Management Server

The process it is a little tricky, but we’ll try to set clear all the necessary requirements before running the installation wizard.

Pre-Requisites

This is the list of minimum requirements:

  • Windows Server 2003 SP1 or superior
  • IIS 6 role installed with ASP.Net
  • .Net Framework 2.0
  • MMC 3.0
  • SQL Server 2005 Express SP2

Before proceeding with the installation take a closer look to what are the SQL and IIS configurations necessary that we are going to review next.

Here’s the environment that I’ll be using:

  • Active Directory and DNS platform in place.
  • Windows Server 2008 (32-bit)
  • IIS 7 role installed with ASP.Net
  • SQL Server 2005 Express SP2.

SQL Special Considerations

The SQL Express can be installed with the default options, but, as I mentioned it before, there are a few SQL configurations that needed to be set before the App-V installation process:

1. Open SQL Server Surface Area Configuration Tool from the SQL Server Start Menu folder.

2. Click on Surface Area Configuration for Features.

3. Inside of “CLR Integration”, click the option for “Enable CLR Integration”.

4. Inside of “OLE Automation” click “Enable OLE Automation”.

5. Close “Surface Area Configuration for Features”.

6. Click “Surface Area Configuration for Services and Connections”.

7. Inside “Remote Connections” select “Local and Remote Connections” and set “Using both TCP/IP and named pipes”.

8. Restart the SQL Server services to apply all changes.

IIS Considerations

Since I’m using Windows Server 2008 and IIS 7 for the Management Server installation, there are a few considerations about it.

  • Install ASP.Net feature with all pre-requisites.
  • Windows Authentication feature enabled.
  • IIS 7 Management Tools with Management Service and IIS 6 Management Compatibility features installed.

Step-by-Step App-V Management Server Installation

One completed the pre-requisites and considerations, let’s start with the installation.

1. With the App-V installation media, double click the setup executable.

2. Welcome page, click on “Next”.

3. Accept the License Agreement and click on “Next”.

4. Select “Custom” setup type.

5. Here you can modify installation components (not recommended) or change the installation directory. Click on “Next”.

6. Select the SQL Server instance where the database will be stored. In my case, I’m using the same server with one instance. Click on “Next”.

7. Select “Create a new database”. Maintain the suggested database name “APPVIRT”. You can also modify the location for the database files. Recommended for this type of server to store the database on a different hard drive than the operating system.

8. Leave deselected the option for “Use enhanced security”. You can set secure connections with this server, that will require of course for a certificate. Out of the scope in our case.

9. Leave the default value for the RTSP (Real Time Streaming Protocol): 554.

10. Select the group that will have full access to the App-V Management Server console. In my case, I’m selecting only “Domain Admins” to give access. This option can be modify later.

11. Select the provider group, that by default will have access to the enabled applications. In my case, I will select only “Domain Admins” and later personalize each application for each group.

12. Select the folder where the applications packages will be stored. Leave the defaultC:\Program Files\Microsoft System Center App Virt Management Server\App Virt Management Server\content\”. Click on “Next

13. On the “Ready to Install the Program” window click on “Install”.

After a few moments you will have the App-V Management Server fully installed.

14. Recommended: Reboot the server.

IMPORTANT: If any of the pre-requisites and considerations mentioned above are not completed, you will receive a message like this when you start the installation:

Error 25109. The installation program could not create the configuration data store. Please see the installation log file for more information

Post-Installation Procedures

There are basically three more tasks to execute after the App-V Management Server installation is completed to guarantee the proper functionality:

1. Once the server is rebooted, you will need to verify the “Application Virtualization Management Server” service. If you are running on a virtualized environment, you will need to manually start the service.

2. Share the “content” folder created for the applications packages (by default C:\Program Files\Microsoft System Center App Virt Management Server\App Virt Management Server\content\). Give to “Everyone” the “Read & Execute”, “List folder contents” and “Read” access.

3. If you have the firewall enabled, ensure that you enable the exceptions for inbound connections with the programs sghwdsptr.exe and sghwsvr.exe. Both located in “C:\Program Files\Microsoft System Center App Virt Management Server\App Virt Management Server\bin\”.

Note: If these firewall exceptions are not in place, you will also have problems with App-V clients trying to receive and execute the application packages. We’ll check that later.

And yes, you can now open the “Application Virtualization Management Console” and start working with the platform.

Make sure that you deselect the “Use Secure Connection” if you didn’t install a certificate for App-V.

Other Resources

As an interesting option to evaluate your App-V Management Server environment is the Microsoft Application Virtualization Best Practices Analyzer.

It verifies general configurations in your Management and/or Streaming Server 4.5, and notify about possible anomalies as a diagnostic tool. Requires the presence of Microsoft Baseline Configuration Analyzer to generate the reports.

In this example, the warning generated is about the database been stored in the same place as the Management Server.

 

I’ll be reviewing in the next posts how to prepare clients and applications to be deployed by App-V. I’ll be using Microsoft Office 2007 as the sequenced application.

Other posts in this series:

Implementing App-V – Part I: Introduction to Application Virtualization

Implementing App-V – Part III: Integrating Clients

Implementing App-V – Part IV: Sequencing Applications

Cheers!

Implementing App-V – Part I: Introduction to Application Virtualization

May 26, 2009 at 1:31 am | In App-V, Virtualization | 5 Comments
Tags: , ,

 

Other posts in this series:

Implementing App-V – Part II: Choosing and Preparing the Environment

Implementing App-V – Part III: Integrating Clients

Implementing App-V – Part IV: Sequencing Applications

Virtualizing applications it is not a very common requirement for most administrators or companies. These solutions doesn’t seem like a “must” in any given environment, but why? One of the main reasons it’s related to the benefit/cost equation it’s not quite clear for most of us.

With these posts I’ll try to give a small introduction to the technology, explain the environment, provide a step-by-step deployment for App-V and the benefits that could apply to your organization.

What is Application Virtualization?

Application virtualization represents the technologies that permits to remove the complexity of deploying and maintaining applications for desktop users by providing:

  • Applications centralized management. Facilitates the process of deploying, updating and removing applications. 
  • Removing potential conflicts on desktop clients. Each application deployed using this type of technology runs in a isolated environment.
  • Capability to capture a set of interconnected applications into a single package to be distributed among clients.
Common Scenarios

Let me give you a few common scenarios where application virtualization applies:

Scenario A

Problem: You are using a company’s application that requires some special configurations every time that is deployed, and that is also interconnected with other applications (for example: A local database engine, Java Runtime Environment or some other particular requirement). It demands you several hours every week to support end-users for deploying or troubleshooting configurations.

Solution: Providing application virtualization you can guarantee end-users to always have the same configuration deployed, no matter when or where; since you only need to configure it once and then wrap up the entire set of applications into one package.

Scenario B

Problem: You have a dynamic base operating system image that changes constantly, there are several type of base images according to the users, and you not have deployed Microsoft Deployment Toolkit (MDT) combined with System Center Configuration Manager (SCCM) to maintain images. You have two options: Manually and locally change the desktop image on every client by installing or removing applications; or providing end-users with local administrator privileges to achieve some kind of auto-management (don’t get me started on that).

Solution: Implement application virtualization with a clean base image will help you to minimize the impact every time there’s a change. With a centralized management of the applications you can make all the necessary changes and implement those instantly. Adding also granularity on the type of images, special applications can only be distributed to selected group of users.

Did you read the scenario problems and feel like “been there, done that”? Then you definitely should continue reading these posts.

Existing Platforms

There are several platforms provided to achieve application virtualization, the most common are:

To name a few differences among them:

  • ThinApp is the only one that supports 64 bits OS deployments.
  • App-V, SVS and XenApp use a set of kernel mode drivers and supporting services to manage virtualization process. ThinApp includes the entire virtual environment directly into the application package.

This set of posts will be focused on reviewing the components and process within an App-V environment. As well as providing an step by step deployment.

App-V Components

App-V is the solution provided by Microsoft to achieve a secure, scalable and high performing applications deployment. Here’s a quick review about which components are involved.

App-V Management Server

In charge of delivering sequenced applications on-demand to selected clients. Any Management Server needs a SQL data store (multiple Management Servers can access the same data store) where it retrieves information like application assignments, records and permissions within the App-V management environment.

App-V Management System

Composed by the App-V Management Console and the App-V Management Service. It represents the communication channel between the MMC and the SQL data store, controlling any read/write requests to the database. It can be installed together with the Management Server or in a separate computer with IIS.

App-V Sequencer

In charge of producing the application package. It is basically a tool installed on a computer (preferred using the same OS as App-V clients) that captures the installation of the applications to generate the package, that consists in several files: Open Software Description (.osd file that links other files); sequenced application file (.sft file); icon files (.ico); XML manifest and a project file (.sprj). Optionally an MSI file can be included for offline deployments, but we’ll see how to do that later.

App-V Streaming Server

This server will have a the role of streaming applications to the clients where these do not have an acceptable connection to the Management Server, like a branch office. Streaming applications is the only functionality enabled for this server, and it represents, on most cases, as an optional role to be installed.

App-V Client

Installed on the end-user operating system, interacts with the App-V Server. Manages package streaming into cache and publishing refresh. Stores user-specific information related to the virtual applications in each user profile, so every time the client reboots the machine, the virtualized applications conserves last changes made. This client it is also represented with “Terminal Services” version, the only obvious reason is that the applications are published using Terminal Services virtual desktop.

Here’s a graphical description of the entire App-V environment

Resources

Here are some of the recommended resources you can find about the technology

On the next posts I’ll use more practical examples and show you how to deploy an entire environment for virtualizing application. Stay tuned.

Other posts in this series:

Implementing App-V – Part II: Choosing and Preparing the Environment

Implementing App-V – Part III: Integrating Clients

Implementing App-V – Part IV: Sequencing Applications

Cheers!

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.