Solved

EOleSysErr on other computers

Posted on 1998-07-10
15
243 Views
Last Modified: 2010-04-03
Hi there,

I wrote a program that uses some HTTPclient patch. On computers with Delphi it runs perfectly, but on other
Win95 machines it raises an EOleSysErr: Class not installed. After searching i found i had to include 3 DLL files
and a ocx file (belonging to the HTTPclient) to be placed in the Windows/System directory. Still after copying
these DLL files and an OCX file to the win/sys dir it does raise the same error. In the helpfiles i found something about a regsvr32.exe program that would register the DLLs in the windows registry (regsvr32.exe /s NAME.dll). I can't just expect everybody to know they have to run regsvr32.exe before running the program. regsvr32.exe seems normally to be in the windows/system dir also. I use Install Shield version 1.11 for Borland 3.0. How do i run
regsvr32.exe after installing automatically? Is there an other solution?
0
Comment
Question by:scheiko
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
  • 3
  • +1
15 Comments
 
LVL 8

Expert Comment

by:ZifNab
ID: 1357594
1. You could make a batchfile, call it install :

 1. Running the installer
 2. running regsvr32.exe

Isn't this an easy and convenient solution?

Zif.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1357595
I'll answer it, if you don't like it just reject it :

Make a .bat file (like in the old dos)

 1. Run installer
 2. run all registry stuff

end .bat file.

Zif.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1357596
Another solution is using another installer, this one for instance : totally freeware and I find it really good. Only, you've to write the script yourself, but somebody is making a freeware wizard script maker, so ... the world keeps turning around (luckely) ;-) :

With this you can install DLL, OCX.

http://www.connect.net/jordanr/isinfo.htm

Zif.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 3

Expert Comment

by:vladika
ID: 1357597
Your OCX file must export
function DllRegisterServer: HResult; stdcall;

To register your OCX, I think, you must call this function

0
 

Author Comment

by:scheiko
ID: 1357598
Dear Zifnab,

I really don't know if this works. It certainly works if the installer program doesn't prompt for restart after the installation, but after changing the registry the installer program usually prompts for restart (not executing the regsvr32 part) which leaves me with the same problem.
0
 

Author Comment

by:scheiko
ID: 1357599
I'll try the URL you gave me and see if that works out for me...

Thanks *grijns*
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1357600
Scheiko, you are right... forgot about the restart of the computer. Then we should find another solution....

. sometimes they do this :

They alter the autoexec.bat, in this case you should add your regsvr32 commands to it. And somthing which will remove the commands when they are done.

you can do this by making a little program which does this all and then you only have to add this program name in the autoexec.bat

Zif. grijns -> Belgian? Dutch?

0
 
LVL 3

Accepted Solution

by:
vladika earned 170 total points
ID: 1357601
Try it

Your OCX file must have corresponding PAS file to import it in Delphi
Find it PAS file.
Assume its name is HTTPClient_TLB.pas

In this file you can see for example
type
  THTTPClient = class(TOleControl)
 ............
...
  end;

You have to override constructor
1) add in public section
  constructor Create(AOwner: TComponent); override;

2) in implementaion section add

constructor THTTPClient.Create(AOwner: TComponent);
begin
  // at first register ocx
  RegisterComServer('YOU OCX NAME'); // for example httpclient.ocx
  inherited Create(AOwner);
end;

3) recompile package and project

0
 
LVL 3

Expert Comment

by:vladika
ID: 1357602
procedure RegisterComServer from ComObj.pas

As you can notice it call DLLRegisterServer which export your OCX

0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1357603
Should also be possible like vladika proposes. I thought it was only possible to do this with COM, not with OCX or DLL.
0
 
LVL 3

Expert Comment

by:vladika
ID: 1357604
Scheiko,
Where are you?
I do not want autograde.

0
 
LVL 3

Expert Comment

by:vladika
ID: 1357605
Scheiko, where are you?
Reject my answer, I do not want autograde.

0
 

Expert Comment

by:JStan
ID: 1357606
I had the same problem in distributing a program with
an Active-X component.
However when I used InstallShield that shipped with
D3, I made a separate files group and called it 'OCX SUPPORT'.
I then listed the DLL's in this group and InstallShield Automatically
Registered all the DLL's when my program was installed.
I would imagine that this would fix your problem also.
Maybe
Jim
0
 
LVL 3

Expert Comment

by:vladika
ID: 1357607

0
 

Author Comment

by:scheiko
ID: 1357608
Thanks Guys,

I still didn't solve the problem, but i'll try the OCX tips by Vladika and JStan. If that's not satisfactory to me i'll try another installer (the freeware one on http://www.connect.net/jordanr/isinfo.htm came up with an error when i tried to install it.......) I've been abroad for some time (that's why i didn't react). Thanks y'all!

Scheiko


0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Reconfigure Delphi Install? 2 78
Tembedded WB animatid gifs not animated on some pcs 2 94
Firemonkey how to swip panel with finger tap 1 42
TAction.OnAfterExecute? 2 32
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question