Wednesday, May 16, 2007

C++Builder announced, why should Delphi folks care?

During the development of C++Builder 2007 after the release of Delphi 2007, a lot has been happening.  We've been getting a lot of excellent feedback on how our drive to increase quality and stability has been going.  If you haven't tried Delphi 2007, I think it is worth your time to check it out.

One thing that is really exciting is the potential behind the use of the new installer technology from InstallAware.  Delphi 2007 was the first release that was using this new installer so there was bound to be a few rough edges and that need to be polished.  We've been able to incorporate a lot of your feedback in a newly updated version of the installer for C++Builder 2007.  But that doesn't mean that only the C++Builder folks are going to benefit.  Part of the overal design of the installer is that it is the same installer for all the Windows IDE products.  So when C++Builder is released, a new install of Delphi 2007 will be available.  Here's just a couple of things we've added as a result of direct feedback.

Many folks that didn't purchase a media-kit and used the installer to download complained that they wanted to be able to save off the original download files so they could archive it.  We've fixed that.  If the installer sees that it will be downloading anything, it will give the user the opportunity to select a local folder into which the downloaded data blocks will be placed.  So if you ever needed to reinstall, simply re-run the setup from that folder and since, presumeably, all the data blocks are already present, there would be no need to redownload.

Due to the way the install is designed for flexibility, it does tend to keep a cache of all the data blocks under Documents and SettingsAll UsersApplication Data, which can be fairly large.  Another option that has been added is to allow the user to tell the installer to delete this cached information once the product is installed.  This does have a down side, but I think it is a fair compromise.  The main down side is that should you ever need to do a repair, patch, or upgrade, the installer will need to unpack that cache data again.  You will always be able to uninstall without that cache data... but then again... why would you be uninstalling? :-).

Another thing we've done to greatly increase the overall delivery efficiency is that we build one, and only, one install image.  Rather than building upwards of 16 (many, many more if you include trials, and Turbos) different install images, we build only one.  This also reduces our costs both in terms of time for install testing and also in actual Cost of Goods Sold (COGS).  Why should you, the customer, care?  Because this means we now have more money available for other things, like more developers, QA engineers and documentation writers.  This also goes back to former CEO now advisor, Ben Smith's, driving mantra of simplifying the business.

I hold no illusions that we're done.  We will still continue to improve the experience as we move on ahead.  One of my favorite sayings is, “How do you eat a 3 ton elephant?”  It's really simple,  “One bite at a time.”


“If you're going through hell, keep going.”  Winston Churchill


  1. This is just great !!!

    Just spread the news to the Delphi blogosphere ! They will be very happy about the installer updates.

  2. I am very happy about the change in installers. I wish CodeGear could go back in time and implement it for BDS 2006.

    I'm dealing with a BDS 2006 install problem. I installed all personalities except C++. Now I want to add C++ by clicking Modify in Add/Remove and selecting C++. Installer looks like it's working until it hits the following error: "Internal Error: IdWinsock2.hpp" The install rollsback. :( Doesn't matter if I unselect Indy or choose Indy 9. Argh.


  3. Great news indeed! Just don't forget to keep "eating" the elephant! :)

    A very nice change, for the next installer update, would be to have the installer *not* cache stuff in Documents and Settings and instead store the location where it was installed from. If one installs from a DVD and later needs to add/remove something, one would pop the CD and get done with it without further clutter by needlessly caching files on AppData...

    I know this is how *old* installers work, but sometimes, old is better than new and this is one such case! If one *does* want to cache the files, simply copy all the DVD/saved cached folder to somewhere on the HDD and install from there... If I want to have something readily available, I make an ISO and keep that ISO on another HDD partition so as to keep the main partition as small as possible to fit a DVD so as to restore it to working state in under 10 minutes...

    Still, it's a nice bite out of that elephant: just keep biting it! :)

  4. Can anyone comment on why the DVD install also creates this huge cached version?

  5. “If you're going through hell, keep going.”

    I hope this does not mean you are going through hell...

  6. Carl,

    There are those days... :-). In general, there are merely "challenges" that need to be addressed and worked through.



Please keep your comments related to the post on which you are commenting. No spam, personal attacks, or general nastiness. I will be watching and will delete comments I find irrelevant, offensive and unnecessary.