Friday, 11 July 2014

App-V v5.0 SP2: Sequencing VMware vSphere Client v5.5 using App-V and Testing with Standalone Mode


App-V can be used to virtualize applications to run on top of the host operating system as a virtual process encapsulated in it's own bubble, therefore no direct interface is made with the host operating system. The VMware vSphere client comes pre-packaged and the executable if automatically extracted when you run the setup. It extracts the executable to a temporary location. This is the file required to package the application.



Launch the Application Virtualization Sequencer from the Start Screen, and select Create a New Virtual Application Package.


Select Create Package (Default) and click Next to continue.

The Sequencing VM should be as clean and default as possible, the following warnings below are to be expected. Click Next.


Click Standard Application (Default) and Next.



Use the Browse button to select the executable. When most pre-packaged applications extract their executable, they usually also delete the files if you cancel the initial install. Therefore you may have to copy the executable before you close the installation wizard on the first run. Click Next.


Configure the Virtual Application Package Name and select an output directory for the sequenced files. Click Next.


The application will then begin to install as it would manually. Follow the steps until the application is installed. While this is happening the App-V Sequencer is listening and recording any changes the application is made to the system.




When the application installs in full, ensure the I am finished installing box is ticked, then click Next to continue.


The App-V Sequencer then compiles all the changes the installation made to the system.


Some application require first run configuration, for example some applications may need you to accept the license terms on the first run before you can use it. You would do this at this point, the vSphere client does not need anything doing. Click Next.


The Sequencer then checks for any further changes.


When everything has been completed, select Stop Now. Create Basic Virtual Application Package (Default) and click Next.


Select Save the Package Now and use the Browse button to select a target path for the output files.


The Sequencer will compile and saves the packaged files into a collection of file, the main application file has the extension .appv


 
Browse to the configured output location on disk and you will see a collection of files that make up the virtualized application.
 
 
Now to test the new sequenced application. I have copied to App-V files over to a new VM with only the App-V client installed. The first thing to do is to reconfigure the Execution Policy.
Set-ExecutionPolicy Unrestricted
 

 
 
 
Add-AppVClientPackage –Path “C:\Users\Ryan Betts\Desktop\VMware vSphere 5.5 Client.appv”
 
 
The Name field is the variable that must be used in the next PowerShell command.
Publish-AppVClientPackage –Name “VMware vSphere 5.5 Client”
 


The first thing I noticed was the vSphere Client icon appearing on the Desktop. Although when I go to launch the vSphere Client it fails to load and displays the Windows Feature install wizard.



This is because the vSphere Client requires .Net 3.5, I manually enable it with DISM.exe using the following command;

DISM.exe /Online /Enable-Feature:NetFX3 /Source:D:\sources\sxs

Now if you attempt to launch the VMware vSphere Client, it should launch without issue.



The App-V Virtual Application Management interface can be launched from the Task Bar on the VM hosting the App-V Client.  Although Net 3.5 was enabled manually in this instance that obviously would not be possible in a large enterprise environment.



You can use Connection Groups in App-V to link applications together that have dependencies on one another, therefore you could Sequence Net 3.5 and link it with the vSphere Client with a Connection Group. This would remove the need to manually enable this as a feature. Although most enterprise environment will probably have Net 3.5 enabled on their client devices anyway.