by Kay Ewbank
Deploying software to end user platforms is an issue for both developers and administrators. Kay Ewbank looks at both sides of the equation.
HardCopy Issue: 57 | Published: September 1, 2012
How can you make sure that the process of installing software is both painless and successful? There are two halves to this problem. Firstly, developers need to make sure their software arrives on the desktop in a format that will install successfully, no matter what environment it encounters. For administrators, the requirement is to find ways to deploy that software on their networks without spending the rest of time visiting each individual machine. For developers, it’s easy to think of the installation process as a relatively minor part of the overall task of developing your app, but that would be wrong. Put yourself in the user’s shoes and think of software that you’ve installed yourself; if the process goes wrong, you assume (wrongly or rightly) that the whole package can’t be trusted. After all, installation is the first encounter between your users and your software, and you don’t get a second chance to create a good first impression! The installation has to work efficiently and smoothly, and it has to be easy. What you need is an installer that allows the user to sit back and watch things happen successfully. You also need an installer that is easy for you to learn. This may seem obvious, but some of the options out there require you to learn a complete scripting language. This adds to your workload, and as you won’t have new versions of your software very often, you’ll undoubtedly have to re-learn the intricacies every time you create a new version. Another point to consider is the size of the installer package itself. Software is increasingly downloaded and not everyone has super-fast broadband. What’s more, as you’re hopefully going to have tens of thousands of people downloading your software, you have to pay for all that bandwidth to enable them to get your software. When installers come in at 30 to 40MB, the overall size of an application can be greatly increased by being bundled with the installer.
Probably the most familiar name in installation software, InstallShield has a long history, particularly on the Windows platform. You can use it to create installation packages for desktop and server machines, and more recently support has been added for creating packages that target the Web and mobiles, as well as virtual packages for Microsoft App-V. The price might be higher than some of its competitors, but you know you’re not going to run out of features if things get complicated in terms of environment, package or customer requirements.
InstallShield’s long history and overall comprehensiveness can be barriers for developers wanting a small and simple way to create installation packages. The interface for developers is somewhat idiosyncratic (though great once you know your way around it) and even the interface for end users was difficult to work with. However the end user interface has been redesigned in the most recent version with new wizard pages and a new wizard page editor that gives you control over the exact page layout. InstallShield 2012 lets you put both 32- and 64-bit packages together in a single suite installation that will run the correct package depending on the environment it finds itself in, while the latest ‘Spring’ edition includes support for Windows 8 and Visual Studio 2012. Such comprehensive support does mean the installers can be pretty large, a drawback if you want to let users download your apps. One final love/hate feature of InstallShield is the option to use a command line interface that is beloved of experienced users who can make the product fly.
InstallShield Limited Edition
The traditional Visual Studio Installer was dropped from Visual Studio 2010 and is not present in Visual Studio 2012, which means that, unless your application suits the ClickOnce approach, you need to look elsewhere. In place of the traditional installer you now get a link to InstallShield Limited Edition (LE) which, as its name suggests, is a subset of the main product.
The Flexera approach
Flexera Software publishes InstallShield, InstallAnywhere and AdminStudio. We spoke to Maureen Polte, the company’s Vice President, about what matters when it comes to ensuring application readiness in enterprises.
Polte explained that the company has found migration to be pretty flat while Windows XP was in production, and that the flatness continues as customers didn’t bother moving to Vista, but things are now much more active as companies are moving to Windows 7. She says virtualisation is key for many of Flexera’s customers: “We’re well aware that we need to support not just standard operating systems but all the alternative ways to deploy apps and data to end users. Virtualisation is proving an excellent way for our customers to avoid conflicts between apps, and since the rise of virtualisation we’ve seen an increasing change to the software deployment ecosystem.
“Virtual technology is at the heart of many big migration efforts, and we have to provide ways to move apps to the new environments. We’re seeing the consumerisation of IT with the introduction of things such as appstores, and the use of employees own devices on corporate networks. In the past, when an IT department did a big migration, that would be it for 18 months. That’s changed so we’re seeing the need for continuous app readiness for a whole range of environments, and those environments are under constant change. App migrations are no longer cutting it for customers: they need a way to separate the app issue from operating system migrations so that they can support mobility in terms of the devices their executives want to use.”
Polte confirms the popularity of Windows 7: “We’ve seen around 50 per cent of enterprises move to Windows 7, which is a lot more than ever moved to Vista. Of those who have moved, many are not planning to change Windows 7 for Windows 8, because they see it as too consumer focused. They’re not waiting to find out more about Windows 8, they’re just getting on with Windows 7.
“We’re obviously going to be ready to offer support for companies who need either to deploy or to assess apps for Windows 8 and IE 10,” Polte continues, “The reality is that in these days where employees expect to be able to use their own devices, operating systems such as Windows 8 will come in to most enterprises, so the IT department needs to be able to test their apps for Windows 8 readiness. This is one area where the change to continuous app readiness has proved beneficial.”
We also asked Polte about support for WinRT apps: “Our current products can deploy to tablets, and our roadmap has support not just for Windows 8 style apps, but for iOS apps, Android apps, mobile apps management. The need for offering app readiness for mobile apps is another indication of the way the environment is changing rapidly. It used to be that we had to support traditional Windows apps. Now we have virtual, mobile, Mac apps, Linux – the list goes on – and as new environments become important we’ll add support to AdminStudio.”
The team at Flexera has found that customers also want to support private cloud ecosystems with some components in a cloud bubble. “This need for a cloud bubble means you have to assess whether the apps can be deployed as server packages. You can start by deploying to System Center Virtual Machine Manager, then take it from there to Azure and the public cloud using a cloud image. Developers will increasingly need to do the same, to create virtual applications. You need to know if an app is suitable for deploying to the virtual world, and to provide information such as what percentage can be deployed, how best to work out which apps to move.”
The advantage of Limited Edition is that it’s free, though some developers have complained that it’s closer to ‘trialware’ rather than a full product. Essentially, it’s fine for simple builds, but once you move into more complex situations you’re going to need to either upgrade or choose an alternative.
If your applications are targeting multiple platforms then InstallAnywhere has the advantage of letting you create a single file that can be used to generate the correct installation package for all the platforms you select. The software comes with support for a good range of target operating systems including RedHat and SuSE Linux, Windows 7, Windows Server 2008, Java, Solaris, HP-UX, AIX and Mac OS X. InstallAnywhere avoids the need for coding by basing most package creation on a project wizard, accompanied by a GUI designer if you need more options. You can make use of features such as custom graphics and animation to make the package personal to your particular brand, and choose from 31 languages for the installation text: InstallAnywhere will automatically produce the different versions. InstallAnywhere can help you keep down the size of your installations by presenting the option of downloading a Java Virtual Machine from the Web at installation if it isn’t already present on the target machine. On the negative side, the care taken to make the software simple to use can make it difficult to debug projects if problems do occur.
InstallAware has built a reputation on being easy to use. It’s packed with wizards with the aim of helping developers create successful installation packages without having to become experts. Depending on the edition, it can also work out very cost effective; the company ran a successful media campaign claiming to be able to deliver App-V packages at a fifth of the cost of InstallShield, and with the ability to construct hybrid 32/64-bit App-V packages, and an App-V viewer that lets the developer see inside App-V packages. InstallAware 2012 can also be integrated with Visual Studio 2012 and has good support for Windows 8, including the ability to pin applications directly to the new ‘modern’ Windows 8 user interface. Historically, InstallAware had a poor reputation as far as help and support was concerned, but this has improved over time. The consensus seems to be that, most of the time, the software is easy to use and you don’t really need help, but if you do hit problems you may feel under-supported. InstallAware has some features that make it a good choice. The packages created using it are impressively small, and the compression routines make use of multiple CPU cores so the build speed remains acceptable. If you’re creating files for download, you can choose to separate out elements such as the .NET Framework and any ‘optional’ elements, keeping the main package small. The install routine will then download and install them as part of the main download if necessary. It also lets you create a single hybrid MSI that will work on both 32-bit and 64-bit environments. One thing that’s irritating when you’re trying to make a living from software development is paying for features that you don’t really want or need, so it’s important to pick the right version. The most basic edition of InstallAware is Express, with Developer Edition next in the price range. As the name suggests, Developer has features such as support for MSIcode scripting and the option of creating builds from the command line. It also has support for App-V, but it doesn’t have the MSI code debugger or dialog designer, the automation interface or the ability to convert existing MSI to MSIcode scripts. It’s also considerably cheaper than the next option up in the product line. If you are competent at coding scripts, then this represents a good option.
Tools for IT Professionals
The bad old days are long gone when you’d buy software and then need to put in hours of work to make it work, in the process gaining a detailed knowledge of what prerequisites should have been in place before you started. You have the right to expect software to behave nicely while being installed, but that still doesn’t do away with all the effort required. If you’re planning on installing software on multiple machines, particularly across different software environments and configurations, then you can save a lot of hard work and blasphemous outbursts by using a suitable software deployment package.
As its name suggests, AdminStudio does not limit itself to managing software deployment, but rather allows you to set up a deployment as part of a number of tasks such as taking backups, gathering data about user configurations, and ensuring machines are up to date with patches and security settings.
AdminStudio supports a good range of management software including Microsoft System Center Configuration Manager, Novell ZENworks, LANDesk Management Suite and IBM Tivoli. Its integration with System Center Configuration Manager is particularly strong, with the ability to import and export packages directly into SCCM. AdminStudio lets you set up a catalogue of software that is available for installation, so it is all available when you need it. This also means you can test whether (or more pessimistically which) packages clash with others, and work out ways around the problem. An option for AdminStudio 11.5 is the Application Compatibility Pack which can test for compatibility with both Windows 7 and 8, as well as Windows Server 2008 R2 and 2012, and Internet Explorer 8, 9 or 10.
While some versions of InstallAware are aimed specifically at developers, InstallAware Studio and Studio Admin also have features that are useful for administrators. Both let you build MSI packages for Windows installation with your own custom user interfaces and dialog controls. They also offer the advantage of creating Aero Glass regions to make your installation package look ‘native’ under Windows 7. The installers look like Windows Explorer in terms of the users browsing to select particular files and folders, and you can set up your own displays to show the progress of the installation using Flash or HTML. If your company is large enough to warrant multiple language interfaces, there’s a translation option that you can run locally. InstallAware Studio Admin can also be used to connect to database servers including Microsoft SQL Server, MySQL and Oracle so that, for example, your installation routine could run scripts that create database tables or import data. It offers setup repackaging, where you can take a legacy application installer, capture the changes the installer makes to a system, and then put those steps together as a modern installation package. It can also convert third-party installations to MSI.
EMCO Installation Suite
This is a bundle of two products: EMCO MSI Package Builder and EMCO Remote Installer. Together you can use them to set up new installations and bring existing installations up to date, and then deploy them across your network. Fans of the package describe it as quick and simple to use, although it doesn’t have all the bells and whistles of some of the other software covered here. As the name suggests, EMCO MSI Package Builder is used to create MSI packages, or to take setup files that are in EXE format and repackage them in MSI format. There’s an MSI editor and a changes monitor, so you can see what effect running the EXE file has on the system registry and file system to make sure those changes happen when the MSI package runs. The remote installer can collect information about what applications are installed on network PCs, and can deploy software across an entire Windows domain or in a specific workgroup.