Hello Jeremy

Many thanks for you comments. Responses are below.


----- Original Message ----- From: "Jeremy North" <[EMAIL PROTECTED]>
To: "NZ Borland Developers Group - Delphi List" <delphi@delphi.org.nz>
Sent: Tuesday, November 06, 2007 6:44 PM
Subject: Re: [DUG] Com Server registration in Win 2003 SP2


You should be registering COM objects as a part of your installation
program. Your installation program should be run from an elevated user
(admin).

An installation program is not used. I am all ears if you can tell me why one is required. Its worth a try I suppose, I have nothing to loose! One reason to use one is its developers are likely to know more abouth problems like I have and will have overcome them.

The program is first run using the administrator acount on all PCs on which it is run. On all OSes we have installed to this works, including Win 2003 SP1 and the original Win 2003. But it does not work on Win 2003 SP2. All the registry entries seem to be there on SP2 after the first run (unless there are some I am not aware of or some required in Win 2003 post SP1).

The program can also be installed by running the it with command line /regserver using an admin account.

Running the program with command line /unregserver removes all ProgID strings and related GUIDs from the registry, on all OSes.

On Win 2003 SP2 when I test creating an interface in a Delphi test program
bcdClients := coClients.Create;
the error message is "interface not supported". I have fould one suggestion to overcome this problem on www.delphi32.com: "Verify that STDVCL32.DLL and your type library are registered." The type library is registered (it is embedded in the program's exe) and STDVCL32.DLL is not registered in the registries of PCs where the program is working.

When I try to compile the MS Word dot file containing VB code such as
myClients = New Bcddocuments.picklists
the VB error message is :Compile error: Error in loading DLL". This mesage is not helpful, so far.

Both these lines work OK on other OSes including Win 2003 SP1.


While it is true that running the application previously allowed
registration (on other operating systems that ran as admin users) this
was deemed a potential security risk (which it could be).

Are you refering to some change in Win 2003 beyond SP1? I am not sure if you are referring to a change made to Win 2003 SP1 or just giving an opinion. Jeremy if you have something here I can identify, such as the MS number of some kb article I would like to know so I can investigate it. I know of the change made with the introduction of Vista and have sucessfully dealt with those. The program correctly installs on Vista when it is first runs there, provided the account used is the "real admin account".


Simple fix is to register your COM objects in your install or instruct
your users how to run an application as an elevated user.

I wish it were that simple. We install as the OS admin. On Win 2003 SP3 this does not work successfully as it does on Win 2003 SP1 and all the other MS OSes we use. We need the program instsalled on Win 2003 SP2 as these boxes are used as terminal servers hosting many users. Even when the Terminal server role is removed from the OS, the program does not install correctly. Using RegistryTool I have looked through the registry for, so far, two of the 16 interfaces and all the right stuff is in the registry.

If anyone knows of diagnostic tools for OLE/COM errors I'd welcome your references.

Thanks,
Russell


On Nov 6, 2007 4:01 PM, staff <[EMAIL PROTECTED]> wrote:

Hello John
Thanks for his suggestion. You idea that security or permissions was the
error has happened with Vista. In Vista one cannot register the components of a COM EXE server by simply by running the program, as D6 can register an
exe server and as works in Win 2000 and Win XP. One needs to register it
using the real admin account. If anyone wants notes on this email me.
russell at belding dot co dot nz.

The problem is I think in the registry but not with permissions. It seems
Win 2003 SP2 has changed something relating to com registration after SP1. I
am learning the OLE/COM registry requirements now through the package
RegstryTool and its documentation. I am slowed down being on Jury Duty far a
while.

Regards
Russell


----- Original Message -----
From: John Bird
To: 'NZ Borland Developers Group - Delphi List'

Sent: Tuesday, November 06, 2007 4:22 PM
Subject: RE: [DUG] Com Server registration in Win 2003 SP2

This may be off the track, but as I have often found that the problem was
not in the area I was looking - is it possible that for instance there is
some security setting is preventing the interface from working? ie a shrewd look at what has changed in the Win2003 SP2 might give a hint, epecially to do with the security model. If the settings are in the registry it sort of
hints at something like that.




John Bird



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of staff
Sent: Monday, 5 November 2007 5:00 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] Com Server registration in Win 2003 SP2






Thanks Rohit for this suggestion. The error I am seeing is for the three Win 2003 SP2 servers I have tried. All fail in the same way. The single Win 2003
SP1 I have tried works OK.
So I am guessing the problem is not related to a problem on one server.

I am learning where to look y reading the manual "OLE/COM - explained"
section for the registry program "RegistryTool".

I've not found a solution yet so any other suggestions are welcome.

Russell
----- Original Message -----
From: Rohit Gupta
To: NZ Borland Developers Group - Delphi List
Sent: Monday, November 05, 2007 4:14 PM
Subject: Re: [DUG] Com Server registration in Win 2003 SP2

It may have nothing to do with it, but it could be damaged dotnet.

Last week I had a situation where suddenly the BDS IDE stopped compiling,
but command line compile still worked. It turned out be corrupted dotnet2
files.  Reinstalling it did not fix it.  However, uninstalling and
installing again did. I only found it by comparing every windows exe with
another pc.  :-)

staff wrote:
I am (still) working with D6 on a program that provides a COM/OLE services on windows clients, windows networks. The program allows VB code in MS Word and other programs to call these com services in my D6 executable. Typically
the services get data from a Firebird DB and pass it to the requestors.

The program can register its COM interfaces when it first runs or by running
it with the /regserver command line option.
It registers OK in all MS operating systems win9x, win2000, XP, win 2003,
win 2003 SP1, (but not Win 2003 SP2) and Vista (once we use the "real admin" logon account). I have verified its registration works on each OS mentioned
in actual sites and in my test setup. I have verified the registration is
only partial in Win 2003 SP2. The com interfaces appear in the registry and
they are removed when I run the program with command line /unregserver.
Using TREGSRV does not help.

I repeat that Win 2003 SP1 and below is OK and Win 2003 SP2 gives me this
problem.

The dot (myfile.dot) file used when users are running MS Word as part of the
application, when on Win 2003 SP2, is failing to compile.  The VB Editor
tissues the error "Compile error \n Error in Loading DLL" and points to an object referencing a servive provided by my program. When other programs ask for com services they are not provided. Yet when I edit this code in the VB Editor the code completion feature knows about my type library and presents
options from my type library. So my type library seems to have been
registered OK.

This appears to be a Win 2003 SP2 bug. But, as the program is a Delphi 6
product I am hoping someone here has some insights for me. We need the
program running on Win 2003 where it is used as a terminal server.

Insights will be welcome.
Thanks,
Russell Belding________________________________

_______________________________________________
NZ Borland Developers Group
- Delphi mailing list
Post: delphi@delphi.org.nz
Admin:
http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to
[EMAIL PROTECTED] with Subject: unsubscribe

--

Rohit Gupta
B.E. Elec.   M.E.   Mem IEEE    Associate IEE
Technical Manager
Computer Fanatics Limited

Tel     +64 9 4892280
Fax    +64 9 4892290
Email  [EMAIL PROTECTED]
Web    www.cfl.co.nz

________________________________

This email and any attachments contain information, which is confidential
and may be subject to legal privilege and copyright. If you are not the
intended recipient, you must not use, distribute or copy this email or
attachments. If you have received this in error, please notify us
immediately by return email and then delete this email and any attachments.

________________________________


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject:
unsubscribe



________________________________


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject:
unsubscribe


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject:
unsubscribe

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe



_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe

Reply via email to