|Subject||LONG, Re: [IBO] Installing IBObjects in Delphi 4 and Delphi 6|
>At 07:48 AM 3/02/2006, Gerard Houtenbos wrote:At 10:31 AM 3/02/2006, you wrote:
> >Helen, let's first focus on Delphi 4.
> >I deleted IBObjects using the uninstaller
>Oops. The Uninstaller hasn't been implemented, AFAIR. You'veI'll expand on this: yes, run the uninstaller to clean it from your
>literally got to do a rigorous cleanup.
MSI database, but don't expect it to uninstall anything.
I also wrote:
>Yes, but because I have 5 versions of Delphi on my dev machine, IOK, I've spent a good part of the day on this so far. I've installed
>will not use anything but the ...Raw... kit. (Sorry, but the
>installers just wreck everything here.)
>I will install on D4 and try to follow up any errors that occur.
v.4.6A into Delphi 4, Delphi 6 and Delphi 7, using the ..RawSource kit.
First: both D7 and D6 installed flawlessly into clean IBO root folders.
I also (eventually) managed to get all of the valid packages for
Delphi 4 to install, *except* for the RPL and FTS components. Both
exhibited the same error, a change involving the MacroSubstitute
procedure, which appears to involve something that D4 doesn't support.
Now, next is where the LONG part starts. I'll describe the procedure
I followed in all three cases, step-by-step. (This is partly for me
and partly for you, as I'm currently engaged in updating the front
section of the IBO Help and right now I'm stuck on the Installation
chapter, between the Devil and the Deep Blue Sea. I'm considering
including the procedure below as a temporary help, until Jason either
gets the installer issues sorted out, or decides that the former way
of distributing the IBO source has a lot more going for it than the
frustrations of trying to make one single installer script work for
all the numerous variations and IDE bugs !!)
OK, here goes. These steps must be done in the order given. It
looks a bit complicated the first time you do it but I promise you
that you will be able to do it in your sleep before you know it! It
includes several workarounds for known bugs in the Delphi IDEs.
1) Open Delphi. (IMPORTANT: For Delphi 4, if Delphi is already
running, close it and then restart it.)
2) Open Components|Install Packages from the menu and, selecting
each IBO package in turn, click the Remove button and answer all
dialogs. DO NOT use the checkboxes to "remove" the packages. You
must literally remove them, so that they do not appear in the package
list at all.
3a) Create a new directory for your IBO root. I created e:\ibo46_dn,
in each case, where 'n' is replaced by the Delphi version number.
3b) Beneath the IBO root, create a directory for the DCP files. I
3b) Create another directory to act as a repository for junk. I
4) In Delphi, edit all library, output and browse paths so that they
find your IBO root, your DCP files and your BPL files. The one I
always use fro BPLs, for all 3P packages, is
($DELPHI)\Projects\BPL. If that directory doesn't exist, create it.
IMPORTANT FOR D4: Do not trust the IDE to update your library paths
properly. It may take several attempts. Use Delete and Add, rather
than Replace, since Replace seems to have about a 20% first-time
success rate.I do strongly recommend having the explicit dcp
subdir. I will explain later.
5) Do a File | Save All and, when prompted, save the default project
into your "trashcan" directory. This is essential for D4 and is
recommended for D6. It didn't seem to be needed for D7. The purpose
of this is to make sure that Delphi updates the package and path
lists. You can later just delete the default project sources from
6) EXIT FROM DELPHI.
7) Now, if you ran the installer previous, go the Control Panel |
Add/Remove programs and run the uninstaller to clean out the IBO
entry in question.
8. Delete or rename your old IBO root folder.
9. Find all the old IBO40xxx_Dn.bpl and dcp files that apply to the
Dn version you want to install IBO for. The safest thing is to do a
search everywhere for IBO40*.* and select all of the *.Dn.bpl and
*.Dn.dcp files in the result list for the "n" you are interested
in; then delete them or move them somewhere right out of reach of
your Delphi or system paths.
Now, you should have a clean system.
10) Restart Delphi and close the default project.
11) Open the package IBO40_Dn.bpg project group that's in your new
IBO root folder. (If the Project Manager isn't showing, go into the
menu and set it to display.)
12) Right-click on the first package displayed in the Project
Manager's package list and Open it; then just move it out of the
way. You won't need it, but don't close it.
13) Go to the Menu and select Project | Build All Projects. You can
watch in the editbox at the top of the project manager, to see the
compiler working its way through the package list. When it's
finished, this editbox will show the first package again.
OK, now, I got this far with all of the Delphi versions. From here,
it gets unstuck for Delphi 4, so FIRST DO THE FOLLOWING STEP FOR
DELPHI 4 ONLY --
-- Go to ..\Borland\Delphi4\Projects\BPL and select all of the DCP
files that were just created by the compiler. Press Ctrl-X to cut
the out, then paste them into the dcp folder that you created earlier
beneath your new IBO root.
The remaining steps apply to all versions. For D4, you will
encounter some errors and warnings, with references to zlib.pas and
TIB_OleContainer. Just take the default replies and IBO will install
OK for you anyway. (I have a snapshot trail of these errors for
Jason to inspect at his leisure...)
14) Go down the package list in the Project Manager, to the first
Design-time package (...DT..). Right click on the entry and select
Install. Click OK on the modal message and move on to the next
...DT... package in sequence.
15) Repeat step 14 until you have installed all of the ...DT...
packages in your list. (For D4, don't try to install the two
runtime/designtime packages ...RPL... and ...FTS... - it will fail.)
16) Now, select File | Save All. Wait until the button pops back
up, then select File | Close All.
You're done. If you like, go and check that the BPL and DCP files
are all in their proper places...