This text describes how Microsoft App-V can be used to do a fully automated conversion of an entire collection of MSI packages to App-V packages.
The prerequisite for this is, alongside a functioning virtual sequencer, a VMware ESXi environment with vSphere and PowerCLI:
This example can easily be adapted for Hyper-V.
Microsoft offers the possibility to automate packet creation with Windows PowerShell on the sequencer. The use of this module is simple. However must ensure the sequencer is installed on the environment according to the best practice for the selected environment. As a rule the automated packaging will be controlled from the outside, so use a sequencer in a Hyper-V or VMware environment and reset it automatically before each use.
Import the sequencer PowerShell extension:
With Folder2MSP you can create MSI packages and MSP patches from directories in the simplest manner possible. There is no excuse anymore to complete such a task using a script. MSI and MSP are the standard for software distribution. Our tool Folder2MSP will enable you to take advantage of this. Read further for details about using the tool and where to download it.
First the legal information:
EXCLUSION FROM LIABILITY: USE OCCURS AT YOUR OWN RISK. NICK INFORMATIONS UND ANDREAS NICK ARE NOT LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGES TO HARDWARE OR TO SOFTWARE, LOST DATA OR OTHER DIRECT OR INDIRECT DAMAGES THAT RESULT AS A USE OF THIS SOFTWARE. Please test thoroughly any patches and MSI packages created with this tool. In the cases of long patch sequences, problems can occur. Solutions to this problem are described in the text below.
A Windows installer patch (MSP file) is a package file that contains updates for a certain application and describes which version of an application can be patched. The advantage of an MSP is that it contains only files that then become an MSI. MSPs are generally used for minor releases or small updates. I myself have a tool up my sleeve that can distribute binary differences for extremely small patches (to be released soon).
The patch contains, among other things, a product code and a patch code for the application to be changed. If the product code matches with the installed application, patching is possible. It is practical then to be able to determine this code before an installation in order to optimize a software distribution. I'll show you two solutions how to do so with PowerShell.
How do I find out the product code? One variant is found at Codeplex: MSI Powershell Module.
As of Citrix XenDesktop Version 7.8 it is possible to use App-V packages (.appv files) directly from the directory. Therefore it is possible to refrain entirely from using an App-V Infrastructure with a Publishing-and-Management server. What you may be missing however are the App-V “Connection Groups”. With XenDesktop 7.11, Citrix integrated “Isolation Groups” into the product. The term means really nothing other than an App-V Connection Group, mixed however with a little Citrix XenDesktop magic in order to simplify greatly the use of Connection Groups. Isolation Groups can only be used with App-V packages directly imported via the directory. Packages that come from an App-V infrastructure (App-V Management server) cannot be placed into a Citrix Isolation Group. It's also not necessary, since Connection Groups can be defined with an App-V infrastructure and then synchronized on the respective end device upon application launch.