Recently I tried out InstallAware Application Virtualization. If you have looked at the wide variety of application virtualization solutions which are now available, you may have noticed a trend. Only a few provide streaming capabilities, the majority are clientless\agentless solutions. What I mean by this is, the streamed solutions or even some of the hosted solutions come with a client software which must be installed on your end users devices in order for users to leverage your virtual applications. But the majority of products don’t have that requirement. The applications these solutions create are frequently referred to as ‘portable’ applications. This is because you capture the install of your regular windows application which then creates a standalone .exe (usually). With some solutions you may get a .exe for each shortcut or entry point in your application e.g. if you virtualize office you will get an EXCEL.exe and a OUTLOOK.exe. You can then launch the .exe and your application should run from any Windows OS which is supported by the applications vendor. This is an important distinction, you should note that these portable applications will still leverage local resources on your machine, so it’s not a case that you can take your EXCEL.exe and launch it on an Apple MAC or Linux machine.
Portable applications provide you the benefit of being able to run your applications from various storage devices e.g. CD\DVD Drive, USB key, Physical hard disk and most also will run from a network share. InstallAware is one of these products which is clientless and promotes the use of ‘portable’ applications. The install and ‘packaging’ process for InstallAware is very simple. You can follow my instructions below.
As with all capture utilities, it’s a good idea to install this on a virtual machine so you can easily and quickly revert to a clean state upon completing a capture. Personally, I capture on the same OS that my end users will be running with. It use to be best practice and still is in the eyes of some vendors to run the capture on your lowest common build i.e. If you have users running Windows XP, capture on that. But I believe Windows 7 and x64 have been out long enough now that most vendors have changed the logic in their installers which could result in a different install, albeit slight different if you capture on an older OS. When you have your VM spun up.
Launch the Installer which you have acquired from InstallAware HERE
You will be prompted for a password which you will be provided from the Vendor via e-mail. Enter this here.
You will need to select the agreement and enter your valid name or campany name.
You can disable certain features such as Documentation if you do not require this. I left all defaults and clicked Install Now!
You should see that the Installation begins
When Installation has completed click Done. At this point it would be a good idea to take a snapshot on your VM called ‘Clean’ or whatever suits you.
The installation is now complete. You will notice in the tool during a capture, the tool uses a ‘Profile’ which is very useful and is something which not all vendors provide pre-populated like it is in this instance. Thus far the default profile works for me. This profile stores Files\Folders and registry keys to exclude. You can also select to uncheck or check entire registry hives e.g. HKEY_CURRENT_USER if you want to.
The importance of these exclusions it to 1.) avoid un-neccessary bloat in your applications e.g. exclude the Windows\Installer folder so no cached MSI files get included into your package, these can be very large and are not required. 2.) avoid unwanted ‘noise’, if you capture on the domain which I do, others choose not to. You may notice background services modifying or adding files on the fly which get included in your virtual application. 3.) You may want to exclude certain user or common folders as most applications will re-create these on launch for each user and including them in the package can lead to errors for users as it capture into the virtual application and is not unique for each user.
If you do want to add certain files or registry to the profile or create a new profile for your company. Do so and then create a snapshot for your VM. Once done you’re ready to capture an application.
The capture process is pretty simple. As you’ll see by my instructions. Before proceeding. You should identify if your application is 64-bit or 32-bit as this will impact the capture process as you’ll see
You can use the ‘snapshot’ method or do a straight up capture. Using the snapshot method could enable you to do a snapshot. Then create a snapshot of your VM. So your VM is always ready for an app to just be installed rather than going through these screens.
Here you can select the profile to use which we covered earlier. The checkbox is very important. You must identify if your application is 64-bit or 32-bit to ensure you select the correct option.
After the first system analysis runs you will be prompted to install your application. You should reboot if the app requires a reboot for complete install. Also, you should launch the application after install and suppress any pop-ups. You may also want to make further configuration during this time e.g. disable any autoupdates. Then click Next >
Here you can Check the box to create your portable project which will build the application and produce your .exe or as the instructions suggest you can click Next and you will be presented with what the capture…mmm…captured 🙂
You will be able to select the shortcuts which will in turn be your virtual applications
Alrighty. You should see the dialog above which presents the Files and Registry captured. You can modify these as you see fit. It’s a good idea to glance over these and ensure there’s nothing hard-coded to your machine, a network share or your username. You can also look for any ‘noise’ created by a background service on a domain computer.
You have a few different options available also. You can allow for child processes to run in the virtual environment, which may be good for a few exception apps which spawn their own instance of say javaws.exe. You can enable a Debug log to trace any errors. You can hide virtual files from a file dialog, meaning users who open to do a save as cannot save or view the virtual file system and can only save to a physical drive…very good feature! You can also select to virtualize all changes of files\folders and registry.
You will notice you can change your Input and Output file names. The Input file is your project, this is your entry point to modify the virtual application. It’s a good idea to save this, incase you have issues with the application and have to make further modification e.g. delete a folder from the virtual file system that is causing a conflict in the application. The output will be your virtual application. Once completed you can take your .exe file and run it form any windows machine. It’s as simple as that.
This is a pretty nice solution and could work for a small to medium size company. Personally, although I find it better than other similar solutions for the range of options available out of the box e.g. hiding the virtual file system from the file dialog screen and the great list of exclusions in the default profile. This product is so similar to others, it doesn’t really carve out it’s niche by offering anything above and beyond it’s competitors. In my opinion, the offering provided by Spoon and Cameyo are more attractive. But this certainly works! And it’s a buy once deal, you don’t need to keep paying for the product. Something which bothers me about a lot of these solutions is that they don’t publicize the limitations up front. You usually have to dig around to get this information. But that’s certainly not unique to any one vendor here. I hope this is useful to anybody researching Application Virtualization. I would suggest you take a look at this product for the ease of use and great licensing model…just shop around. Pick the product which is in line with your budget and requirements.