VB6 in Windows 10 can't Implements IDTExtensibility2 - vb6

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?

Alternative fix if the #stenci SP6 reinstall solution doesn't work:
Open an administrative Command window. Issue the following commands:
regsvr32 /u "c:\Program Files (x86)\Common Files\DESIGNER\MSADDNDR.DLL"
regsvr32 "c:\Program Files (x86)\Common Files\DESIGNER\MSADDNDR.DLL"
As with the other solution, you may need to re-apply this fix after Windows 10 updates.
This fix got me going again with my VB6 Add-In project.

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.

Related

VS2013 - Msbuild fails Error MSB3086: Could not find AL.exe

I've recently upgraded to Windows 10 and i've stumbled upon an error when trying to build my solution in Visual Studio 2013 Ultimate.
The error is as follows:
Error 1 Task could not find "AL.exe" using the SdkToolsPath "" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools-x86". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed Common.Resources
So the one thing that came to mind is to download / install the Windows 8.1 & 10 SDK, this didn't solve this issue however. The error is referring to Microsoft SDK v8.1a; Shouldn't it refer to v10.0?
So I opened up regedit and looked at the key location and the v10.0 folder is missing and the v8.1a folder is empty.
There are a couple of keys that when created should fix this error, i've tried creating them manually aswell but this didn't fix it either.
So, I tried changing the sdk toolset, there's supposed to be a option I should be able to change, so I opened the solution properties > Configuration Properties > Changed Configuration to 'All Configurations'. and the General node appeared to be missing...
All of this happened after upgrading to windows 10, it messed up the sdk toolset somehow, i've done alot of research for this problem and I couldn't find a proper solution. Any ideas?
I've managed to solve this problem; I decided to remove all the intalled SDKs then reinstall the latest Windows 10 SDK. Then I cleaned my solution and it built succesfully afterwards!

Object Library Not Registered When Adding Windows Common Controls 6.0

I am trying to install Visual Studio 6 on a Windows 7 32bit machine.
The OS intall was from bare metal.
I followed the instructions mentioned here (which I have used before)
The install went fine with no errors reported but when I try to add the Microsoft Windows Common Controls 6.0 to the toolbox I get the "Object Library Not Registered" Error.
I tried doing a manual uninstall and reinstall of the OCX which both succeeded but I still have the same error.
I tried installing SP6 and that installed without error (and updated the OCX to a newer version) but I still have the same problem.
EDIT:
As mentioned below on further investigation it seems that the IE10 update breaks the MSCOMCTL.ocx. However I also think this is something to do with the order because I have another Windows 7 machine with IE10 that works fine.
On 32-bit machines:
cd C:\Windows\System32
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
or on 64 bit machines:
cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
These need to be run as administrator.
I can confirm that this is not fixable by unregistering and registering the MSCOMCTRL.OCX like before. I have been trying to pin down which update is the source of the problem and it looks like it's either IE10 or IE10 in combination with some other update that's causing the problem. If I can get more time to invest in this I'll update my post but in the meantime uninstalling IE10 resolves the issue.
...and on my 64 bit W7 machine, with VB6 installed... in DOS, as Admin, this worked to solve an OCX problem I was having with a VB6 App:
cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
YES! This solution solved the problem I had using MSCAL.OCX (The Microsoft Calendar Control) in VB6.
Thank you guys! :-)
You Just execute the following commands in your command prompt,
For 32 bit machine,
cd C:\Windows\System32
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
For 64 bit machine,
cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
I have been having the same problem. VB6 Win7 64 bit and have come across a very simple solution, so I figured it would be a good idea to share it here in case it helps anyone else.
First I have tried the following with no success:
unregistered and re-registering MSCOMCTL, MSCOMCTL2 and the barcode active X controls in every directory I could think of trying (VB98, system 32, sysWOW64, project folder.)
Deleting working folder and getting everything again. (through source safe)
Copying the OCX files from a machine with no problems and registering those.
Installing service pack 6
Installing MZ tools - it was worth a try
Installing the distributable version of the project.
Manually editing the vbp file (after making it writeable) to amend/remove the references and generally fiddling.
Un-Installing VB6 and re-Installing (this I thought was a last resort) The problem was occurring on a new project and not just existing ones.
NONE of the above worked but the following did
Open VB6
New project
>Project
>Components
Tick the following:
Microsoft flexigrid control 6.0 (sp6)
Microsoft MAPI controls 6.0
Microsoft Masked Edit Control 6.0 (sp3)
Microsoft Tabbed Dialog Control 6.0 (sp6)
>Apply
After this I could still not tick the Barcode Active X or the windows common contols 6.0 and windows common controls 2 6.0, but when I clicked apply, the message changed from unregistered, to that it was already in the project.
>exit the components dialog and then load project.
This time it worked.
Tried the components dialog again and the missing three were now ticked. Everything seems fine now.
You can run the tool from Microsoft in this KB http://support.microsoft.com/default.aspx?scid=kb;en-us;Q195353 to fix the licensing issues for earlier ActiveX controls. This worked for me.
To overcome the issue of Win7 32bit VB6, try copying from Windows Server 2003 C:\Windows\system32\ the files mscomctl.ocx and mscomcctl.oba.

VB6 Application Silently Crashes on Startup/Form Loading

I have a VB6 app that loads initially (for a small prompt to enter a license key, only on the first time). It works fine on my machine (windows 7).
I had complaints of it crashing on someone else's machine (both xp and 7), so I made a Windows XP virtual machine. I installed it on the virtual machine, it crashed. I wanted to see where it crashed so I installed Visual Studio on the virtual machine so that I would get a debug prompt. When I ran the program again, it worked.
I am more familiar with C++ and had these kinds of problems, so I figured it was some sort of runtime issue.
I found this VB6 SP6 Redistributable Runtime:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24417
I installed that, and it still wouldn't run.
Any ideas where to go from here?
Edit:
I have tried depends.exe, it only shows MSJava, which I've heard I can ignore. Does depends.exe also show things like .ocx (Active X controllers?) that are required?
Also, from the cmd prompt, %errorlevel% doesn't seem to get populated. Is that a VB6 things, or does that indicate that this is truely a crash and not a user exit?
Open the Visual Basic project and check both "References" and "Components" under the "Project" menu.
Since it is crashing with the VB runtime installed it is likely a component that you have referenced in the project that either does not exist (or is not registered) on the client under test.
This should be a simple fix.
I had the same problem on my windows 7 computer.
I have uninstalled everything, changed my windows theme to Windows Classic.
I changed following properties of VB setup file.
Right click on setup.exe and go to properties and in compatibility tab change the compatibility mode to windows XP SP2. And in settings uncheck the following check boxes.
Disable Visual themes
Disable Desktop composition
Disable display scaling on high DPI settings.
Run this program as an administrator
And have completed installation.
Followed by installing VB 6 service pack 6 from here.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24417
Hope it helps.
It may require something else other than just the runtime, have you tried viewing it with dependency walker http://www.dependencywalker.com/ on the machine that it crashes on?
It should quickly point out any missing references.
Maybe try again, create a new VM, but install the remote debugger instead of the full VS.
You should create an installer for your application. There may be more dependencies than just the VB6 runtime. A good installation tool will detect at least some of necessary dependencies for you. Have a look at this question or this question

Windows Phone Application Project Type Unavailable in VS2010

I recently had to reinstall the OS on my dev box and I am now in the process of reinstalling various applications. I had previously installed the WP7 SDK without any problems but unfortunately I'm having problems this time around. The only project type I have available in the Silverlight for Windows Phone category is one that I downloaded from the online templates section.
When I try to open it or any of the WP7 projects I created previously I get a "The project type is not supported by this installation." error. I am not sure what I am missing. I have followed the three steps listed here so I've installed the SDK, the Dev Tools and the Dev Tools fix. The installation of VS2010 itself seems to be fine as I can create ASP.NET and Silverlight applications and run them without any problems.
Has anyone encountered something like this before?
Edit: I have installed Service Pack 1 for VS 2010 but that hasn't helped unfortunately.
Edit: I have also re-installed the Windows Phone Dev Tools and that installation reported no errors but I still get no projects under the Silverlight for Windows Phone category.
Try opening a visual studio command prompt and typing:
devenv /ResetSkipPkgs
I have thankfully resolved this. Last night I uninstalled everything and reinstalled again but this time I made sure to right-click on each executable and select "Run as administrator". That seems to have done the trick as my existing WP7 projects are compiling and running successfully and I can create new ones too. I did run into two error messages however -
"Zune software is not launched. Retry after making sure that Zune software is launched". I got around this initially by setting the target to Windows Phone 7 Emulator instead of Windows Phone 7 Device in the target dropdown on the main toolbar.
"Error: Connection failed because of invalid command-line arguments." I got around this by rebooting as mentioned here.

Has anyone had success with Visual Studio 6 on Windows 7?

VS6 popped off a series of errors before bombing out completely during install on Windows 7. I specifically need to get VB6 functioning on Windows 7. Anyone having any luck?
Folks on the VB6 newsgroup report they have managed to get it working on Windows 7.
There's this step-by-step guide on how to install the IDE on Windows 7 (including 64 bit).
If that doesn't work (scrapes barrel) try this old tip about persuading the install not to install the Java VM? Link is now broken so here is the tip:
Before trying to install VB6. Create a new file, name it msjava.dll and place it in your windows directory. The file can be zero length. You can then happily install without the prompt to install an old version of Microsoft's flavour of Java. Once you have installed VB6, delete the msjava.dll otherwise windows update will prompt you to update it.
Or (scrapes hole in barrel) these tips from an article about getting the IDE working on Vista?
Footnote: if developing with ADO, be aware of this.
The only way I've found that works is Windows XP mode (i.e. a virtual machine). Works fine there, but otherwise, not at all.
I found ALL the answers in a thread at vbmonster.com. As mentioned above, you CAN install Visual Studio 6 with Service Pack 6 under Windows 7 by following Derek's detailed instructions at fortypoundhead.com.
I had a problem because I needed to install Service Pack 5. I use a third party program that does not work with Service Pack 6. A really smart programmer (GuideX) came up with a great hack to get around the MDAC 2.5 error.
Win 7 64 bit service pack 5 & 6. Turn compatability off and it seems to work.
Recently I had to debug an ancient application written in Visual C++ 6.0 on Windows 8.1. Tried different solutions all of them failed, only this one worked.
This guys made a special installer that allows installing VC++6, VB6, and SP6 on Windows Vista/7/8/8.1/10 without any errors whatsoever.
Hope it would be helpful to someone.
I installed VB6 on Windows 7 Pro without having to use compatibility settings or run as administrator.
Doesn't really help you, but does show that it can work.
Several people in my office have installed Visual Studio 6 (without VC++) on Windows 7, both 32-bit and 64-bit with no problems. The one thing we have in common: we've all turned UAC down to it's lowest setting. Nothing else special required.
I am using vb6 on windows 7 32 bit system for a long time.
you will need to install your vb6 with compatibility of xp2.
Create a 0-byte file in the C:\Windows directory called msjava.dll.
Don't just install via the Autorun executable; instead browse the Visual Studio 6 CD (or folder), right-click Setup.exe and select Run As Administrator.
On any Program Compatibility Assistant warnings, click Run Program.
Step through the setup screens until you're able to choose Custom Setup, then click next.
On the setup options, install the following items and nothing else:
Microsoft Visual Basic 6.0
ActiveX
Data Access
Graphics
Click continue and the process will start, and (hopefully) eventually complete.
Skip the installations of the MSDN CD, BackOffice, VSS and SNA Server, and clear the checkbox for "Register Now". Setup should be complete.
Download the VB6 Service Pack 6 from http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=A8494EDB-2E89-4676-A16A-5C5477CB9713&displaylang=en and install.
Change the compatibility settings for Visual Basic (to get it to run a little more smoothly under Windows 7) by browsing to C:\Program Files\Microsoft Visual Studio\VB98, right-clicking the VB6.exe file, and selecting properties.
On the Compatibility tab, check the following:
Run this program in compatibility mode for Windows XP (Service Pack 3)
Disable Visual Themes
Disable Desktop Composition
Disable display scaling on high DPI settings
When you start up the IDE, you may get a notification saying that the color scheme has been changed to Windows 7 Basic, but it will be changed back to Aero once you exit. Everything should be working fine at this point!
Note: when you first run your new install vb6 run it with admin rights and with xp2 compatibility so that your exe can run on any system.
The word "supported" is used loosely in this thread, potentially leading the unwary reader to the conclusion that Microsoft supports the VB6 IDE (that is, the integrated development environment) on operating systems beyond Windows XP. This fact clearly is stated in the table that appears on the page at this link:
https://blogs.msdn.microsoft.com/nikosan/2012/04/20/support-statement-for-visual-basic-6-0-on-windows-8-updated/
Note that executables developed using VB6 are in fact compatible with Windows OS's from Windows XP through Windows 10--32/64-bit versions:
https://blogs.windows.com/buildingapps/2015/06/22/getting-ready-for-windows-10-sdks-compatibility-bridges/
Anyone using non-standard methods to coax the IDE into working on OS's that Microsoft does not support is exposing themselves/their organizations/their employers to risk and is not suitable for risk-averse organizations.
Having said that, I think the purest solution is to install Windows XP onto a virtual machine and run that VM in a modern host OS, such as Windows 10. That works just fine, and you can install directly from the VB6 Setup disc without making any pre-install/post-install customizations.
I had a Vista x64 box with a working copy of the VB6 IDE (which was supported). I upgraded the OS to Windows 7 x64 and the VB6 IDE still works fine. You could try that. I know, a huge PITA and kludgy but still, it worked for me.
I run Windows 7 Ultimate 32-bit, installed Windows Virtual PC - XP Mode, and that solved my problem isince I can run MSDEV 6.0 in the XP Window.
Not esay to install XP Mode though, the MS site is buggy.
The VB6 programming language is supported on the Windows 10 Technical Preview.
Visual Vasic 6 applications run and the VB6 IDE installs and works too.
I have the VB6 IDE running OK on Win-XP-16, Win-7-32, Win-7-64, Win-8.1-32, Win-8.1-64, win-10-32 and win-10-64 by using the instructions above which basically say, turn off UAC, run the installer AS ADMIN, and then set the VB6.exe file to run in XP-SP3 Compatibility mode.
I have had some issues with it and have had to do a bit more googling to solve these but I don't remember any more what those issues or solutions were.
I've even got the VB3 IDE running on the 32-bit versions of XP, Win-7, Win 8.1 and Win-10 - without even installing them - just copied the C:\VB folder from another computer and copied the *.LIC license files and *.VBX etc files as well.
I have successfully installed vb6 on win 7 32 bit by installing xp first then installing new win 7, (not upgrade), and do not format. then it will install vb6 without a problem
It's depending on your build version of Windows 7.
If your Win7's version is lower or is not updated, it has MANY PROBLEMS with compatibility.
But mine is newer Win7 version and has NO COMPATIBILITY TROUBLE.
I am currently using VB6 , VS6 and they still work fine!
If Properties->Compatibility->Windows XP doesn't help, fix it with UPDATING your Win7.

Resources