Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VB6 SP6 on WIndows 8 64-bit 2

Status
Not open for further replies.

sacsac

Programmer
Dec 10, 2000
177
GB
OK..I have installed VB6 on Windows8 64-bit, and with a bit of tweaking on the compatibility options it runs fine. However, SP6 refuses to install - it seemingly goes through the process, but then reports that it has NOT correctly installed. Has anyone managed this yet?
 
Well have you ever tried to install a VB6 Service Pack on any version of 64-bit Windows?

Surprise, surprise, surprise!

Guess what? 64-bit Windows won't run 16-bit code.

So what you do is unpack the service pack on a 32-bit system, then carry those files over and install them from there. I can't recall the details right now, but I think there are command line options that the 16-bit "bootstrapper" understands.

Ahh, yes. It need the /T and /C switches. Run it from a command prompt with /? for the "help" dialog:

[tt]vs6sp6b /?[/tt]

After you take the unpacked files over to the 64-bit system I think you run acmsetup.exe or something.
 
Thanks dilettante, but I don't think that the 64-bit issue is the entire answer. I have successfully installed VB6 & VB6SP6 on Windows 7 64-bit without any difficulty at all - an absolutely clean install.

However, in Windows 8 64-bit, the VB6 installation was tricky, and at the end of the process, where the system was updating, it hangs. The only way out was to kill the process with Task Manager. VB6 then actually runs OK, but it is not listed as an installed program, so I imagine that this is maybe the reason why VB6SP6 fails to install. Maybe I need to find a way of ensuring that the basic VB6 installation runs right through without hanging?
 
For the time being I am running VB6 + VBSP6 on an XP virtual machine on Win8 64-bit. Not ideal, but a workaround for the time being.
 
Yeah, that ain't it.

I ran a "name that EXE type" utility against the "6b" version that I have here and sure enough the bootstrapper has been replaced by 32-bit code. When I had run it with the /? switch and it produced a dialog instead of StdOut text I should have been tipped off.

So that suggestion was worthless.


I found so little to compel me and so much to repel me in Windows 8 that I haven't been willing to commit hardware to it yet. Without a handy trashable machine my testing has been limited to VMs and a 32-bit tablet PC.

But I do have a funky Intel Atom (actual Intel board) machine that is gathering dust. Intel claims it isn't supported for 64-bit OSs... but that's because they have no working 64-bit video drivers for the chipset's integrated graphics. The reason the machine is gathering dust is that their 32-bit video drivers don't work either!

So maybe I'll try putting Win8/64 on that and rely on the dumb Microsoft Generic VGA driver just to see if I can explore this VB6 & SP6 issue myself.


But I haven't had any problem with XP/64, Vista/64, or Win7/64. I've always used the pre-extracted SP6 though.

Maybe that "hangs at the end" really is part of the story here. Were you careful to run both parts of the install elevated? Did you click-to-ignore the JVM error dialog or use a fake enpty file to bypass it? Were you careful to de-select anything other than VB6 (if installing from full Visual Studio CDs)?
 
Thanks for so much info dilettante!

As you summarise, I too think that the problem lies in the fact that the install does not complete cleanly. I'm not 100% sure what you mean by running both parts of the setup elevated. I am installing from a VB6 only CD (not Visual Studio), and as I recall it, there is only one part to the installation. And I didn't encounter any JVM messages (also don't really understand what is implied by the suggestion of using a fake empty file to bypass it). Any clarification on those points would be useful, and if relevant might even provide an answer without needing to resort to making up test hardware! Anyway, thanks very much for your efforts of assistance - much appreciated
 
When Anders "VB-Killer" Hejlsberg left Borland/Embarcadero/whatever to work for Microsoft his first attempt to create a private clone of Sun's Java was released as Visual J++. This was designed to compile code for the related "private clone" Java Virtual Machine that Microsoft was distributing with IE and other products.

This was a big part of Sun's lawsuit against Microsoft, who lost. Part of the settlement was that Microsoft had to make efforts to prevent their private, incompatible JVM from being used anymore. Meanwhile A.H. went off to create another Java clone, but with enough lawyers looking it over to prevent another Sun lawsuit by avoiding making it too Java-like. This mess became C# and .Net, and VB got caught in the grinder as well which must still be cause for glee in some quarters.


When you install Visual Studio 6.0 (or parts of it) it tries to force A.H.'s rogue JVM onto your machine. As part of settlement compliance modern Windows detects this and raises an alarm. You can click through the "this crap won't be installed" dialog for the illicit JVM (just ok it). Some people will create an empty file named the same as the DLL that the VS 6.0 installation looks for and plop it into System32 before running the install. This prevents the warning dialog.

It is possible that installing a stand-alone VB6 SKU instead of a full VS6 SKU doesn't try to install the troublemaker. Or perhaps it does and this warning dialog is the one you are seeing about an "incomplete install?"


I haven't had to install VS6 recently, but I don't recall any other warnings. I've never tried installing stand-alone VB6 so I have no idea how that might behave differently. I can't imagine they'd act all that differntly though, because they needed that "phase 1"/reboot/"phase 2" in order to get some components installed properly on early versions of Windows.

Basically what you need to do is insert the first CD, then kill any autoplay installation attempt. Then go look at the CD with Explorer and run phase 1 of setup elevated (this means "run as administrator").

Once that completes it will probably reboot before you can stop it. Let it go.

When it starts to auto-run phase 2 you have to kill that. Then manually run the second phase elevated.

Once that completes you need to apply an elevation manifest to VB6.exe, or at least manually mark it "always run as administrator." VB6 was never meant to be used by a non-Administrator/non-Power User (and there are no Power Users anymore). This can wait until after you install SP6 though so you don't need to do it twice, but at least run VB6.exe a first time, elevated, before trying to install SP6.

Since the VS6 SP6 now comes in a 6b version with a 32-bit self-extractor/bootstrapper, installing it should be simple. Just be sure to start it elevated.


If you don't do this, parts of the install process don't get run elevated. This means they don't run properly. Some parts of the process do trigger "legacy installer detection" elevation or normal Windows Installer elevation - but by then you have a bit of a mess.


If things like elevation and manifests are strange to you... well a lot has changed since 1998 when VB6 came out. Some awareness is necessary to do successful development no matter what you program in.
 
Hmm, somebody emailed me saying phase 1 will hang and you have to kill it if you ran it with goofy Compatibility settings (e.g. XP SP3). It seems the reboot gets blocked and it hangs on that.

He also suggests that you uncheck the Custom Install option for MDAC/ADO. He thinks this part of the install leaves the registry in a bad state preventing SP6 from installing.


I don't recall any of that for the earlier beta of Win8/32 I had tried. Perhaps something has changed?
 
So what has happened between Win7 & Win8 (64 bit). I can do a perfect install on Win7 and it's only Win8 causing headaches.
 
It is possible that Microsoft has pulled a few compatibility shims that were present in Vista (and Vista II, i.e. Win7) to help VB6 install properly. After all when Vista came out VB6 was the only Microsoft programming tool officially supported. Not VC++ 6, not any of the VS.Nets.

It might be very tricky to identify the real issues. Somebody might have to run the install process while running regmon, filemon, etc. and then do a lot of analysis of the results.

But as I said above, one rumor is that there is a problem related to recognizing that attempts to install MDAC components over DAC. In Vista and Windows 7 this gets trapped and deflected. In later Win8 previews maybe they dropped the ball and something gets messed up now.

I'm beginning to realize I don't care though. Win8 is a disaster for people who use a computer as anything but an entertainment device, more so for a developer than most people.

Good luck!

Maybe somebody else will unravel this. But with Microsoft's recent track record for breaking things the RTM Win8 will probably act different and SP1 different again.
 
Well, after 10 days of unsuccessfully attempting to put VB6 with SP6 on a WIn8 64-bit machine I have finally admitted defeat. The best I could achieve was a bodged basic VB6 installation, which whilst it worked was not correctly registered in the system, so SP6 just refused to co-operate. Without SP6 the whole thing is a waste of time. Since I really have to have this for supporting legacy applications, I have now setup XP on a VM running on Win8. That works just fine!
 
Which of the Windows 8 previews were you doing all of this on? I get that it was 64-bit, but there have been 3 or 4 different things released over time as they finished up work on Win8.
 
It's not the consumer preview, but a commercially released version of Windows 8 Pro, as supplied to a large company for whom I do support work.
 
Same problem here (Buggy VB6 setup and impossible sp6 setup).

Hope someone finds a workaround
 
It's not the consumer preview, but a commercially released version of Windows 8 Pro, as supplied to a large company for whom I do support work.
Thanks, that helps.
 
Yes - I'm trying to find a win8 32-bit to test it on, but can't find one yet. Hope someone beats me to it and does the donkey work!!
 
I am running also win8 64 bit. By the way, did you note that Microsoft Visual Basic 6 is not listed in the Add/Remove Software list of Win8 after the buggy install? I was wondering if it was just me.
 
Yes Montoro - that's the whole problem I believe. The VB6 installation does not fully complete, so it's not listed in the Add/Remove programs. And for this reason the SP6 will not install (or have you managed to do it?)
 
Of course I could not install sp6.

As you say, it seems that the main problem is vb6 setup crshing at the end.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top