RAD Studio 2007 Quality Discussion, Installer and General Musings

Every release, I get those release jitters when putting out that gold image to manufacturing. RAD Studio 2007 has been out for about a month and a half now, and looking in Quality Central and at various forums - overall feedback has been positive.

A few folks have run into issues with the installer - some history to this is we originally scoped out the technology for a major suite release in June, and late 2006 we decided to react to public survey feedback and release the highest demand personality first as Delphi 2007 instead.

That was cool, Delphi 2007 was released in February and feedback was quite strong. We aimed for backwards compatibility as much as possible and included the launch of a new installer.

Later in May we released C++Builder 2007, which was also provided major upgrade to Delphi 2007 users. Here was where we identified and fixed several issues in the Delphi 2007 installers. This process of iterative releases was new, the QA team was learning all the installation scenarios and one challenge was reacting to the fact what we shipped in Delphi 2007 impacted the upgrade experience for C++ Builder 2007.

What was a major positive was we had another general round of bug fixes for Delphi 2007 users.

So then came along the completion of the series - RAD Studio 2007, which added Delphi.NET, Blackfish SQL and ASP.NET 2.0. AND - another round of bug fixes. It has ‘everything’ including Delphi 2007 and C++Builder 2007.

In 2007 we’ve had over 6 500 bug fixes between the releases (over 1000 from QC), which is a new record for the product. We made progress with the help system, restored lost documentation and fixing many F1 links in the IDE. The core binaries are in the best shape they have ever been, which explains why folks have called RADStudio 2007 (or Delphi 2007 Update 3) the ‘Delphi has come back!’ release.

Now, I’m still a critical kind of guy who believes being realistic is important. We’re not done yet. To me this is just a good start - there is a lot more to do on the Doc side (some examples are back, not all), and the installer is dealing with a very complex set of scenarios. That relates to our product complexity and some internal processes that could be improved to make things less painful/difficult all around.

It’s easy to ‘blame’ InstallAware - but seriously, it’s difficult for any installer technology to deal with all the complexity we are putting on it. Some of the issues are on our side. Others are on the InstallAware side and they have been very helpful.

I’ve been spending dozens of hours talking and helping various customers with install issues. It’s less then when I did work on Kylix - now THAT was complex :)  I think it’s confusing to customers as to how to apply an update, and when things go wrong - what to do.

The worst thing to do when the Update 3 fails, is grab your original D2007/C++Builder 2007 DVDs. That appears to be where a few folks run into trouble. The best thing to do there is download the ZIP file from http://cc.codegear.com/item/25014 into a clean directory, then install via the setup.exe including in the .zip. As soon as you have those files, no longer use the original DVD/version 1 install files. I’ve helped point several folks to this method, and it appears to address the main remaining ‘confusion’. (And hey - we’re taking responsibility for making this confusing and looking to fix it)

A couple other common issues are ones detailed in this blog. Odds are if you are reading this post - you’ve read those. Support is great at dealing with any install problems, and are being great about letting me know of any new issues.

Internal QA and the field tests did not run into the problems of ‘wrong install procedure’ since they were educated to the required process. I consider that a lesson for the future - do an open beta test for future releases and catch usability/first experience issues before going live.

Regardless, I invite anyone who is still running into any install issues to send me an email (cpattinson@codegear.com). I also keep an eye on the public newsgroup borland.public.install.delphi .

Consider this an open thread for quality discussions - we DO take quality extremely seriously. If you have a defect or issue, log it in Quality Central , then feel free to talk about it here. We have great feedback in quality central, and are always reviewing and prioritizing for future work. This includes feature requests and fixes (hey - you noticed the top voted request, Unicode, is on our roadmap, right?)

25 Responses to “RAD Studio 2007 Quality Discussion, Installer and General Musings”

  1. Peter Says:

    Chris,
    you are telling us, the long install times are being caused due to the complexity of Delphi RAD Studio. We have over 11.000 files in Lazarus. InnoSetup handles this job in 3 minutes. Not 3 hours! Please have a look at InnoSetup.

    The verification etc. of thousands of files is very stupid. Overwrite it, basta!

  2. Chris Pattinson Says:

    Hi Peter,

    It’s not just ‘files’ - we work with COM, GAC, Registry and merge with many 3rd parties.

    3 minutes is impressive though, what is the total size of the install of all those files, and what type of files?

    Part of the time in the install is due to decompressing from .7zip, and for online installs, downloads of files.

    I’ve installed from DVD in 25 minutes including Help on a 4 month old laptop. Vista also does many additional file checks, which can slow down any install.

    Need to take these all into account when doing performance comparisons.

    That being said - QA sure benefits from fast installs and I’m game to explore other solutions - just ensuring we compare apples to apples.

  3. Silver Black Says:

    Have a look also at CyberInstaller, it’ll be soon released in a version supporting Vista.
    www.silvercybertech.com

  4. Delphi Says:

    Please remove the J# and .NET dependencies from Delphi Win32 Products and a lot of your install troubles will be gone….

  5. John McLaine Says:

    Hello Cris. Nice blog background ;-)

    Vista slows down ALOT ! I have tested an installation with XP (in a vmware session) and in Vista (computer) and even it is about 2 times faster with XP in a vmware session.
    I am not a install products professional if I am not confused the installations of RAD Studio uses the MSI tecnology… maybe this is a method more easy to develop with but it is really slow during install… I have counted about 12000 rbf’s that have been created on the Temporary directory (config.msi) during install. That means that if you count the 7zip decompression, the downloading, the rbf’s creations, the inprocess communication via threads with msiexe dll and then Vista, a very slow, slow installation. That’s why maybe Inno Setup is much much faster because it does not uses the msi technology for installaling.
    Sorry If I said something incorrect, it is just a thought and an opinion of what I think it could be happening with the installer.

  6. Sebastian Z. Says:

    Can I use this opportunity to point you to some issues with code completion? Since Delphi 2005 code completion tends to be very incomplete when the overload keyword is used. I really wonder when these will finally be fixed.

    QC #47274 http://qc.codegear.com/wc/qcmain.aspx?d=47274

    QC #39442 http://qc.codegear.com/wc/qcmain.aspx?d=39442

    QC #9666 http://qc.codegear.com/wc/qcmain.aspx?d=9666 (still broken when the steps are slightly modified - see my comment)

  7. Roddy Says:

    I’d love to see a "portable" version of RADStudio. The .NET stuff may make that impossible, but…

    http://en.wikipedia.org/wiki/List_of_portable_software

    http://www.portableapps.com

    http://www.stevetrefethen.com/blog/PortableApplicationsOnASanDiskCruzerMicroUSBFlashDrive.aspx

  8. Peter Says:

    InnoSetup knows 7zip too! Not all user have a 4 mounth old laptop. Most have a 3 or 4 years old PC.

  9. Thomas Mueller Says:

    Hi Chris,

    just one note on InnoSetup: Yes, it is very good and very fast, but it does not create .MSI installers, so it probably isn’t an option for you.

    twm

  10. Bill Says:

    All is not well. When I try to debug with run minimized, when the second breakpoint is reached, the ide is not restored. This makes it almost impossible to run minimized when debugging. I have never seen delphi 1 - D2007 RAD ever do this. Running on Vista.

  11. Chris Pattinson Says:

    John - you are mostly correct, though just swapping out installers isn’t as easy as it sounds. Vista also uses MSI 4.0, which is different then the version InstallAware uses (MSI 2.0).

    Sebastian - I reviewed and promoted your reports. I’ll also ask the team to investigate. These look like pretty serious usability problems. Thanks for taking the time to list them.

    Roddy - We’re with you on this great concept. Sergio (installer engineer - hopefully more on his blog here soon http://blogs.codegear.com/sergiocardoso/ ) and a couple of us were just talking about how we could/should do this with Delphi. Why not? Have it pre-installed on a flash drive/ram drive, just plug in and go. There are some technical problems to solve, just need to see if there is a big enough demand for it (besides the obviously very cool factor!).

    Thomas - right, we decided to use MSI for repair/restore and integrate closely with the windows operating system. Now we could decide that fast performance is better then reliability (and frankly - I’ve seen enough MSI related errors to know it’s not perfect). Not simple, but it’s one of many options being looked at.

    Bill - this sounds familiar. I’ll check with the debugger team. Please log a QC report, then I’ll either link to the internal one or promote it.

  12. Daniel Says:

    +1 to comment #4, remove J# dependency ASAP, it hurts just to see that in the list of prerequisites. .NET is most likely installed anyway in a developer box, so I don’t see this as a serious concern.

    In fact, we Win32 developers wouls like and love Delphi 2007 to be just that, Win32.

  13. Charles Hodgkins Says:

    Chris,

    I know that in InstallShield 2008 you have an option of picking which version of the Windows Installer to use and one of the options is to use whichever is best for the system. So I would think that InstallAware should have something similar.

    We’re waiting on our DVD for RAD 2007 and when it arrives we’ll move up from 2006 but not until then.

  14. Peter Says:

    The major problem is that CG uses so many "none solid rock" Microsoft technologies:

    -HTML-Help 2
    -MSI installer
    -.net

    That hurts native Win32 developers very much.

  15. m. Th. Says:

    Nice post Chris!

    1. Yes, definitely a pubic beta will mimic far better the actual behavior of the finished product.

    2. From the ‘complex’ installation scenarios you forgot one: Making the _upgrade_ easier. A tool (integrated or not) to ‘print’ somewhere in a file the list with installed packages in the old version, for example.

  16. Bill Says:

    Chris:

    It was already done: See QC #53080 for Failure of IDE to restore when minimized.

    Bill

  17. Anders E. Andersen Says:

    Docs got better with update 3.

    There is a lot still missing. It isn’t just examples. Lots of "this is foo of class bar" placeholders still need to be filled with meaningful content.

    My two latest QC documentation bugs: #51775 regarding TPadding, and #52848 regarding TThread.

    I also have an old issue regarding incorrect TIBQuery documentation. QC #23424. The doc says to call Prepare before executing a query. This is redundant with all IBExpress components.

  18. Jon Says:

    This bug introduced by RAD Studio 2007 (or Update 3) is a real show stopper.

    http://qc.borland.com/wc/qcmain.aspx?d=54356

    Create a Win32 VCL
    Drop TLabel
    Right-click the TLabel
    Click the form
    IDE freezes

    Delphi 2006 for Win32 was also affected by this bug.

    "Delphi has come back!"… … … NOT!!!

    Waaaaa!!!

  19. Brad Says:

    RAD Studi crashes on startup right after Together gets loaded; I can’t find logs, config files, or anything that would let me know what is going on and how to start the app. I *don’t* want to spend a day debugging your code, I already have mine to work with. How do I get the RAD Studio IDE to start fresh, without packages or desktop configurations ?

  20. Chris Pattinson Says:

    Registry controls what packages are loaded. Which means backup your registry before doing ANYTHING in it.

    This location has the list of IDE packages that are loaded:

    HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\5.0\Known IDE Packages

    What is the error? First time I’ve heard this one. Does deleting/removing the refactoride100.bpl package cause the error to go away?

    Or is it the default project you are loading, causing the error since it had modeling enabled?

    Other settings are found in the application settings directory, similar to this:

    C:\Documents and Settings\[User Name]\Application Data\Borland\BDS\5.0

    This location is what you should expect on XP, let me know if you have Vista or something else. Delete the 5.0 directory and subdirectories (or rename/move - that might be more ideal, since you could compare files to find out what change or difference causes the problem. Or just send them to me. )

    Hope that helps.

  21. Brad Says:

    Hey Chris,

    It got fixed; not sure how, but it did. The problem occurred when RAD Studio started, trying to get access to a library stored on a volume that was not mounted. On the next restart of RAD Studio, the whole IDE would crash. Here is something that would make the experience a lot smoother (and easier for you to resolve): having a command-line switch that would log each operation (and group of operations) as it is about to take place, and log which have been completed. This way, it would be trivial to find out at which step the crash occurred.

  22. Anders E. Andersen Says:

    IBX documentation missing.

    QC bug #52205

    Please fix the docs, Codegear.

  23. Dmitry Says:

    Hi, Chris!
    [Sorry for my poor English]

    I’m not sure if your blog is right place for posting such questions, but I suppose that I can get answer faster than over official ways. Our company is going to buy RAD Studio 2007. So, today I have downloaded small file "CodeGearRADStudio2007setup.exe", which should download all other files and install trial version for me. I started this file, choose it to install everything. Then most interesting has started: I haven’t enough room for installation on C disk (where Windows XP SP2 is installed), so I set all paths to D disk (it has about 7G free and RAD Studio requires 2G). After that installer asked for place where it can save downloaded files, so I pointed him to my X disk, which has about 250G free. After that installer said:
    —————————
    Not Enough Space
    —————————
    Not enough disk space to install this product.
    —————————
    ОК
    —————————
    When I pressed OK everything has closed without my permission. So I didn’t guess: isn’t 250G isn’t enough to download RAD Studio? Or 7G isn’t enough to install RAD Studio? Or 1G free space on C drive isn’t enough for something else included which I don’t ask about?

  24. Chris Pattinson Says:

    Hi Dmitry,

    Currently, the install decompresses into the Shared Application directory on your system - which on many systems is the C:\. 1gb should be adequate, though often your system is using additional space for other file caching so 2gb would be much better.

    To help solve this - put CodeGearRADStudio2007setup.exe on the D: or X: and run it from there. Files will be downloaded to that drive instead of C:, and the 1gb should be adequate for the decompression. If you’ve already downloaded the files, you can safely copy/move them to another directory (if they were on C:) and run from X: or D: instead.

    hope that helps.

  25. Dmitry Says:

    OK! I’ll give it another try. Thanks for advice.

Leave a Reply