[DUG] Com Server registration in Win 2003 SP2

staff staff at belding.co.nz
Wed Nov 7 18:17:55 NZDT 2007


Hello Jeremy

Many thanks for you comments. Responses are below.


----- Original Message ----- 
From: "Jeremy North" <jeremy.north at gmail.com>
To: "NZ Borland Developers Group - Delphi List" <delphi at 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 <staff at belding.co.nz> 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: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] 
>> 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 at delphi.org.nz
>> Admin:
>> http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to
>> delphi-request at delphi.org.nz 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  rohit at cfl.co.nz
>> 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 at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject:
>> unsubscribe
>>
>>
>>
>> ________________________________
>>
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject:
>> unsubscribe
>>
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject:
>> unsubscribe
>>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject: 
> unsubscribe
> 




More information about the Delphi mailing list