Microsoft SCVMM 2012 can manage Microsoft Server Application Virtualization (Server App-V) packages. In this blog post, we are going to explain what a Server App-V package means and how we can create Server App-V packages with Microsoft Server Application Virtualization Sequencer.
Prologue – What is Server Application Virtualization?
Server Application Virtualization is functionality that packages server applications into xcopyable images, which can then be easily and efficiently started and deployed without an installation process. This can all be accomplished without requiring changes to the application code. This virtualization process also separates the application and its associated state from the operating system thereby providing new approaches to deployment and management.
Server Application Virtualization is a core technology for the next generation of datacenter management capabilities from Microsoft, and is central to the service centric approach to management that will be enabled with System Center releases in 2012.
Getting Started with Microsoft Server Application Virtualization Sequencer
A Server App-V package is simply a self-contained software application. When you install an application, the setup program deploys files, registry values and Windows components to your machine. Now imagine all of that data contained in a single file. That single file is the Server App-V package. It contains the information required to run a software application when it is deployed to a machine. Once your package is ready, you can deploy it to thousands of machines without going for the product installation steps again. Deployment of a Server App-V package is a one click operation from the end-user perspective.
Customers can easily deploy a Server App-V package to a Windows Server and start using the software application that is contained in the package. Microsoft SCVMM provides the UI to configure and deploy Server App-V packages to your virtual machines. However, to create a Server App-V package, we must use Microsoft Server Application Virtualization Sequencer which comes with the Microsoft SCVMM installation.
Here are the five steps to create a Server App-V package:
1- Install Server App-V Sequencer
2- Start Server App-V Sequencer to monitor the system
3- Launch and install your application
4- Stop Server App-V Sequencer monitoring the system
5- Save the Server App-V package
Install Server App-V Sequencer
Microsoft Server Application Virtualization Sequencer installer is named SeqSetup.exe and distributed through Microsoft SCVMM 2012. Although the installation of Server App-V Sequencer is straightforward, there are important points that you need to be aware of:
o Always install Server App-V Sequencer to a clean machine. It’s important that the sequencer machine doesn’t have other installations prior to the installation of Server App-V Sequencer. Otherwise, sequencing process might be interrupted with other process activities.
o Use a virtual machine. Doing so will make your life easier as you will have the chance to take snapshots of the machine during the installation of the application.
o If you are planning to deploy a Server App-V package to multiple OS types, choose the lowest version of these OS types as the sequencing machine. For example, if you want to deploy a Server App-V package to both Windows 2008 and Windows 2008 R2, choose Windows 2008 as the sequencing machine.
Once you determine the OS and virtual machine, you can launch SeqSetup.exe and install Microsoft Server Application Virtualization Sequencer. After the installation completes, you will notice an extra drive letter in the system. This drive letter, by default named ‘Q’, is a symlink to a folder in your main hard disk drive, commonly labeled as ‘C’, and will be used as the primary sequencing location during the sequencing process.
Start Server App-V Sequencer to monitor the system
Once the Server App-V Sequencer has been successfully installed, you are ready to virtualize your server application. Your next step is to launch Server App-V Sequencer and go through the wizard to start monitoring the system. Server App-V Sequencer must be in “monitoring mode” as you install your application so that Server App-V Sequencer can capture the system changes that are being made by application installers and collect required information to create the Server App-V package.
When you launch Server App-V Sequencer, the welcome page will be displayed:
Here, we want to create a new virtual application package. Clicking “Create a New Virtual Application Package” will take us to the following page:
This page reports any issues that may potentially interfere sequencing process. Make sure that no issues are reported in this page. For example, if you have running applications on the system, close them. Otherwise, Server App-V Sequencer will warn about the processes running on the system. Clicking Next button at this page will take us to the following page:
Here, you can specify the installer that you want to run or you can choose a custom installation option. If you have only one setup program to execute, you can specify its path in the first option and sequencer will automatically launch the setup after monitoring starts.
Second option is useful if you want to launch setup programs or scripts manually. Sometimes, you may want to execute multiple executable or script files to perform installation and configuration of the applications. Selecting “Perform a custom installation” option and clicking Next button will take us to the following page:
We are almost there… In the above page, you specify the package name for the virtual application package. You should provide a valid name here: If you don’t change the “Primary Virtual Application Directory” setting, the package name will also be used as the root folder name for your package. So, make sure the package name you specify complies with the folder naming standards. Clicking Next button at this page will start the monitoring session for the sequencing process. You will see the following page after a progress bar hits 100%.
Launch and install your application
You are ready to install the application you want to sequence. At this time, sequencer is actively monitoring any system changes that are made by other processes. You can install and configure your application to the machine. Here are a few tips that will make your life easy
o Server applications may take time to install and configure. It’s easy to forget an installation step if you have a lengthy list of installation steps. To prevent a reset in sequencing process, you can take snapshots during installation phase regularly. Doing so will enable you to revert the machine back and continue sequencing from the last good state.
o After installation completes, make sure the server application is running correctly. Running the applications during sequencing will allow you to understand the Server App-V package’s functionality once it is deployed to server machines.
Stop Server App-V Sequencer monitoring the system
Once you finish installation of the applications, select “I am finished installing.” and click Next button. Doing so will stop the monitoring session for sequencer. You shouldn’t do any installation step beyond this point. Once monitoring session is stopped, there’s no way to start it again. So, you must ensure that you are done with the installation of application before stopping monitoring session. If you are using a VM, you can take a snapshot before stopping the monitoring session so that you can revert it back if you want to do anything else in the monitoring session.
Clicking Next button will take us to the following page after a progress bar hits 100%.
At this page, we can see the shortcuts that were created by the application we just sequenced. You can launch each program to ensure sequencing is completed successfully. Server App-V Sequencer creates a default command prompt shortcut for the application sequenced. This command prompt can then be used to access the virtual resources such as virtual registry and virtual file system. Once you are ready, clicking Next button will take us to the final page of the sequencing wizard:
If Server App-V Sequencer finds any problem with the sequencing process, you can see them here in the report. Ideally, a successful sequencing process generates no warning or error messages. Clicking Close button at this time will close the wizard and take us to the main page of Server App-V Sequencer.
Save the Server App-V Package
At this point of time, we have a successfully sequenced package. To create the package files, we must use the ‘File’ menu and ‘Save’ button. Before saving the package, we can look at the list of deployment configuration items and create more of them if we need to. Once we save the package, we will have following artifacts stored in the save location:
o SFT file: This file has the .sft extension and contains the deployed files, folders, registry values and internal information that is required to deploy the package. Depending on the installation, file size may change from megabytes to gigabytes.
o Manifest file : This file name has the {package name}_manifest.xml format and contains metadata information to add the package to the client.
o Deployment configuration file: deploymentconfig.xml contains deployment configuration items that have been created in the sequencer side.
o OSD file(s) : OSD files contain application information that installer created a shortcut for. OSD files are required in order to deploy the package successfully.
o SPRJ file: SPRJ file is the Sequencer’s project file and used to open the package for edit/upgrade in Server App-V Sequencer.
Congratulations! We created our Server App-V package successfully. We can now import the package to the VMM library and start using it in our virtual machines!
Epilogue – Deployment Configuration Items
Deployment configuration items are an important feature of Server Application Virtualization. They give the administrator the power to configure the package while it's being deployed to a server. Imagine that you sequenced an application with IIS sites and applications. At the end of the installation, you noticed that IIS site uses http protocol with port 8080. Without Deployment Configuration Items, you wouldn’t have the chance to change either the protocol or the port number that is used by the site at deployment time. Server App-V Sequencer generates Deployment Configuration Items for specific components that are installed by the application installer so that you can deploy the package with custom settings.
Below is a snapshot from a sequencing that contains IIS applications:
As you can see from the image, Server App-V Sequencer generates items to allow you to change the configuration of MYSite’s certificate, port number and protocol information. This information is saved to deploymentconfig.xml file and can be edited through the SCVMM’s UI. When a Server App-V package is being added to client machine, deploymentconfig.xml file is being consumed and the items in the deploymentconfig.xml file are applied to the client machine.
In conclusion, Microsoft Server Application Virtualization Sequencer allows you to create virtual packages. You can create deployment configuration items to change the configuration of the system once a package is deployed to a client machine. SCVMM 2012 can import your Server App-V packages and deploy them to your virtual machines with a user friendly user interface.
Alp Emre Kanlikilicer- System Development Engineer- Server App-V Team