Q. How can I deploy the Microsoft Application Virtualization (App-V) client using System Center Configuration Manager (SCCM) if App-V isn't in my base OS image?

John Savill

May 31, 2011

4 Min Read
ITPro Today logo in a gray background | ITPro Today

A. If you're using SCCM task sequences to deploy your OS, it's very easy to add in a step to also deploy the App-V client. There are two main approaches. The first is to just copy the App-V client setup files to a folder and create a new package. Then, within that package create a program that calls the setup.exe for the App-V client (you need one for x64 and one for x32). The setup.exe will install, as will prerequisite requirements such as Visual C++ SP1 Redistributable 2005 and 2008 and the Application Error Reporting. Within your program, add the various switches to configure the App-V client with App-V Server (such as cache size), as shown here.





My full command line from above is shown below. Note that I use RTSP (hence port 554)—this might be different in your organization, and so might the host name, etc. The switches shown are for demonstration only.

Clientx64setup.exe /s /v" /qn SWIPUBSVRHOST="savdalappv01.savilltech.net" SWIPUBSVRTYPE="RTSP" SWIPUBSVRPORT="554" SWIPUBSVRDISPLAY="SAVDALAPPV01" SWIFSDRIVE="Q" SWICACHESIZE="4096""

You need all the repeat double quotes, and note that in my distribution, I have a Client folder under the main App-V source folder that contains the actual main files. That's why I have Clientsetup.exe. Make sure you use Browse to check that the path is correct.

The above is kind of a lazy approach (but it works) The alternative is to actually install the prerequisites manually, then run setup.msi (instead of setup.exe) to install the actual App-V client. Once again, you pass switches to the setup.msi to perform the configuration. If you're deploying to Windows Vista and Windows 7, you need to deploy the Visual C++ SP1 2005 and 2008 redistributables (you need the linked versions because they have the ATL security update). The application error reporting is in the Support folder of each architectures setup files and is installed from there. If you're deploying to Windows XP, you also need to deploy the Microsoft Core XML Services 6.0 SP1.

You could deploy these by creating a package for each of the components and adding a program to deploy with dependencies (the best option to re-use components). Or you can put them all in one package and use a script to call each component one at a time, such as the following (which I saved as x64install.bat):

start /wait %~dp0Clientprereqvc2005vcredist_x86.exe /Q
start /wait %~dp0Clientprereqvc2008vcredist_x86.exe /Q
start /wait msiexec /i %~dp0Clientx64SupportWatsondw20shared.msi APPGUID={342C9BB8-65A0-46DE-AB7A-8031E151AF69} REBOOT=Suppress REINSTALL=ALL REINSTALLMODE=vomus
start /wait msiexec.exe /i %~dp0Clientx64setup.msi SWIPUBSVRHOST="savdalappv01.savilltech.net" SWIPUBSVRTYPE="RTSP" SWIPUBSVRPORT="554" SWIPUBSVRDISPLAY="SAVDALAPPV01" SWIFSDRIVE="Q" SWICACHESIZE="4096" /q

Note that I have switches to configure the App-V client. Also note for the Watson (Application Error Reporting) install, the APPBUID is App-V client version-specific. In the above, that's the right GUID for the 4.6 SP1 client install. The full list can be found on this TechNet page, in case you want to install a different version of App-V client, but this FAQ is based on installing 4.6 SP1 client.

I also created a batch file for the x86 install:

start /wait %~dp0Clientprereqvc2005vcredist_x86.exe /q
start /wait %~dp0Clientprereqvc2008vcredist_x86.exe /q
start /wait msiexec /i %~dp0Clientx86SupportWatsondw20shared.msi APPGUID={342C9BB8-65A0-46DE-AB7A-8031E151AF69} REBOOT=Suppress REINSTALL=ALL REINSTALLMODE=vomus
start /wait msiexec.exe /i %~dp0Clientx86setup.msi SWIPUBSVRHOST="savdalappv01.savilltech.net" SWIPUBSVRTYPE="RTSP" SWIPUBSVRPORT="554" SWIPUBSVRDISPLAY="SAVDALAPPV01" SWIFSDRIVE="Q" SWICACHESIZE="4096" /q

I use the same 32-bit Visual C++ install for both 32-bit and 64-bit installs. Only the Watson version and App-V client change between architectures.

I then create a program within the App-V client package that just calls the x64install.bat (or x32install.bat), as shown (called BitByBit for mine, compared to the regular x64 install that uses setup.exe):





My full hierarchy of files is shown below for easy reference to match my configuration and install files:

 App-V Client 4.6 SP1x64install.bat
App-V Client 4.6 SP1x86install.bat
App-V Client 4.6 SP1ClientPrereqvc2005vcredist_x86.exe
App-V Client 4.6 SP1ClientPrereqvc2008vcredist_x86.exe
App-V Client 4.6 SP1Clientx64setup.exe
App-V Client 4.6 SP1Clientx64setup.msi
App-V Client 4.6 SP1Clientx64SupportWatsondw20shared.msi
App-V Client 4.6 SP1Clientx86setup.exe
App-V Client 4.6 SP1Clientx86setup.msi
App-V Client 4.6 SP1Clientx86SupportWatsondw20shared.msi

Ideally, put each part into its own package with its own install program. Doing it that way gives you the most reuse and self-repair functionality. The batch file approach is a nice middle option, while just calling setup.exe is certainly the fastest and easiest way but will gives a slower installation (the prerequisites have to be extracted from the setup.exe for Visual C++ then installed).

No matter which method you choose, you should place the actual App-V client deployment near the end of the task sequence, where you normally deploy applications such as your malware protection and Microsoft Office (if it's not virtualized), as shown below. Note that in mine, I'm also deploying the Office Deployment Kit for App-V, because I virtualize Office 2010 with App-V.






Read more about:

Microsoft

About the Author

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like