App-V 4.6 64-bit Application Support

Introduction

With the availability of 64-bit operating systems from Microsoft many terminal server administrators and desktop super users have been trying to justify these platforms in their enterprise so that scalability enhancements found in these operating systems could be exploited. The problem with 64-bit platforms has been the adoption if the architecture by the industry resulting in a situation where many solutions taken for granted when using a 32-bit platform were not available for the 64-bit platform. A much sought after App-V feature for the terminal server administrator community has been a 64-bit App-V client because 32-bit terminal servers have user constraints around 40-60 users due to memory limitations. Some terminal server environments with 64-bit operating systems are boasting over 120 or more users per physical host but could not leverage App-V as part of their terminal server solution stack. Desktop administrators face a somewhat different scenario where some of their more resource intensive applications such as engineering applications are now being released as 64-bit releases and in one known case the only upgrade path for thre application is to upgrade to a 64-bit release.

It was a matter of time until App-V would need to support 64-bit operating systems and applications. Now that 4.6 is available you can plan to migrate that App-V environment over to 64-bit hosts to overcome memory constraints and see better scalability for both applications and terminal server environments. For those of you looking at a migration path from a 32-bit to 64-bit terminal server environment see the following white paper from Microsoft.


Terminal Services Scaling and Performance on x64-Based Versions of Windows Server 2003
http://www.microsoft.com/downloads/details.aspx?familyid=9B1A8518-D693-4BBB-9AF8-B91BBC0D2D55&displaylang=en

 


Making App-V 64-bit Capable

If it was an easy job to make App-V x64 capable it would have likely been introduced earlier but there are many technical requirements to make this a reality. The largest issue was going to be converting the kernel level components of the App-V client to 64-bit so that they could run on a 64-bit platform. Even though a 64-bit operating system can run a 32-bit application this is not true for applications that need to run in the kernel memory space. All code at the kernel level must be 64-bit, no exceptions. Much of the App-V client’s core functionality occurs down at the kernel level so this wasn’t going to be a quick walk in the park for the App-V development team.

Some of you who have some spare time may have noticed that not all off the App-V client is 64-bit. Some of these 32-bit components were necessary to properly handle 32-bit applications but in other instances 32-bit code was left in place such as the management interface. You might wonder why something like the management interface wouldn’t be converted to 64-bit like the rest of the client but unless there is a good architectural reason to do so it is perfectly ok to leave code compiled as 32-bit. This is not unique to App-V and probably will remain to be a practice with application development until 64-bit computing becomes even more dominant.

 

 

Sequencing with 4.6

Not only is App-V the only product that can package 64-bit virtual applications but App-V 4.6 has the ability to sequence both 32 and 64 bit application using the same sequencer tool. On top of that the sequencer tool has been streamlined so that the process is easier than before with earlier versions of the sequencer. In order to have a look at some of these new features let’s sequence a 64-bit edition of WinRAR on Windows Vista Enterprise Service Pack 2 x64 and deploy it on a Windows 7 Enterprise x64 machine using App-V 4.6. Do note that we are not implying some sort of application compatibility here but the econcomics of sequencing once and deploying to many using the least common denominator method. See the following support statement for more guidance. http://blogs.technet.com/appv/archive/2009/12/14/do-i-need-to-re-sequence-my-applications-when-i-move-to-a-new-os.aspx


1) Launch the application virtualization sequencer application.

 

2) As you can see creating a new sequence can be invoked from the main page. Select “Create Package” to start the sequencing wizard.

 

3) Type in a name for the package and click “Next” to continue.

 

4) Select “Begin Monitoring” to start the monitoring process.

 

 5) A dialogue will appear prompting you to create the asset folder on the Q:\ drive that should be in an 8.3 format. Unlike older versions of the sequencer you are forced to define this configuration item for the sequence ahead of time. You can select the Q:\ drive and then click “Make New Folder”.

 

6) Remember the best practice is not to exceed a folder name that goes beyond the 8.3 naming specification. In this example I named the folder "WinRAR.001".

  1. Select the WinRAR.001 folder.
  2. Click OK.

 

7) The sequencer should take a moment before it is ready to monitor the installation, once it is ready you can then launch the application installer.

 

8) To follow best practices change the Destination Folder for the install to “Q:\WinRAR.001”.

 

9) Select “OK”.

 

10) Select “Done”.

 

11)  As a matter of best practice you should launch the application at least twice to make sure the initial state of the application is the way you want your users to see it. Launch WinRAR.

 

12)  Close WinRAR but open and close WinRAR a second time.

 

13)  After WinRAR shuts down select “Stop Monitoring”.

 

14) Select “Next”.

 

15) This page will still let you define what shortcuts are available as well as modify file associations and shortcuts before you save your sequence. Since we won’t be making any changes, click “Next” to continue.

 

16) Since we did not configure feature block one on the previous screen we are presented with a warning. Click “Next” to continue.

 

17) Select “Yes” to complete the sequencing wizard.

 

18) Select “Finish” to close the sequencing wizard.

 

19) In the sequencer application perform the following.
1) Go to the “Deployment” tab. In order to publish my application.
2) Change the Protocol field to RTSP.
3) Edit the Hostname field will have the server name 46labms1.
4) Edit the path field to be WinRAR-V3.92B1-WinRAR.001.
5) And before I am finished with the tab I will add Windows 7 64-bit and Windows 2008 R2 Terminal Server 64-bit to the list of operating systems able to run the sequence. Remember this doesn’t necessarily mean the sequence with run on the additional operating system but we will attempt to test it on Windows 7 x64 but before we do we need to make it available for that operating system using the dialogue below.

Also note the “Generate Microsoft Windows Installer (MSI) Package checkbox below.  If you need to generate a MSI for application deployment it is as simple as checking off the checkbox. With the checkbox in the on position a MSI file will be generated along with the rest of the sequence files when you save the sequence.

 

20) Go to the “Package” menu and select “Save”.

 

21) What I like to do is save the sequence locally.

  1. Click the new folder icon.
  2. Rename the folder to WinRAR-V3-92B1-WinRAR.001.

 

22) Open the folder you created and name the file name WinRAR-V3-92B-WinRAR.001.


 

I’ll save you the step by step of publishing the application but as you can see I’ve launched the application sucessfully on Windows Vista Enterprise SP2 x64.

Now let's see if the same sequence works on on Windows 7 Enterprise x64.

 

And to take things a step further, let’s see WinRAR running on W2K8R2 in Terminal Server mode.

 

 

App-V Sequence Portability

The great thing with App-V 4.6 is the amount of sequence portability you can gain, many of your sequences that have been sequenced on 32-bit platforms should see portability much like what I have achieved with my 64-bit application. Specific to 64-bit environments items such as registry and file redirection that changed in Win7 and Server 2008 R2 can be successfully navigated using App-V. The key for maximum value with App-V is to sequence once and deploy to many. The following chart should help you understand the sequence compatibility matrix so you can get the most bang for your buck when moving to 4.6. (Yes, this means you don’t have to necessarily re-sequence everything)

In order to achieve the best economics you have to make a strategic call on what platforms to use for sequencing. The strategy that is commonly employed is called the lowest common denominator method where the oldest operating system in production is used as the primary platform for sequencing. I’m not going to go into too much detail because there is more at play with the design than just the least common denominator but it is the foundation of a sequencing environment. How does 64-bit play into this? I would say the textbook answer would be to use the 32-bit operating system as the least common denominator operating system but in the real world you may be able to use the 64-bit equivalent instead and get very high success rates with regard to sequence portability. But in the real world you will likely need a sequencing equivalent for each operating system that has been deployed because in some cases a matching sequencing platform is needed to resolve an issue you may be having where you cannot port a sequence from an older operating system to a newer one.

 

 

Conclusion

App-V 4.6 offers many new possibilities when it comes to application deployment on the desktop and terminal server environments. Because App-V can service both x86 and x64 environments effectively while the complexity and effort involved with deploying applications across different platforms is reduced resulting in savings for the organization. Being the only product that supports virtualization of 64-bit applications this opens the door on what used to be a major pain point for systems administrators. Now the management benefits of virtual applications can be extended to your 64-bit application portfolio and 64-bit hosts.

Comments

No Comments