Installing Indy9 from Source Code

I’m finally working on getting Delphi 7 set up on my Win7 x64 machine. I think it’s been over a year since I last did this on my Vista machine or my Win7 x32 netbook, so my mind totally went blank trying to remember how to install the lastest version of Indy 9.

I already had pulled the code from Indy’s SVN server and been able to transfer that from the old machine, so I was one step ahead there.

I pulled up the “ManualInstall.txt” document in the Indy source directory and tried to follow the directions, only to find it didn’t work. At first it looked like it was a permissions issue, I needed to be running a batch file called fulld7.bat from a command line running on elevated privileges to get the script to run without errors, however, even after sorting all that out, when you get to the step of Installing the *.bpl, even after you’ve correctly remembered which one is the right menu option install such, it just doesn’t work. Complains about a missing file (that just doesn’t seem to exist in the provided repository or compiled files directory).

Well, after much fiddling and trying to figure it out on my own, since the internet had no solutions, it turns out, those directions probably are obsolete, and doing it the way that actually *worked* was much easier…just not obvious if you haven’t been working with Delphi recently.

In the Indy 9 directory from the SVN, there’s a .DPK package file for each delphi version. So, since I’m using Delphi 7, double click Indy70.DPK, it opens in Delphi with a package window visible displaying a list of all the files. At this point you’re two clicks away from a working Indy install. Click “Compile” and then “Install” on the package window, and dismiss the dialogs that confirm those steps work, and suddenly Indy is on the component toolbar without even restarting Delphi.

So there you have it. I’m thinking documenting the steps on installing this that work will be helpful, because by the next time I get around to trying to install Indy on a new machine, I almost certainly will have forgotten how you install it, since you do it once and never touch it again, and odds are good that it will need re-installing after a hiatus where I haven’t touched Delphi in a while period and can’t remember off the top of my head the difference  between installing a component and installing a package, since that’s very delphi-specific terminology.

2 thoughts on “Installing Indy9 from Source Code”

  1. Unless you had a very specific reason for installing Indy 9, you should have downloaded and installed Indy 10. As far as I recall, Indy 9 came preinstalled with Delphi 7 so you shouldn’t have needed to do anything in order to use it. I upgraded to Indy 10 recently (even though I am still using Delphi 7) so that I could send emails via GMail.

    Look at some of my recent questions on Stack Overflow, http://stackoverflow.com/users/162502/noam-newman

    1. I’m actually working on attempting to port the app to indy10 right now. But getting the environment set up and compiling again as-is is something I wanted to tackle before I started introducing new unknowns about why stuff isn’t working, and get the plugins I need to port in a state where they compile as well. Apparently the previous developer tried to port to Indy10 and found some reason it didn’t work and gave up. So far I got it mostly working, but I’m still working through a few different issues.

      The biggest issue I’m running into, ironically, is deciding what to do about a change to a method signature for the OnWork/PopWork/TPluginWorkEvent methods that provide a callback to update the UI progress bar. Indy 10 changes a const int parameter to an Int64, and of course, that makes a change to the existing interface that protocol plugins must implement. So either I need to come up with some tricky way to wrap the difference or decide that going forward you can’t use existing plugins unless they are modified/recompiled.

Comments are closed.