Reviewing App-V and SCCM 2012 Integration – Part II
In this second part of this series of posts, we are going to review some step-by-step processes about the integration of App-V with System Center Configuration Manager 2012 (SCCM), which is included in my book “Microsoft Application Virtualization Advanced Guide”.
The entire chapter can be downloaded for free in this link, where you can find more information about this integration.
Implementing SCCM and App-V Integration
And now, after reviewing all the benefits, requirements and considerations about the integration it is time to get our hands into the SCCM 2012 and App-V integration.
Distributing the App-V Client with SCCM 2012
Once the SCCM 2012 platform is installed and the client agents were deployed successfully, in this section we are going to review how to install the App-V Client in a given SCCM Collection.
In this example, we will use the “setup.exe” file which installs the pre-requisites in the same process. The file “setup.msi” can be used separately, but the pre-requisites must be installed also separately.
Distributing the App-V Client using SCCM is not necessary for the integration to take place; this is an optional step and should not be considered if the App-V Client is already installed in all clients.
Let’s review the process for adding and installing the App-V Client package:
1. Within “Software Library” pane, we have several options available. Since this “application” contains several files necessary to complete a successful installation; under “Application Management” right click “Packages” and select “Create Package”.
2. Specify the package name and enable the “This package contains source files” option.
3. In “Source Directory”, select the UNC path for the installation files.
One great improvement in SCCM usability is how we use the “Programs” assets, which are basically the command lines to be used for deploying packages or scripts.
Using SCCM 2012, soon as we try to add a package we will be asked to insert a new program (previously, this program had to be created separately).
4. In “Program Type”, select “Program for computers”.
5. Select the program command line and other parameters. Since I’m using the .exe file, the command line used is the following:
setup.exe /s /v"/qb-! SWICACHESIZE=\"6144\"
6. In “Requirements” we can configure several parameters prior to run this program; for example: The client platforms to be installed or the estimated disk space.
7. Complete the wizard.
8. Soon as the package is added, we can select the option “Deploy” in the SCCM 2012 console for that package.
9. In the “Deploy” option, we will receive a new wizard. The first option will let us select the “Collection” to be used for this deployment.
10. In “Deployment Settings” we can configure how to deploy this package: “Available” is used to let the package be available to the client and let the user decide when to install it; or “Required” which will automatically install the client.
11. In “Scheduling” we can configure the schedule options for this package to be installed. In my example I’m using “As soon as possible”.
12. In “User Experience” we can configure options about the possibilities each user receives when the installation or assignment is taking place.
13. In the next window, we will receive the options regarding the type of delivery methods: Streaming delivery or local delivery (download and execute).
a. “Download content from distribution point and run locally” represents the local delivery method.
b. “Stream content from distribution point” represents the streaming delivery.
c. Note also that we can configure a different type of delivery depending if the client is connecting from the same LAN or using a slow connection.
14. In “Summary” review the deployment settings for the package and finalize the deployment configuration.
Using the “Monitoring” pane we can review the current status of the deployment, including the “Completion Statistics” which retrieve a simple and easy report overview of the deployment without requiring running any specific report.
Also in this section we can modify the deployment properties configured recently for the same package.
Using Virtual Applications in SCCM 2012
Creating, handling and deploying virtual applications within SCCM 2012 has been simplified regarding what we needed to configured using SCCM 2007 R2. Virtual applications are supported by default without requiring any execution change in the platform.
Creating Virtual Applications
The concept of “Importing” virtual applications does not apply anymore in SCCM 2012; “creating” is the right word in this case. But the basic steps remain the same, to create a virtual application we need the basic component: The manifest (XML file).
Let’s review the step-by-step:
1. In “Software Library”, “Application Management”, right-click “Applications” and select “Create Application”.
2. Select the path for the application manifest using the UNC. In this example we will be using “Winamp” virtual application.
3. Complete the information about the application: Name, version, and so on.
4. Complete the wizard and the application will be added into SCCM.
Soon as the application is added we can configure its deployment using the same section in the console.
Deploying Virtual Applications
The deployment process of App-V packages is pretty much the same used in SCCM 2007, but some interesting options are added in the process.
Some of these new capabilities are not actually new but the usability of these features has been simplified in order to optimize our deployments. Some of the interesting capabilities are: Handling deployments types; or generating alerts depending on success and/or fail rate.
Let’s take a look at the deployment process in SCCM 2012 for virtual applications:
1. In the “Software Library” section, and using the applications list we can right-click the application we would like to deploy and select the option.
2. Select the “Collection” of devices where we would like to deploy this app, and also use the distribution point associated from which the clients will retrieve this application. In this example, “Distribution Point” is used with the SCCM 2012 Beta 2 installed “TESTDRIVEB2”.
3. In “Deployment Settings” we have the same options reviewed earlier, “Available” and “Required”.
4. In “Scheduling”, as seen before, we can define when this application will be available for deployment in client devices.
5. In “User Experience” we have similar options than the ones we’ve seen in the App-V Client package. In this section, we can configure to “Hide all notifications” for the users; this option is not selected as we will be reviewing the installation process in the client later.
6. Deploying software also includes the possibility to manage the alerts regarding this process. We can configure this deployment to elevate alerts for SCCM and/or System Center Operations Manager (SCOM).
In the SCCM section, we can configure the following options:
- Warning if deployment success rate is below selected percentage.
- Warning if deployment failure rate is below selected percentage.
And for SCOM, we must enable the option for generating alerts in Operations Manager. Enabling this option the SCCM client will communicate with the SCOM agent in the same machine to elevate this warning.
7. Review the “Summary” and complete the wizard.
Once the steps are completed, in “Software Library” section we can also review the “Deployment Types” records existing for the applications.
Double-clicking the deployment type, we will get the parameters configured earlier, plus a few more we should consider. Let’s take a look:
· In the “Content” tab, some of the options available:
- “Persist content in the client cache”: This option is used when we want to store this application in the cache and prevent an automatic deletion (which must be configured manually) for the files used.
- “Enable peer-to-peer content distribution”: This option is used for client machines to distribute the content with other client machines that are near. This parameter is not yet documented by Microsoft, so we cannot confirm about how does it works exactly.
- “Load content into AppV cache before launch”: Again, this option is not documented by Microsoft yet, but what we assume is that the package is loaded completely into App-V cache prior launch, instead that just the Feature Block 1.
- In the options below, as we reviewed earlier we can find the behavior of the delivery types: Streaming delivery or Local delivery (Download and Execute).
· In “Requirements” tab we can configure the dependencies about the deployment. In this case, there’s only selected an “Operating System”, but there are several other options like: Client’s memory, disk space, processor, existing registry path, and so on.
Here’s an example of creating a “Global Condition” (selecting a “Custom” requirement) to be included as a requirement in application deployment: Here, we will be using to be assessed by the client prior the deployment, if the file exists, the deployment continues.
As a reference, we will be using the “Program Files” App-V Client default installation folder, and selecting the App-V Client Management Console (“SftCMC.msc”).
· In “Dependencies” we can configure an existing application as a dependency to deploy the application.
· Each dependency can be configured with a selected “Priority”; this option is used with an “Auto Install” parameter. The application with higher priority will be installed first.
We cannot configure an existing SCCM package as a dependency. The only possibility is a previously added application.
The “Deployment Types” are basically a deployment profile configured for an application. Using this option in SCCM we are can configure different parameters for an application deployment to take place.
Take note that these “Deployment Types” are used to set parameters in the process of deployment behavior, but not parameters into the application settings.
On every application we can have different deployment types configured by just right-clicking the application and selecting “Create Deployment Type”.
Within the wizard, we will get the chance to configure all the necessary parameters for deployment. Completing this option and having different “Deployment Types” we can be certain to fit each deployment process in every scenario.
Here are some examples:
- We might need different “Requirements” for 32-bit and 64-bit clients: The App-V Client installs on a different “Program Files” folder and adds different drivers in each case.
- For roaming users, we would like to use the Local Delivery (Download and Execute) for client machines; guaranteeing users to run when the application is loaded locally and not depending on a streaming server.
Deploying Applications in Clients
Once we have configured the application and the deployment process, we just need to wait that the package is deployed in the SCCM client.
SCCM 2012 includes “Software Center” for every client machine deployed, using “Software Center” we can retrieve the latest status of applications available and installed for the client machine; as well as information about each package.
In this example, the client machine shows the virtual applications which are already installed, as well as virtual applications available to installation. For those applications marked as “Available” we must manually select “Install” to complete its installation.
The installation of the package depends on the package size and the deployment parameters we’ve configured.
Since we had configured earlier for not suppressing notifications, we should receive all the messages about the deployment processes.
Also, we can review in the App-V Client console about the current applications deployed. We can verify that the package URL for each application deployed using SCCM must be directed to the local SCCM cache (default location in C:\Windows\ccmcache).
With those verifications, we can confirm that our SCCM + App-V integration is working properly for deploying applications.
If we need to troubleshoot virtual applications deployments, the SCCM clients also includes a log file dedicated for virtual apps. This log file can be found, as the rest of SCCM logs, in “C:\Windows\CCM\Logs\VirtualApp.log”.
With that, we’ve completed the App-V and SCCM 2012 integration review. Remember that the entire chapter can be downloaded in this link.