Search code examples
vb6windows-10activex

VB6 in Windows 10 can't Implements IDTExtensibility2


I still maintain many old VB6 applications, a few of them are ActiveX Dll that Implements IDTExtensibility2.

Today I opened one of them on Windows 10, tried to run it, and the line Implements IDTExtensibility2 was highlighted and the message "Compile error: Automation type not supported in Visual Basic" appeared.

I created a VirtualBox with Windows 7, installed VB6, and the same project works without problems.

I had Windows 10 for many months now and i'ts unlikely that I never opened any of the old the ActiveX Dll projects, but I don't remember if I did. My feeling is that I did, it was working and it has been broken recently, but I'm not sure because they are old projects and I open them very seldom for minimal maintenance.

Unfortunately I still need to maintain those antiques. Do I need to do the maintenance in the Windows 7 virtual machine? Or do I have a chance to get it to work in Windows 10?


Solution

  • I finally found the solution: I had the wrong version of the service pack 6 installed.

    Installing the correct version it solved the problem, and now I can finally (and sadly) use VB6 on Windows 10.

    The correct version can be downloaded from here: https://www.microsoft.com/en-us/download/confirmation.aspx?id=7030

    EDIT

    When Microsoft pushes an update the problem pops up again. Trying to re-install the service pack fails showing a message about a phantom network folder.

    In order to fix the problem after a Windows update right click on the file downloaded from the link above, uninstall, then double click on it to re-install, and all is good until the next Windows update.