0

This is something that start to happen on a project on which I am working, and so far I was not able to figure out the root cause.

This stopped working without any change from my side, the only thing I know has changed since the last time I worked on that project is that a disk failed (used to be the E: drive on which some applications were installed). Operative System is Windows Server 2003.

Below the error:

Runtime Error

The Libraries I am adding to the project are the following:

  • Visual Basic For Applications
  • Visual Basic runtime objects and procedures
  • Visual Basic objects and procedures
  • OLE Automation
  • Microsoft CDO for Windows 2000 Library
  • Microsoft Scripting Runtime
  • Windows Scripting Host Object Model
  • Microsoft Data Binding Collection VB6 (SP4)
  • Microsoft ActiveX Data Objecrs 2.8 Library

The object oConn is declared and instantiated the following way:

  1. Dim oConn AS ADODB.Connection
  2. Set oConn = New ADODB.Connection

No reference is marked as MISSING in the VB Project.

I also tried the late binding, but without success. I tried to use regsrv32.exe to reregister msado15.dll, but no joy.

I am really out of idea here, I think that some dependencies are no longer satisfied due to the failure of the disk, but I don't know how to investigate this given the few details provided by the IDE.

Thanks

bidi
  • 150
  • 1
  • 14
  • 1
    Did you recreate the UDL? That error indicates it's still looking a E:. – Jim Hewitt Jul 25 '16 at 15:22
  • Hi Jim. The E: drive now exists again, I recreated the disk from scratches and I put there the old references (and the UDL, which I checked is valid and connects). What I think is missing is some software that used to be installed there that maybe satisfied some nested references. – bidi Jul 26 '16 at 08:33
  • What do you see when click the Debug button? I'm wondering if this could be an MDAC issue. – Jim Hewitt Jul 26 '16 at 14:51
  • Jim Hewitt. I think you are on the right track. Just yesterday I've been searching the internet for this and I found a Microsoft Tool called ComponentChecker, that should check MDAC for corruption. The tool reports the version installed as UNKNOWN which, almost for sure, is a corruption in the library. The tool provides me the name of some DLLs which version is not the expected one, so I will try to copy them from a working machine.. but I am not sure if is this the correct path. – bidi Jul 27 '16 at 08:47
  • You can also get the download [here](https://www.microsoft.com/en-us/download/details.aspx?id=5793) – Jim Hewitt Jul 27 '16 at 12:45
  • Hi Jim, unfortunately the only option, which I tried, is to reinstall the Service Pack, since MDAC as a standalone package is not available for Windows 2003. – bidi Jul 28 '16 at 13:10

1 Answers1

0

This question has no easy answer. What I found, and has been also suggested in the comment by @Jim Hewitt, is that MDAC on Windows Server 2003 was corrupted. The component checker is not actually able to identify the version of MDAC, which is an embedded component in that version of Windows. So, summarizing, the whole windows installation is corrupted (no idea on how this could have happened) and Visual Basic 6 doesn't work properly. The solution has been to setup another machine.

bidi
  • 150
  • 1
  • 14