Over the span of few weeks I have had “hot” conversation in public NG about speed of installation and that R&D team should do something about it.

Good news

For people who worried about future experience with installation of the Delphi 2009 – it is fast (or faster, since it is always comes to personal opinion). I have done several “fresh” installs, along with “on-top” installations. It did took me less then I spend downloading it over my 3Mb connection. Keep in mind a size and compare it to Visual Studio installation time and it start to look very good.

Not to be along with that statement there is other people’s opinion – Holger Flick posted last Saturday about his experience.

History

For many years, Delphi installation was created and maintained using InstallShield product line. It was based on it and IS Express edition was included in distribution for developers to use it. I am not sure how many people have actually used it, but it was there and it was free. Back in 2006

Newly formed CodeGear(TM) chooses InstallAware for delivering the newest versions of Delphi®, Delphi® for .NET, C++ Builder®, and C# Builder® tools. InstallAware Express is now bundled with CodeGear’s developer products as the installer tool of choice.

Let’s look at the possible reasons:

“Using InstallAware’s MSIcode, we have drastically reduced the need for creating custom plug-ins,” says Allen Bauer, Chief Scientist at CodeGear. “Our InstallAware setup dynamically defines the features and files to be installed. Instead of building, maintaining, and shipping separate installers for all the languages, IDEs, and product editions that we offer, we are now able to build and deliver a single install image. This has dramatically reduced our integration workload along with reducing our costs.”

“Electronic software delivery (ESD) will be playing a larger role in the way we deliver our products going forward. InstallAware will be powering our new ESD functionality in the Delphi and C++Builder products,” adds Michael Swindell, Vice President of Products at CodeGear. “We will be able to increase Internet delivery flexibility and performance providing customers with instant access to features based on electronic software purchases. Our goal is to make the user experience for both trial evaluations and electronic purchases as simple and flexible as possible. We evaluated a variety of installation and delivery technologies and InstallAware had the right features, performance, and technology for our requirements.”

Reality check

After initial release everyone had “suffer consequences”. Setup was much slower, updates could take substantial time to be applied. As a result, there was up until recently big “roar” to “toss” IA and return to “good old days”.

Alternatives

Aside from choosing to use batch file/XCOPY setup mode (can you imagine that this is still preferred way to deploy ASP applications?) let’s look at the alternatives for InstallAware (MSI).

  • InstallShield: recently acquired by Acresso. This is a target – “If your software targets Windows, InstallShield® is your solution.” – MSI. Long history with Borland/CodeGear and marketing/pricing/features may played the role in the decision of looking elsewhere for new deployment solutions.
  • InstallAnywhere – just to mention here and it is a product from the same company. In general it may be better positioned since supports not just Windows bit other platforms as well. Not a mainstream product for some time, but what could happen is that it will eventually merge with InstallShield taking best from both. At the time (2006) probably was not even considered to be a choice.
  • Wise installation Studio by Symantec – again Windows platform. – MSI and WinInstall. Product line had struggled for many years, was very non-trivial in maintenance and even though it did have potential, uncertainty of it existence at the time may played the role of not going with it.
  • InnoSetup – great product, native to Pascal/Delphi developers with its Pascal-like scripting language. But even though it is a great product, it may luck of some Enterprise features CodeGear was looking at the time highlighted above. Would it be faster? For sure. Would it lock the deployment to some of the “legacy” ways of doing so? Most likely. – WinInstall

Choice

Some of you will disagree with me on the need of standard ways of deployment, ability to automatically be certified for any future versions of Windows (Vista certification at the moment), common UI elements and interfaces… But reality is that it is that it is needed. User/System administrator/Company should be comfortable and familiar with the product deployment strategies and be able to do the same “that those other setups can do”. InstallAware gives just that. Yes, there is some hype in the air as it is with any product on the market, and yes there is a learning curve. Mind though, learning curve here more related to MSI technology itself, then to InstallAware implementation. Team has to have knowledge, desire, and  budget to properly implement requirements regardless of the platform they are using.

It my strong believe that what we have seen over last few years was a story how higher management decisions affect development rather then technology problems. Yes, I could be wrong, but after over a decade working with different deployment solutions, I think that we are in no worse situation with InstallAware then with any other product. With new management direction at CodeGear it may change, but improvements shown in latest installations for Delphi 2009 beta may finally let story rest in peace.

Update (Aug 28, 2008)

Last night I have had a chance to compare RAD Studio 2007 setup speed and RAD Studio 2009 speed once again. Impressive. 1 : 10 ratio. RAD Studio 2009 installs much faster.


5 Comments

Lars Fosdal · Aug 12, 2008 at 11:39

I fought with Wise for Windows Installer 4.x, 5.x and 6.x over several years. When it worked, it was great, but the problem was that it got really moody if you did something to the install database in the wrong order.

When you then look at a GUI that have (had?) next to no natural workflow, it is easy to understand that it wasn’t about IF it would misbehave, just about WHEN.

When you start making backup copies _every_ time you save the project, you get frustrated. 5.x was first, and the later 6.x revisions got better, but I lost count of how many times the install compiler would crash during the build and screw up the install database. One nice feature was that you could fairly easily create multiple configurations and get multiple .exe or .msi files.

The ideal solution would be an Install compiler that allows you to define your installation as easily as InnoSetup, but then has extensive knowledge of how to transform the script and achieve the same in true .msi form.

Roddy · Aug 12, 2008 at 14:31

It’s worth mentioning that Thoma Cressey Bravo (TCB) own both Embarcadero (== CG) and Acresso (== Installshield). I wouldn’t be surprised if CG were encouraged to use Installshield again.

My vote would be for Inno Setup – every time!

Rob Uttley · Aug 12, 2008 at 14:31

Interesting. I was underwhelmed with the Delphi 2007 install (and subsequent update) experiences too. I had long been an advocate of Wise (have InstallMaster 8.1, from about 8-9 years ago) and given the high cost of either a new license for InstallShield or an upgrade to a modern version of Wise, I thought I’d look at the InstallAware Express edition bundled with Delphi.

While it certainly works, the number of things that I wanted to do that it couldn’t caused me to look at upgrading it to Developer. The upgrade path for those of us who came to InstallAware through Delphi 2007 pushes you to the Studio version instead, and once you get stung for the ‘floating license’ that allows me to have it installed on more than one machine (think automated builds etc), then for a little company like mine it starts to become a too-significant purchase. I don’t make a lot of installs (I don’t have a lot of different customers), but the installs I do make often have slight kinks or customised tweaks that take them out of ‘run of the mill’ and away from the ‘express’/’lite’ products.

So I rechecked Wise (really, I got quite proficient with Wise over the years) but it’s still quite pricey and it’s also gone down the MSI route now – you have to spend big money to get the old-fashioned standalone exe type compiler too.

I looked at InstallShield again, but really it’s there for the big boys. In a small company, it’s a lot to lay down for a tool that you use for maybe a week or so every year.

I had a look at Innosetup, and came away convinced that although I could probably persuade it to do the things I wanted to do, it just felt like it would require more cajouling and coding from me than the other solutions would. Although I don’t want to have to spend too much on an installer (the ‘studio’ versions cost as much as Delphi itself), I’d rather pay to have a certain level of functionality than have to things from scratch every time.

Then I found a link to SetupFactory, by IndigoRose. I spent a little time over the weekend rebuilding one of my more ‘fiddily’ installs with it and was impressed. The GUI is a little busy (although they seem quite proud of the user interface, so what do I know?) but the product certainly works, and there is an active forum, and signs of ongoing activity. Pressed by an upcoming deadline for a project, I’ve opted to go with SetupFactory this time around and see how I feel about it in another year or so’s time. If I feel it’s holding me back in some way then maybe I’ll accept defeat and pony-up for something like the top of the line Wise, InstallShield or InstallAware products.

Anyway, I’m rambling! Interesting post, thanks. I was under the impression that IA and InstallShield were competitors though – you seem to imply they’re part of the same outfit?

Serge Dosyukov · Aug 12, 2008 at 15:11

To Rob, Sorry for my typing error. I have made correction – second package is InstallAnywhere and link was actually right.

I have gone through many systems myself, but at this point I have decided to stick with old good Wise Installation System 9 for simple stuff and InstallAware for a new development.

SetupFactory looks good, I just don’t have personal experience with that. Thank you for mentioning it here.

Serge Dosyukov · Aug 12, 2008 at 15:19

To Roddy, yes TBC has investments both in Acresso (which owns InstallShield) and Embarcadero (CodeGear).
I do not know though if relationship through investment will play any significant role there.
As for InnoSetup, it is great product and has a lot of flexibility, but it may be too much to do by hand at this point and it is too custom.

Leave a Reply