I've finally done it, with the help of Tim W.
He sent me a list of the dll and ocx files used by Planets 4 (see
below).
Working my way through I found I had an old version of MCI32.OCX. I
replaced this with a new version I downloaded from the web.
I unregistered the old OCX file with regsvr32 -u (thanks to Doc for
introducing regsvr32 to me), put the newer file in the system32 folder
and registered it.
Lo and behold Planets 4 works.
Thankyou to everybody who suggested solutions.
I've not finished my shelves yet.
I am once again drinking Whisky and Dry (Bushmills 10 yr old single
Malt).
Here's that list of dll's and ocx's just incase your interested (or
looking this up in the future because you have a similar fault).
Here is a list of possible files that could be causing the error. . .
Source: "msvbvm50.dll"; DestDir: "{sys}"; CopyMode: normal
Source: "stdole2.tlb"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist;
Flags: regtypelib
Source: "oleaut32.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Source: "olepro32.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Source: "asycfilt.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Source: "comcat.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist;
Flags: allowunsafefiles
Source: "comppl32.dll"; DestDir: "{app}"; CopyMode: normal
Source: "tabctl32.ocx"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist;
Flags: regserver
Source: "threed20.ocx"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist;
Flags: regserver
Source: "mci32.ocx"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist;
Flags: regserver
Source: "msvcrt.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Source: "msvcirt.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Source: "shlwapi.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Source: "ole32.dll"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist
Peace.
>> Stay informed about: Runtime Error 50003