Microsoft have released their beta version of App-V for Servers. It is currently available as part of their SCVMM (System Center Virtual Machine Manager) 2010 beta release. It is also due to be released with the latest version of Windows Azure. Although this technology is to be initially bundled with these two products the technology will not be limited to these two products and can work just as well on its own.
Hopefully this post will help you to understand the concept of App-V for Servers and to provide you with a fairly detailed walk-through in creating your own App-V for Server sequences.
The current desktop model of App-V relies on users launching their applications through the use of shortcuts, FTAs (file type associations) or DSC (dynamic suite composition) links. The application is then streamed to the user from the App-V Management server or App-V Streaming Server. This model does not translate very well to server applications. Server applications are not launched by individual users, they are associated to servers and the applications need to respond in a timely manner to client requests.
App-V for Servers intends to address the needs of server applications and is designed to speed up, standardize and stabilize the provisioning of new servers within your datacenter. App-V for Servers not only separates the application from the OS but also from the configuration.
There are several major points to App-V for Servers that differ from App-V for desktops:
- Applications are no longer streamed. Instead, applications are copied, loaded into the App-V cache and registered with the App-V Agent (equivalent to the App-V client in the desktop model) using new Powershell cmdlets. This removes the requirement for a dedicated management server. As most new server management tools such as Azure and SCVMM are all powered by Powershell, it is easy to see how they could take advantage of App-V for Servers. Due to the fact that the application is no longer streamed, support for feature block 1 has also been dropped.
- Applications continue to support launching via shortcuts, FTAs and DSC links but sequences can now be launched via another Powershell cmdlets to support server services. These cmdlets can then be added to any kind of operating system startup routine
- Configuration is separated from the OS. XML, INI and registry settings can be stored within configuration profiles (XML files) and can be deployed to different server types
- Although files continue to be contained within their protective ‘bubbles’, the new App-V Agent creates ‘special’ shortcuts within the mount drive that ‘open’ the ‘bubble’ to allow you to view and modify the contents. In essence, it seamlessly appears to an administrator that they are directly opening files from the mount drive.
- Additional sub systems are supported such as IIS, SSRS, COM+ and DCOM. This means you can host an IIS web application or SSRS report for example from within your virtual ‘bubble’
To obtain the beta release of App-V for Servers, you can download the beta release of SCVMM 2012 in either installer or VHD appliance format at these locations:
- Installer – http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e0fbb298-8f02-47e7-88be-0614bc44ee32
- VHD – http://www.microsoft.com/downloads/en/details.aspx?FamilyID=76002803-4fe8-4573-a76d-6b2b11adfe58&displaylang=en
Once installed, you can find the following files within the installation directory at <VMMInstallDirectory>SAV<Architecture>:
- AgentSetup.exe – Installs the service that hosts the virtual applications on your server
- sva_cmdlets.msi – Installs the Powershell cmdlets that manage your virtual applications. These are separate from the Agent installation to allow them to be installed on a desktop PC for remote management purposes.
- SeqSetup.exe – Installs the App-V for Servers Sequencer that is used to create your virtual applications (sequences)
So lets start with the sequencer walkthrough:
- The first thing you will notice is that the sequencer has been designed with a similar GUI to the newly released App-V 4.6 SP1 described as the ‘Sequencer SuperFlow’. To create a new sequence press the Create a New Virtual Application Package
- The sequencer will present you with any potential problems with sequencing such as pending reboot operations. Resolve any issues and press Next
- Select the installation that you would like to sequence or choose to perform a custom installation, press Next
- Enter desired package name and press Next
- The sequencer will now prepare the virtual environment for your new sequence
- If you selected an installation, this will now launch, otherwise now is the time to launch your installation(s) and make your configurations to the server. Once complete select I am finished installing and press Next
- The sequencer will now collect any system changes
- You are now given the chance to launch the applications for the first time, this allows you to capture any first launch configuration items such as license agreements.
- The sequencer will again collect any additional system changes
- You are finally presented with any issues that may exist with your sequence. Press Close to complete the wizard to view the contents of your new sequence and to make advanced modifications
Once opened the sequencer looks very much like the App-V for desktop version with the following differences:
- A new page has been added that allows you to create a default deployment configuration file. Once your application has been saved an XML file will be generated within your sequence folder called deploymentconfig.xml. This file can be used to deploy XML, INI or registry settings along with your virtual application allowing you to customize your sequence to various server types. The file can also contain scripts similar to those found in OSD files but these are run at deployment time rather than application launch or shutdown.
To add a configuration item, select the Add deployment configuration item task. The following page will then be displayed
Type the name of your XML attribute, registry name or INI property that you wish to modify (file or registry key should exist within your sequence) and press the search button. The results shown will look like the above screen shots. Select an item and press the Add button. Double click the newly added configuration item and you will then be presented with the following screen
Here you can now change the default value that you would like your configuration file to contain and to set that value to mandatory if required (cannot be changed from the default that you set)
From the configuration deployment screen you can also create deployment scripts by selecting the Manage Scripts task
- Due to the lack of streaming, the deployment tab has been removed
- The files view now has a new folder structure called appv_subsystem_settings, this folder will contain the integration with subsystems such as IIS.
- The virtual registry page no longer users a variable user hive but directly references particular user SIDs. This is due to the nature of no longer publishing applications to users
To deploy the application to your servers running the App-V agent, simply copy the sequence folder structure to your server to a location of your choice. To register the App-V sequence with the agent, from a machine with the new Powershell cmdlets installed (and access to remotely manage your server), this could be the same machine run the following Powershell commands:
Set-ExecutionPolicy Remotesigned Import-Module Microsoft.ApplicationVirtualization Add-AppvPackage –Name MyApp –Manifest C:MyAppMyApp_manifest.xml –SFT C:MyAppMyApp.sft –Configuration C:MyAppdeploymentconfig.xml –ComputerName MYAPPSERVER
To start the sequence you can run the following Powershell Command:
Start-AppvPackage –Name MyApp –ComputerName MYAPPSERVER
The following additional Powershell cmdlets are also available to use:
Backup-AppvPackageState
Get-AppvAgent
Get-AppvPackage
Remove-AppvPackage
Remove-AppvPackageState
Restore-AppvPackageState
Set-AppvPackage
Stop-AppvPackage