Hello!

Hello!
I have released the code of the before mentioned Delphi Component Installer. The download also contains a sample but no documentation (hopyfully I'll be able to add it within the next few days) yet.
If anyone could review the code I'll really appreciate :)
Regards,
Stefan
http://ddobjects.de/free-software

Comments

  1. Hello Stefan,

    thank you for sharing this code. I like the idea very much, however I expected that the installer will also compile the installed packages :-) But that will be a more complex feature.

    I've tried the sample installation and found some issues:

    While compiling the Sample package, the compiler stumbles about $WCREV$ in the RC file (I've changed that to 0 to make it compile).

    On my system, Delphi XE is detected as "installed", but in fact it was uninstalled it some times ago. The code in TInstaller.Installed() just checks if the registry key exists. In case of an uninstalled Delphi XE, the key
    HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0
    still exists and contains subkeys "Experts", "Known IDE Packages" from 3rd party installations.
    So it is not sufficient to test if the key exists; it would be better to
    - read "RootDir" value, check DirectoryExists
    - read "App" value, check if File Exists

    I couldn't  completely test the installer because it fails on copying
    DDDebugDXE2.dcp

    May I suggest some further improvements:
    - The TListView is too small to show both IDE Name and BPL path without truncating the values. So please make the form sizeable and use anchors to adjust component size and positions.
    - Add "DesktopFont := True" to TMainForm.FormCreate to make the application use the correct font.
    - Use meaningful component names instead of Label1, Label2, Memo1 etc. :-)

    Good work! Keep on developing :-)

    Achim

    ReplyDelete
  2. Hello Achim. Thanks for your comments.

    $WCREV$ is a leftover which would be replaced by the SVN repository number. I will, however, exchange the sample because of
    "I couldn't  completely test the installer because it fails on copying
    DDDebugDXE2.dcp". This is, because the sample does not contain the real setup but only an emtpy zip. I should have mentioned, that the sample does show an implementation of a specific setup but is not working.

    Checking the existence of the directory of Delphi installation is a good idea. I also will improve the UI as you suggested (although for your own usage of the installation classes you probably would like to use your own anyway).

    Thank you
    Stefan

    ReplyDelete
  3. Found an issue with Delphi 5: while necessary settings (RootDir, App) are stored under HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE, these settings are only stored under HKEY_LOCAL_MACHINE for Delphi 5.
    I already implemented changes as suggested by Achim, will fix this issue, and upload a new version tomorrow.

    ReplyDelete

Post a Comment