What is Install Capture?

Citrix AppDNA has a very powerful feature called Install Capture.  Originally we developed this to allow application owners or packagers to snapshot an application installer that was not in our preferred format (Windows Installer) so that AppDNA can assess it.

The process is very simple to get a ‘setup.exe’ or legacy installer into an MSI format, we do a differential snapshot of a machine’s state before and after the installation, and then perform a differential (or delta) comparison.

The result is a list of files and registry keys that the installation routine has put down.  Snapshotting can be used to capture the impact or result any installer but obviously cannot capture transient steps of states of the install.

Install Capture refers to the process of starting up, snapshotting and reverting a VM on a per application (that needs to be captured) basis.

NOTE: Since Windows installer is such a rich format that separately describes each part of the install it is not recommended to install capture an MSI, doing so would result in the “flattening ” of the install into just registry keys and files loosing useful installation logic like Custom Actions, for example, in the process.

How do I configure it?

Install Capture can seem really complex but when you cut right through it, it is very simple.

There are few basic steps in AppDNA:

  1. Prepare your VM (Virtual Machine) for install capture by installing the “AppDNA VM Configuration Installer.MSI”, this will effectively put down the tools responsible for snapshotting and also open TCP ports to allow the AppDNA client to communicate with the VM.  Take a snapshot of the VM, this allows us to revert to a clean and known state.
    1. NOTE: You may want to install your own App-V defaults if you plan to automatically sequence and will have to install the version of the App-V sequencer you would like use
  2. In AppDNA create a new VM profile, which will basically point to the configured VM you previously prepared
  3. Select an execution profile, for example, Snapshot or App-V.
    1. The execution profile is a series of steps to perform in the VM and you can alter these if you wanted to inject your own processes into the predefined steps, or you could create your own series of steps, as long as the VM outputs an MSI

I am often asked why we use a VM and the answer is simple.  Best practice in most application snapshotting or capturing technologies recommends that a clean machine is used.  This will ensure that the entire package is installed and captured each time, otherwise as the machine fills up packages captured will contain incrementally less. A VM allows us to revert the snapshot and in so doing get the machine back to a clean state.

How does it work?

You can now from the import screen select any type of installer that the prepared VM knows how to launch.  If you provide silent switches for the installers or have used the AppDNA SCCM integration to get these from your SCCM server, then the system will be able to automatically process all the installations without the need for any human intervention. In the space of a few hours you could convert batches of hundreds of ‘setup.exe’ type applications into sequences, using the Microsoft sequencer.

Although I have mentioned App-V throughout this, it should be noted that any re-packager that is scriptable (for Example InstallShield) can be scripted in an execution profile.  So you could for example convert an internal script (let’s say an old style .vbs installer) to a working MSI.

One thing to note though is that the in-built AppDNA snapshotter is not designed to make installable MSIs.  Its only purpose when used in isolation (Snapshot Execution Profile) is to make an MSI that AppDNA can use for its application analysis.

Conclusion

Install Capture, is a powerful feature in Citrix AppDNA that a number of our partners and customers have used to assess and convert packages from one format to another in an automated fashion.