[DUG] Repost of COM/OLE install problems

staff staff at belding.co.nz
Sat Nov 17 22:17:17 NZDT 2007


Subject to confirmation at all sites with the problem described below the error discussed below has been solved. Its solution is described here. First, another fact. When win 2003 sp2 is installed on a virtual host the problem does not appear. So what is the problem? You can read the symptoms below. 

When a Delphi 6 application providing COM/OLE automation services is installed the stdvcl40.dll also should be registered in the PC's registry. If the application is installed after SP2 is installed, stdvcl40.dll is not registered; unless Win2003 sp2 is installed virtually (only confirmed in one case).  This omission caused the COM Server interface to fail when created in a client application, such as a dot file for MS Word containing VB code. 

What causes this omission? I don't know; it seems somewhere in the transition from SP1 to SP2, Win 2003 has introduced a bug.

What can be done to remedy this omission? stdvcl.dll must be with the application. tregsvr .exe is in the D6.bin folder. With both files in the apps folder, log onto the troubled box as administrator. From a cmd window run "tregsvr stdvcl40.dll" <enter>. This should register the dll properly and the app can now provide its services.

On all other MS operating systems, including Vista (when logged on as the true administrator) the registration of stdvcl40.dll is handled properly by 

"..\bcddocuments.exe /regserver"

Resources:
ResistryTool.exe  (program for multiple registry comparisons with a help manual explaining COM/OLE principles and how Windows' registry uses its data for COM services)
Process Monitor (procMon.exe) Free download from SysInternals for capturing OS actions in a log file. It replaces RegMon. The best Windows diagnostic tool I have used. 

Russell Belding
  ----- Original Message ----- 
  From: staff 
  To: NZ Borland Developers Group - Delphi List 
  Sent: Tuesday, November 13, 2007 12:40 PM
  Subject: [DUG] Repost of COM/OLE install problems


  In light of new insights in this note I am reposting it here, after posting it to "microsoft.public.windows.windows.server.general". 
  Perhaps others here using Delphi might run into this error later.
  ***************

  SP2 for Win 2003 was published in Mar 07.
  http://www.microsoft.com/downloads/details.aspx?familyid=95ac1610-c232-4644-b828-c55eec605d55&displaylang=en

  A program, bcdDocuments.exe, providing COM services was already running on 
  terminal servers and working correctly was unaffected as SP2 was installed.
  This program uses MS Word, all versions using VB, to make documents. Its 
  installation is done by running
  "..\bcdDocuments.exe /regserver" and its uninstall by running
  "..\bcdDocuments.exe /unregserver".

  The program still installs and runs correctly on Win 2003 SP1 and below. It 
  also installs and runs as expected on all versions of Win 2000, Win XP and 
  Vista that we have tried. On Win 2003 SP2 the registry entries appear to 
  install correctly but the program will not run correctly, as follows.

  When attempting to compile prog.dot in MS Word, using the VB Editor, the 
  error "Compile error \n Error in Loading DLL" is given. However
  when working in MS Word's VB Editor with this dot file the code completion 
  feature works ... when I type in a call, it suggests options. So it seems 
  the
  type library is being accessed. The type lib is inside bcdDocuments.exe.

  The prog.dot file asks bcdDocuments for data which is inserted into 
  documents being made.

  We have consistent results.

  bcdDocuments installs and runs as expected on Win 2000, Win XP, Vista, Win 
  2003 SP1 and below. It runs on Win 2003 SP2 provided it was installed before 
  SP2 was installed. It will not (install and run correctly) on Win 2003 SP2 
  if installed after SP2.

  I have looked and not found any static registry problem between an 
  installation on a
  1. Win 2003 SP1 box, and a
  2. Win 2003 SP2 box.

  I am trying to instrument using ProcMon to look for dynamic errors.

  Is this the best place to post this problem? Can someone suggest a better 
  place?

  Any help appreciated.
  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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.adventureeducation.co.nz/pipermail/delphi/attachments/20071117/42868a26/attachment.html


More information about the Delphi mailing list