Sequencing an application with the Microsoft Application Virtualization (App-V) Sequencer, can be tricky business. However, you can greatly improve the quality of your sequenced applications, by following certain best practices. This will in turn improve your end user’s experience. This blog post is designed to provide tips and best practices for sequencing an application for App-V.
First, let’s start with applications that should not be sequenced. The applications below are ones that either cannot be sequenced due to the limitations of App-V, or the application is not a good candidate for sequencing due to other issues.
- Sequenced package over 4GB – It is possible to sequence an application that is larger than 4GB, but it must be able to be compressed to at least 4GB. The SFT file, which contains application content, is limited to 4GB.
- Applications that start services at boot time – Startup services cannot be sequenced because App-v requires a logged on user to initiate the launch of an application.
- Applications that require device drivers – App-v does not support the sequencing of drivers. This can be bypassed by installing the driver locally on the target machine.
- Applications that are required by several applications for information or access – i.e. an application that would interact with more than one program
- Applications that are a part of the OS – e.g. Internet Explorer
- Applications that use COM+ – Because COM+ is dynamic and happens at runtime, there is no way for the sequencer to capture this information.
- COM DLL surrogate virtualization – i.e. DLLs that run in Dllhost.exe
The most important part of application sequencing is getting your environment setup properly. If your sequencing environment is not properly setup, your application sequencing will suffer. Below is a list of best practices for setting up your sequencing environment.
- Always use a clean Operating System when sequencing applications. It should match the end users environment as close as possible.
- It is best to use a virtualized machine for sequencing. Any platform that will allow you to take snapshots, and rollback to previous states would work. This will prevent the need to rebuild the machine after every application sequenced.
- When using App-v Sequencer 4.6 non SP1 and below, be sure to configure a dummy printer as well as system and user based dummy ODBC connections. If you are using version 4.6 SP1 these will be created when you install the sequencer. You will still want to confirm they are setup properly.
Note: for more on this topic refer to my previous post, App-V Sequencer Preparation Scripts - If your end users will be using machines with UAC enabled, ensure that your sequencing machine also has UAC set to the same level.
Now that you have your environment setup, here are a few things to keep in mind prior to beginning the sequencing process.
-
- Shut down all running programs and stop all unnecessary services. This helps prevent against data being captured that is not relevant to the application being sequenced. Some common examples are listed below.
A.
Windows Defender B.
Antivirus software C.
Disk defragmentation software D.
Windows Search E.
Microsoft Update F.
Any open Windows Explorer session G.
SMS Agent Host H.
Disk Defragmenter I.
Windows Media Player Note:
for more on this topic refer to my previous post, App-V Sequencer Preparation Scripts - Check for App-v Accelerators and Recipes to see if someone else has already sequenced the application. There is no need to reinvent the wheel if someone has already done it.
a. TechNet Gallery: App-V Package Accelerators – http://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=App-V&f%5B0%5D.Text=App-V
b. TechNet App-V Sequencing Recipe Forum – http://social.technet.microsoft.com/Forums/en-US/prescriptiveguidance
- Shut down all running programs and stop all unnecessary services. This helps prevent against data being captured that is not relevant to the application being sequenced. Some common examples are listed below.
Once you have begun the sequencing process, following these tips can help ensure your sequencing goes smoothly.
- Always perform a full install. Do not select the “install on first use” option.
- Automatic updates should be disabled for the sequenced application.
- Once the install has finished, launch the application multiple times until it remains static during the startup.
Finally, the following are some useful post sequencing tips when you are modifying or customizing your packages.
- Only enable LOCAL_INTERACTION_ALLOWED if absolutely necessary.
- Only compress packages that exceed 4GB, or if the application will be streamed over a slow network.
- Check the Virtual Registry for unneeded entries and remove them from the sequenced application.
Below is a list of common registry entries which should be deleted from your package. Keep in mind that all applications are different, and some may require entries in these keys.User HKCUSoftwareMicrosoftEventSystem HKCUSoftwareMicrosoftSystemCertificates HKCUSOFTWAREMicrosoftTracing HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings HKCUSoftwareMicrosoftWindowsCurrentVersionRun HKCUSoftwareMicrosoftWindowsCurrentVersionRunonce HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall HKCUSOFTWAREPolicies Machine HKLMHardware HKLMSAM HKLMSecurity HKLMSoftwareMicrosoftEventSystem HKLMSOFTWAREMicrosoftRpc HKLMSoftwareMicrosoftSystemCertificates HKLMSOFTWAREMicrosoftTracing HKLMSOFTWAREMicrosoftWBEM HKLMSoftwareMicrosoftWindowsCurrentVersionInternet Settings HKLMSoftwareMicrosoftWindowsCurrentVersionRun HKLMSoftwareMicrosoftWindowsCurrentVersionRunonce HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall HKLMSOFTWAREPolicies HKLMSystemCurrentControlSetControlTimeZoneInformation HKLMSystemCurrentControlSetServicesDHCP HKLMSystemCurrentControlSetServicesEventlog - Check for unneeded files and folders.
Below is a list of common file and folders entries which should be deleted from your package. As with the registry entries, keep in mind that all applications are different and some may require these files or folders.Files Any files that refer to the sequencing machine or user Autoexec.bat Cache files Certificates not directly related to the application Config.sys Cookies Install log files Internet Explorer History Pagefile.sys Service Host LMHost files User.dat Folders %TEMP% folders C:WINDOWSCSC C:WINDOWSPrefetch C:WINDOWSrepair C:WINDOWSSystem32appmgmt C:WINDOWSSystem32CatRoot C:WINDOWSSystem32CCM C:WINDOWSSystem32Config C:WINDOWSSystem32dllcache C:WINDOWSSystem32wbem C:WINDOWSTasks
Additional Resources: For more information on App-V, check out the links below.
App-v on TechNet – http://technet.microsoft.com/en-us/appvirtualization/
The Application Virtualization Forum – http://www.appvirtguru.com/
A Failure To Launch tool – http://www.tmurgent.com/appvirt/FTL/Ftl.aspx
Aaron Parker’s App-V Blog – http://blog.stealthpuppy.com/tag/app-v/
MyITForum – http://myitforum.com/myitforumwp/category/virtualization/app-v/