DLL Hell with the View Control OUTLCTL.DLL

  • Thread starter Thread starter Mivoat
  • Start date Start date
M

Mivoat

I've had a VB6 app running well for a couple of years with a customer with
mixed Office 2003/2007, and this app utilises the Outlook view Control
(OUTLCTL.DLL)

Recently I upgraded my development machine to Office 2007 and now the exe
file produced by VB gives an error on customers using Outlook 2003 that says:

"Failed to load Outllok View Control. Your verion of OUTLCTL.DLL may be
outdated. Make sure you are using the version of the control that was
provided with your application."

There is no option to simply upgrade to 2007 - they don't have the funds, so
I must find a way to keep the app running with both versions.

I have now uninstalled Oulook 2007 from my dev system and reinstalled
OL2003, and ensured that it's OUTLCTL.DLL from v 11 that the app uses but the
customer PC still gives the same error.

I've installed OL 2003 with sp3 on a fresh test PC and all is OK.

So I asked my customer to 1. Repair MS Office on the OL2003 PC (no good)
and then 2. Run the Reinstall of MS Office - still no good!

The version of OUTLCTL.DLL deployed is 11.0.8164.0 and the app also includes
MSOUTL.OLB v11.0.8161.0 and MSO.DLL v11.0.8172.0

I've tried unregistering the offending OUTLCTL.DLL with
REGSVR32 -U OUTLCTL.DLL

but this fails. It's not an option to wipe all their PCs so I'm stuck.

Any suggestions greatly appreciated.

Clive, London UK
 
I don't follow, do you actually deploy the view control with your code? Are
you deploying the Office libraries with your code? That's illegal.

The Outlook 2003 version of that control isn't registered, it just lives in
the Office11 folder. The Outlook 2007 version can be registered and
unregistered.

In general the rule is to develop on a machine with the oldest version of
Outlook installed that you plan to support. I use virtual machines to have
development environments spanning from Outlook 2000 to Outlook 2007 for that
purpose.

Did you at some point deploy the Outlook 2007 version to users on Outlook
2003? If so did you register the control there? It would then need to be
unregistered before you remove it.
 
Ken

Thank you very much for taking the time to reply.

I Have been deploying OUTLCTL.DLL and other Office libraries but only
because they were automatically included by the Package and Deployment
Wizard. (In every case the customer already had MS Office installed, but I
guess that doesn't stop my activity being illegal.)

From what you're saying I'd have fewer headaches if I Wasn't deploying
Office library files.

What puzzles me is they had trouble with Outlook 2007 until I upgraded my
dev PC from Outlook 2003 to Outlook 2007 - and miraculously that build worked
fine for them on both versions of Outlook.

Anyhow you've given me some useful knowledge viz what can and can't be
registered/unregistered.

Many Thanks, Clive
 
The old P&D wizard deployments are known for including everything including
the kitchen sink in deployments. Years ago when I used to use that package I
always spent a lot of time customizing what was deployed that wasn't needed.

I never deployed the VB runtime or any standard VB OCX's or DLL's, those are
already installed by Windows or Office, as long as you're targeting Office
98 or later and Win98 or later. Even on Vista most of the OCX's are there
and the VB runtime is also there.

If Office/Outlook is installed then the Office and Outlook stuff is
installed already.

That model breaks down only if you are using managed code, where there are
lots of prerequisites and requirements that may or may not be installed
already (Frameworks, PIA's, etc.).

The trouble people had on Outlook 2007 was probably because you were
deploying Office 2003 stuff to them.
 
Back
Top