Tuesday, June 23, 2009

Install VB6 on Windows 7

After surfing around the net, I've found very little information regarding installation of VB6 on Windows 7. Most of the information out there is for Vista, and most of it is queries for assistance.

You may be wondering why someone would want to utilize VB6 on a shiny new operating system like Windows 7. Or even Vista for that matter.

There are about a bazillion legacy applications out there that have to be supported, and people like me who speak VB6 need to have the tools installed on our workstations in order to implement and test updates and such for these legacy applications. It also helps out when I need to squirt out a quick tool for use in my daily work.

This process has been tested on Windows 7, both 32 bit and 64 bit, with no problems.

So without further delay, here is the process that I have used on my Windows 7 machines to install Visual Basic 6.

Bonus tip from BadBrad: I forgot to post about this part, but BadBrad reminded me in the comments.

Before proceeding with the installation process below, create a zero-byte file in C:\Windows called MSJAVA.DLL. The setup process will look for this file, and if it doesn't find it, will force an installation of old, old Java, and require a reboot. By creating the zero-byte file, the installation of moldy Java is bypassed, and no reboot will be required. Thanks for the reminder, BadBrad!

  1. Turn off UAC.

  2. Insert Visual Studio 6 CD.

  3. Exit from the Autorun setup.

  4. Browse to the root folder of the VS6 CD.

  5. Right-click SETUP.EXE, select Run As Administrator.

  6. On this and other Program Compatibility Assistant warnings, click Run Program.

  7. Click Next.

  8. Click "I accept agreement", then Next.

  9. Enter name and company information, click Next.

  10. Select Custom Setup, click Next.

  11. Click Continue, then Ok.

  12. Setup will "think to itself" for about 2 minutes. Processing can be verified by starting Task Manager, and checking the CPU usage of ACMSETUP.EXE.

  13. On the options list, select the following:
    • Microsoft Visual Basic 6.0
    • ActiveX
    • Data Access
    • Graphics

    All other options should be unchecked. Click Continue, setup will continue.

  14. Finally, a successful completion dialog will appear, at which click Ok. At this point, Visual Basic 6 is installed.

  15. If you do not have the MSDN CD, clear the checkbox on the next dialog, and click next. You'll be warned of the lack of MSDN, but just click Yes to accept.

  16. Click Next to skip the installation of Installshield. This is a really old version you don't want anyway.

  17. Click Next again to skip the installation of BackOffice, VSS, and SNA Server. Not needed!

  18. On the next dialog, clear the checkbox for "Register Now", and click Finish.

The wizard will exit, and you're done. You can find VB6 under Start, All Programs, Microsoft Visual Studio 6. Enjoy!

UPDATE

You might notice after successfully installing VB6 on Windows 7 that working in the IDE is a bit, well, sluggish. For example, resizing objects on a form is a real pain.

After installing VB6, you'll want to change the compatibility settings for the IDE executable.
  1. Using Windows Explorer, browse the location where you installed VB6. By default, the path is C:\Program Files\Microsoft Visual Studio\VB98\
  2. Right click the VB6.exe program file, and select properties from the context menu.
  3. Click on the Compatibility tab.
  4. Place a check in each of these checkboxes:
    • 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

After changing these settings, fire up the IDE, and things should be back to normal, and the IDE is no longer sluggish.

Content Thieves:
The below sites have stolen the content of this page and posted as their own work. Congratulations, losers. You've discovered the power of copy/paste.

OpenSourceCoimbatore
hackingaday
spycoders.com
dian-heryana

407 comments:

  1. Super information - got VB6 up and running, your explanation saved me a lot of searching.

    I'm still having a few problems with the INet transfer control - using it to transfer files via FTP, it seems to hang for a minut or so every now and then.

    FWIW - using manifest files (as in XP) works in Windows 7 - giving the app the windows 7 look.

    Thanks again.

    Peter

    ReplyDelete
  2. Thanks, Peter! Great tip about the manifest files.

    ReplyDelete
  3. Missed one thing.... Create a zero byte file in C:Windows called "MSJAVA.DLL" to get around the Java install.

    Also if you install the "VB6IDEMouseWheelAddin.dll" for scrolling, make sure that you run "cmd.exe" with elevated admin privleges when registering the DLL manually. Also ran it with the DLL in "c:".

    Sorry... no links for this right now.

    ReplyDelete
  4. Thank you so much - I will be attemping this isnatll very soon.

    ReplyDelete
  5. A little odd, but I'll see if I can reproduce it here, and maybe find a fix for you.

    ReplyDelete
  6. Thanks for the tip on fixing slugishness. It was driving me crazy.

    I have a problem with large forms in the IDE in Win7. It gets to something like 1000x800 and won't let me drag it any bigger. At runtime, I can set the form to a larger size, but not being able to see the full form in the IDE makes it pretty hard to work on.

    ReplyDelete
  7. I haven't been able to reproduce the issue here. I'm able to drag the form size to a much larger size than the screen, which is currently 1280x1024.

    I've not seen this before - anyone got any ideas?

    ReplyDelete
  8. Yes, it will work fine on 64 bit Windows 7. I am currently using 64 bit on my main workstation, and have had no issues.

    Applying SP6 after installation of VB6 has posed no challenges, either.

    ReplyDelete
  9. pardon my ignorance...but...
    I just got Win7 Pro 64 installed on my new computer last night. Most of my work is in VB6. Will the instructions shown work with 64 bit Windows? I have heard that VB6 IDE is not supported with 64bit. I have the original VB6 CD but, of course, it does not have SP6. Is this a concern or can I simply add SP6 after installation. FYI, I do have access to an msdn subscription if I need to download something different.

    ReplyDelete
  10. As long as the OCX's get registered properly, there should be no issue. That is, unless the OCX is doing something *really* strange, you shouldn't have a problem.

    Let me know what OCX's you are concerned about, and I'll try testing them out on my installation, and see if they work.

    ReplyDelete
  11. What about third party OCX applications? I have a program that uses several of these. I want to move my VB6 work to Windows 7 but would need to know if the third party OCXs will work as well. Suggestions?

    ReplyDelete
  12. Excellent - thank you! It all worked just as you said - and .exe files run quite happily as well - though with a considerable 'starting delay'!

    ReplyDelete
  13. what a useful information. thanks a lot. i was suffering from how to install vb 6.0 in windows 7. now it is working well.

    ReplyDelete
  14. Glad to be assistance!

    ReplyDelete
  15. I have an issue getting the XP manifest file to work in WIndows 7 when I run VB in IDE mode. It does not look like XP. I think it might have to do with permissions with either VB6, the manifest file. Any ideas?

    ReplyDelete
  16. I have a fairly large VB6 App that I've been maintaining in Windows 7 using Virtual PC. I decided to try to get it to work in Windows 7 with Virtual PC and there are a number of problems. I've gotten around each one but this one now has me stumped.

    The app uses an Access Database and has lots of forms using ADO data controls. What happens on some of the forms (not all of them) is when I tryh to do a requery on an a recordset object i.e. Me.Adodc1.Recordset.Requery, it just hangs (no message, nothing). Then when I try to close the app I get the message "Visual Basic has stopped working" and it's gone.

    Any ideas?

    Vic

    ReplyDelete
  17. UAC is user account control, which helps protect your computer from unauthorized changes. You can turn it off in the control panel.

    ReplyDelete
  18. As a brand new Windows 7 user, I have a simple question: What is the "UAC" you refer to in step1? Could the fact that I didn't shut it off before starting your process have caused the computer to lock up and require a hard shut down at step 10?
    Thanks for your help

    ReplyDelete
  19. Guess it would help I posted the information about disabling UAC:

    http://www.fortypoundhead.com/showcontent.asp?artid=19521

    ReplyDelete
  20. I am currently attending HP techforum in Las Vegas, and as such am currently experiencing limited connectivity. But I'll look into this for you when I get back to my room.

    ReplyDelete
  21. AnotherHacker: have you seen:

    http://support.microsoft.com/kb/216156

    It directly addresses the issue you are experiencing.

    ReplyDelete
  22. Great article! I have installed VB6 on Win 7 64-bit successfully. Some things I ran into that I didn't see mentioned is that when registering OCX and DLL files the file MUST be placed in the C:WindowsSysWOW64 directory. I know, I know... it seems the reverse of what you should do. You MUST also use the regsvr32.exe file in the SysWOW64 folder (not the one in the System32 folder) to register the files. One other tip is to ALWAYS install everythig as "administrator". I found that I also had to modify the properties of the VB6.EXE file (in the compatibility tab) to "run as administrator".

    ReplyDelete
  23. Thanks for the great tip, Jovick!

    ReplyDelete
  24. Thanks for the quick reply. I have a few minutes ago found the answer and was about to post the fact here when I saw your post.

    I am developing an app to keep track of all my movie files ant to also play them with either WMP or Gom from inside the App. All ok.

    ReplyDelete
  25. Need some more info from you, Raycomp. Are you simply copying the files with Windows explorer? Or is the file copy part of a setup process?

    If it is part of your application set up, you might try running the setup program as administrator - right click the setup file, and select Run As Administrator.

    ReplyDelete
  26. Thanks for ht useful information. One problem I sometimes need to register 3rd party ocx files but in most cases Windows 7 32bit does not allow copying them to Windowssystem32 for registering but place the in the incompatible folder. Any ideas please

    ReplyDelete
  27. Have you turned off UAC during the installation?

    I just tried in a test environment, utilizing Windows 7 64 bit, installed VB6 using the above procedure, then downloaded the VB6 SP6 from the Microsoft site (direct download from MS).

    Double clicking the executable allowed me to select an temp folder to extract the SP6 files to. After extraction, I browsed to the directory where the files extracted to, and ran the SetupSP6.exe application.

    The installation went normally, with no errors, and the final dialog stating setup was successful.

    However, after resetting the environment, I was able to reproduce the error you mention by leaving UAC turned on.

    ReplyDelete
  28. I followed the instructions and was able to get VB6 installed just fine on a Windows 7 64 bit system. However, I am unable to get service pack 6 installed.

    I have set the properties of acmesetup and setupsp6 to run as administrator and Windows SP 3 mode. Right after agreeing to the license terms, I get a dialog box that says "Visual Studio 6.0 Service Pack 6 Setup was not completed properly."

    ReplyDelete
  29. I'm currently out of town, but I'll check into it more this evening.

    ReplyDelete
  30. Yes, I did exactly as you described. I tried again this morning, double checking all the settings and still got the same result. I'm open to suggestions. Thanks.

    ReplyDelete
  31. Ok, suppose I can't get SP 6 installed. What do I need to beware of if I try working on a project last worked on in SP6 and I work on it in VB6 with no service packs installed?

    ReplyDelete
  32. Hi,

    I have VB6 working perfectly. Sourcesafe works too, but I can't work with sourcesafe from within the IDE. The SS add-in is loaded, there are no errors shown, but I don't have any extra contextmenu-items. Anyone here had the same problem?

    ReplyDelete
  33. No ... but I'd like to. I had to take out all the CD controls because it meant my users without XP had to do too much installing of too many things in sys32. I'm sure you know what I mean.

    ReplyDelete
  34. Are you using the common dialog control?

    ReplyDelete
  35. Great info for Windows 7 … works like a dream.
    Thank you!!!
    For Vista – there is no service pack 3 so I clicked 2.
    For the most part it works OK … but two hiccups

    1/ From time to time you’ll click SAVE AS and no box will come up
    2/ When a save box does come up it doesn’t have the name of the file in it … in other words … I don’t think this works for vista … any ideas?

    ReplyDelete
  36. I'll hammer on this today, and see if I can duplicate the behavior. Are you getting any weird event log entries that might be related? Along the lines of Path not found or access denied, or some such?

    ReplyDelete
  37. Nope ;-)
    Just won't won't give me the current name of the form or project when using save-as.

    Could it be related to not have "Service pack 3"?

    ReplyDelete
  38. I have not ... I should?
    Any idea why that would a thang for Vista and not for Windows 7?

    ReplyDelete
  39. MMM... prolly not. Have you installed SP6 for VB6 yet?

    ReplyDelete
  40. To put it simply, Vista is a bit more picky than Windows 7. That's why you didn't see businesses rolling Vista out to their employees, and IT folks every made the sign of the cross whenever they had to support it.

    Give the SP6 a try and you might see your problems clear up.

    ReplyDelete
  41. Thank you - that did it ! I now have VB6 again & it works a treat!

    ReplyDelete
  42. First, make sure your system date and time are correct. If that doesn't fix the problem, or if your date and time are good to go, you can try pre-installing the MS VB6 Common Controls *before* installing VB6.

    You can grab the installation package from here.

    ReplyDelete
  43. I get to the stage during install where you select custom, then I get an error saying I dont have enought memory to install. Clearly I do as I have 2GB ram & 200+GB free hard drive space. Any ideas?

    ReplyDelete
  44. Glad I could help - don't hesitate to ask back here if you have any other questions!

    ReplyDelete
  45. Many thanks for this info - I've now got VB6 running on my Windows 7 laptop. I had to add the msjava.dll as mentioned by badbrad.

    I'm trying to move away from VB6 due to the lack of ongoing support from MS, but with a large project like I have it takes ages to port the program to a new development environment. So meanwhile I need to continue using VB6, and since my XP box is showing signs of a terminal illness, I needed to get VB6 installed on a Win7 machine.

    ReplyDelete
  46. Unfortunately, I haven't used Sourcesafe for *years*. I'll ask around though, and see if I can find a solution for you.

    ReplyDelete
  47. Thanks for the useful tips!

    I have same problem as Latino explained it above (related to SourceSfae). If anyone has the solution for the problem, please post it here!

    ReplyDelete
  48. Hi Charlie -

    I, too, am using Win7 x64, but I've not seen this behavior myself, but I'll try to reproduce it. If I can reproduce it, I should be able to figure out why it is happening.

    I'll let you know either here or via email if I make any discoveries.

    ReplyDelete
  49. Your site has been very helpful so far - thanks!!

    I am having problems with one feature that I use a lot.

    I am using Win 7 64 bit. I am able to create new versions of my dlls and reference them in my excel applications so I think VB6 SP6 is installed correctly.

    However, I like to run the dll inside the vb6 application so I can debug on the fly. When I reference this dll I get the error "Error in loading DLL". Or if I have referenced the library already, but unregister the dll, and start up it up inside VB6 (which automatically registers it) then the first time my code tries to use the dll, I get the "Error in loading DLL" error.

    Any insight into what I can do to fix this?

    Thanks in advance, Charlie

    ReplyDelete
  50. Thanks for the share, rgrosz.

    ReplyDelete
  51. I have just installed Visual Basic 6.0 / Visual Studio 6 under 64 bit Windows 7 using your great instructions. I had a problem installing Service Pack 5, which I must use instead of Service Pack 6. A really smart programmer (GuideX) came up with a great hack to get around the MDAC 2.5 error:
    http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/cd740951-dd2c-46eb-856f-6e653a2e3d07

    ReplyDelete
  52. hi everybody!
    I read all treads, expecially Jovick, but i can't install vb6 on win 7 64bit.
    I turned UAC off, put the cd and run setup as administrator. after the serial code, name and company information, click Next, choose "install visual basic 6 professional edition", next, choose folder for common files, when appears Program Compatibility Assistant warnings click on run program, push me off with message "not compatibility with windows 64 bit version...." can you suggest how to solve this big problem? thanks

    ReplyDelete
  53. Hi,
    Just following up on my question on Nov 24th - do you experience the same issue on Win7-64 - that being "Error on loading DLL" when trying to reference a running dll in vb6 debug mode - the compile works fine and referencing the registered dll works fine - but referencing an DLL that is running inside VB6 does not. Any suggestions?

    ReplyDelete
  54. hi FortyPoundHead,
    may I have an answer from you?
    Am I wrong doing something installing visual basic 6 pro on win 7 64 bit?
    Is it a dream install it on 64 bit or not?
    thanks for answers.

    ReplyDelete
  55. I haven't been able to reproduce the problem as of yet. I've got a couple of feelers out to some other folks, and should hear something back soon.

    ReplyDelete
  56. Hi Gildy -

    I currently use Windows 7, 64-bit at home, and 32-bit at work. Both machines have Visual Basic installed, and working flawlessly. I installed both copies utilizing the directions above.

    While the process is a bit, umm, verbose, it worked for me, as well as a score of other folks out there.

    If you are having a specific problem, let me know, and I will see if I can help.

    ReplyDelete
  57. When you log in on the user2 account, insert the VB6 or Visual Studio CD, then cancel the Autorun.

    After the autorun is cancelled, try running the IDE. The program may be looking for some files off the CD. Not sure why this would be, but it might be.

    Also, try running the IDE as administrator the first time that you run the IDE as user2. Or temporarily make user2 a local administrator on the workstation.

    ReplyDelete
  58. Hi
    thanks for the great trick
    finally i installed vb6 on my windows 7 32 bit os and all things are working fine

    but i have another issue
    i am using multiple users in my windows 7
    user1 and user2

    i have installed vb6 on user1 its working ok.
    but when i login user2 remotely and run vb6 its stuck in the middile of the opening and shows
    windows installer box and showing "preparing to install"

    can u please solve this for me

    thanks in advance
    Regards
    Abhi

    ReplyDelete
  59. I have VB6+Sp6 and recently Windows7 Professional 32bit. It works great, thank you for the useful infos! Except for this:

    www.medi-comp.hu/dbgrid.jpg

    The Dbgrid component loses the width information of the columns, and the columns became very narrow in the desing phase. If I resize them, next it will narrow again. In the program code I added DBGrid1.Columns(0).Width lines to correct the issue. Run the the program, the rows and columns look good, BUT they are empty, I can't see the data in the dbgrid...

    Any idea? Thank you for your help in advance, and sorry for the poor english. :)

    ReplyDelete
  60. Have any luck implementing SourceSafe or Subverison?

    And do you know if the updated screen look work backwards to client who are still using XP..

    from an earlier post---->FWIW - using manifest files (as in XP) works in Windows 7 - giving the app the windows 7 look.

    ReplyDelete
  61. omg. that just saved me 200 dollars on freelancer.com !! haha

    thanks so much for this, I was able to install vb6 on my windows 7 machine and now I can run all my vb applications! woot.

    ReplyDelete
  62. VB6 code on Win7

    VB6 run in XP-SP3 admin mode on 2 Win7-64Home Premium computers and trying to access mapped network drives on the same win7 computers and Win XP computers on a network
    with the same VB6 code

    - one win7 can access a network drive on itself but not on the others
    - one win7 cannot access any drive
    - the xp's can access all the drives
    - window explorer can access all of the network drives between all the computers

    I use a VB6 code as simple as

    MyFile = Dir("T:*.txt")

    No error message, the code seems to be ignored

    If I replace it with

    MyFile = Dir("C:MyFolder*.txt")

    it works, I also tried to open and read files on the same drives with the same results

    Any idea of what could be wrong? Thanks

    ReplyDelete
  63. Hello there,

    I have followed the instructions given above and the install went perfectly. However, I find that when I open up VB6 I am unable to drag components onto a form. Additional components may be added but again, they are prevented from being dragged across. The only thing I can think of is that installing VB6 on my D drive (I only have a C and D drive) is somehow causing an issue. Can anyone help? I am so close to having VB6 work once more!

    Kind regards,

    Rob

    ReplyDelete
  64. Okay, thanks very much. For your information I have tried uninstalling VB6 from my D drive and reinstalling it on my C drive but the problem persists. Additionally, it is the Home Premium version of Windows 7 that I am running, and VB6 Professional (legitimate discs I recently purchased through ebay), if this helps you at all,

    Rob

    ReplyDelete
  65. @Rob - I've just rebuilt my machine, and will be going through the install for VB6 either tonight or in the morning, so I'll pay extra special attention to look for the problem you are describing.

    ReplyDelete
  66. Hello again,

    Thanks for responding promptly. Sorry, no, I hadn't followed the "update" that follows on from the main install instructions. However, I have now done so, again without any issues, and unfortunately my problem still persists.

    I have gone through the motions of adding additional (shipped with VB6) components and noted the .OCX location in the C drive. I can verify that the .OCX file is where it is meant to be. Don't know if this information helps you to help me at all.

    Rob

    ReplyDelete
  67. Did you follow the procedure in the update at the end of the article? Turning of compositing, etc?

    ReplyDelete
  68. ack... snowed in here. can't get to my work machine.

    ReplyDelete
  69. Well, the first step would be to compile it on Windows 7, then attempt to run the compiled program on Windows 7. Fully exercise all functions of your program, and observe/document any errors that occur.

    If you not referencing any Windows XP specific DLLs or controls, you should be fine. That is a bad practice anyway since you tie your program to a specific OS version.

    ReplyDelete
  70. Thanks,
    I have successfully installed VB on windows7 according to the instruction. as i new in VB, i hv to upgrade my vb application into windows 7 and want to create exe and setup files. how can i proceed further?
    Thanks in advance

    ReplyDelete
  71. I successfully intalled visual basic 6.0 on my window 7 home premium computer, however, Once i open it, and hit run or view code, it just keeps shutting down, I've been trying to unintall it and reinstall it, but that just wont resolve the problem. Can anyone help me out please?

    ReplyDelete
  72. I'd highly caution against getting the setup files from random places online. You never know what's going to be in the package.

    Instead, sign up for an MSDN subscription. I've been subscribing for years, and have had no issues finding exactly what I need, when I need it, from a reliable source, in a reliable format.

    ReplyDelete
  73. hi everyone, the vb6.0 setup i used to have got corrupt, been searching for vb6.0 installation online, all the one's i'v got never seem to pass the 'please wait' form .... please am wondering if anyone has the setup ..... ? ... thanks

    ReplyDelete
  74. I am sure it will go smoothly for you. Thanks for stopping by!

    ReplyDelete
  75. Hi FortyPoundHead,

    Nothing to ask just yet - just come across your article and will be attempting to install VB6 SP6 on Win 7 32bit on Friday and now feel rather confident ( I hope I'm not tempting fate ! ) that it will work !! Thanks in advance !!

    ReplyDelete
  76. Thanks for the tip, TexasJetter!

    ReplyDelete
  77. Just though I would comment on the network drive access issue posted earlier. It seems that if you are logged on as an administrator Win 7 assigns two security tokens and within VB6 (and Access 97) it gets confused and will not show network drives. It can be overcome by a registry key:
    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
    with a DWord of EnableLinkedConnections = 1
    Refer to http://technet.microsoft.com/en-us/library/ee844140(WS.10).aspx for details.

    ReplyDelete
  78. Thanks for the great information!! I'm running Win-7 64-bit and installed vb6 without any problem.

    ReplyDelete
  79. Thanks so much!
    My previous two attempts to install VB6 on Win7 were a disaster.

    Now it installed on Win7 SP1 64-bit without a glitch, incl. MSDN.
    Then I installed SP6, no problems, just remember to run setupsp6.exe as administrator. Even installed Codesmart2005 which also works fine.

    When all done, delete dummy MSJAVA.DLL - I read somewhere leaving it may cause problems with something.

    After all this I enabled UAC and VB6 keeps working fine with a UAC prompt at startup. Edited and compiled several projects, no problems!

    ReplyDelete
  80. I don't think so. If the UAC is not turned on, you are not running everything as administrator. You'll be running in the context of the currently logged on user.

    Try this:

    1. Turn on UAC

    2. Fire up a program that requires "run as administrator" via UAC.

    3. After the program fires, bring up task manager, making sure "Show Tasks from All Users" is selected. You should see the program running in the administrator context.

    4. close the program, and turn off UAC

    5. Fire the same program again

    6. switch back to task manager, and find the program. You should see it now running under the context of the currently logged in user.

    Make sense?

    FWIW, I haven't had a problem with developing or compiling on a Win 7 box with UAC turned off, and then deploying the application to other Win 7 boxes which have UAC turned on. The only exception is when the program performs some function that requires elevation anyway, such as user account management, domain management, etc.

    ReplyDelete
  81. But if I turn off UAC, AFAIK Win7 would behave like XP - if I'm admin, VB6 will run elevated, just this will happen automatically without prompts. This will not make the IDE run in the same environment in which the compiled .exe will run. I guess in 90+ % of the cases the compiled exe will run with UAC on, non-elevated, and want to debug in that mode.

    ReplyDelete
  82. If you have UAC turned on, then there is no way around it that I can immediately think of. Turn off UAC, and don't surf the internet while you are working.

    Disable UAC:

    http://www.fortypoundhead.com/showcontent.asp?artid=19521

    ReplyDelete
  83. I have one problem with VB6 on Win7 x64.
    VB6.exe is set to run in compatibility mode for XP SP3. Visual themes / desktop composition / display scaling on high DPI are all disabled. The box to 'Run as administrator' is NOT checked, but still UAC prompt pops up each time I run VB6.exe

    UAC prompt itself is not a problem, but when I confirm it VB6.exe runs elevated - so I can't debug my apps in a normal(non-elevated) environment in which they will run compiled.
    Is there a way to use VB6 non-elevated?

    Thanks

    ReplyDelete
  84. Thanks for the info, azoic. I'm sure it will help someone else out!

    ReplyDelete
  85. Thanks for the information. One thing to add...

    I was getting error when compiling and running projects with data reports. Error relates to license information and was corrected by downloading and running (as admimnstrator) Microsoft VBC6 utility (vb6cli). Took me a long time to find this out.

    ReplyDelete
  86. You are correct - you can re-enable UAC after installation. Disabling the UAC is only required during installation due the installation and registration of DLL files.

    ReplyDelete
  87. Is it possible to re-enable UAC? Was disabling just for installation, or is it required for runtime as well?

    ReplyDelete
  88. It *should* work. I haven't tried it myself, though.

    ReplyDelete
  89. Thanks for this technique. I just got Win7-64 and need to install VS6. Do you know if this approach will work for the other components of VS6, specifically VC++ and VFP? Or is a different approach needed for those?

    ReplyDelete
  90. As part of my VB6 install on Win7 I also need to install MSDE 2000. The word is to install MSDE in an XP virtual PC. This shows my lack of knowing how virtual pc works, but will there be any problem accessing my MSDE databases with VB6 being outside of the virtual pc? Anybody else do something like this?

    ReplyDelete
  91. Happy to help, Jim! Glad it worked out for you.

    ReplyDelete
  92. Thanks very much!!! You saved me countless hours. VB6, MSDN and SP6 all installed without a hitch. I forgot to turn off UAC but all seemed to work fine. I hope my negligence will not mess up anything in the future. However, if I have to do the entire thing again, it's not a problem. Thanks again! Jim

    ReplyDelete
  93. Thanks for your help.
    I'll have a word with our sytem engineer.

    ReplyDelete
  94. I can't seem to reproduce the problem here. I've tried on several machines, and everything seems to be working fine.

    I've tried installing just an application, and installing VB6 and building a new app on the Win7 box directly, and both work with no issues.

    Are you sure that listview is not a custom control that might be missing from the Windows 7 machine? Are you maybe referencing some API that is not present on the Windows 7 machine?

    ReplyDelete
  95. No, that is the problem.

    The development is still on a XP machine.
    But a test was done in windows 7, I don't have acces to that PC.

    ReplyDelete
  96. Can you create a new form, drop a list box on it, and see if it works?

    ReplyDelete
  97. It is not visible.

    ReplyDelete
  98. How does it not work? Not visible? Not filling? Custom list box not displaying properly? How are you filling it?

    ReplyDelete
  99. Thanks for this great explanation.

    I need to update an old VB6 application, but when running it under windows 7 the listview does not seem to work.
    Any ideas??

    ReplyDelete
  100. Fortypoundhead, you are my new hero for this great service to society ... everything is working fine for me after following the instructions, now I just have one problem which I hope is not too far off topic, regarding data access components (actually I think the true subject is "how to reference older versions of components in VB6/Win7"): My project references msado21.tlb (Microsoft ActiveX Data Objects 2.1 Library) and msjro.dll (Microsoft Jet and Replication Objects) ... I need to keep the (very) old versions (actually I think only msjro.dll is involved here) so my app keeps running on all the older boxes it's now running on ... but I can't figure out the right procedure for registering the old version of msjro.dll (and msado21.tlb if necessary) on the Win7 box and referencing it in place of the new version ... any help is greatly appreciated.

    ReplyDelete
  101. can you try bringing over the required version from your xp box, dropping it in a different directory of course, jump to an elevated command prompt, then try registering it?

    ReplyDelete
  102. Thanks for the response ... I do have 2 copies of msjro.dll, one in winsxs as you suggest, and one where it's supposed to be in Common FilesSystemado ... but they are the same version, 6.1.7601.17514. This version is apparently not even compatible with my Vista version 6.0.6001.18 ... and for full backwards compatibility I need to register version 2.81.3012.0, which is the version I've been compiling with for years on my old XP box. I have 2.81.3012.0 in my project folder ready to go, but it won't register ... any hints?

    ReplyDelete
  103. MS ADO 2.1 should be already registered in there. MSJRO.DLL is part of MDAC 2.1, so it should be there, too. Try a search of your C:Windows directory, recursing subdirectories for msjro.dll.

    You should find it under something like:

    C:\Windows\winsxs\x86_microsoft-windows-m..replication-objects_31bf3856ad364e35_6.1.7600.16385_none_801590ce06e5579dAfter that, just register it with regsvr32, and it should be ok from there.

    ReplyDelete
  104. Uh-oh, I found some scary stuff but with a possible solution:

    "Windows 7 SP1 has broken backwards compatibility of MDAC 2.8. Software compiled on Windows 7 SP1 that relies on MDAC ADO will not work on Windows versions prior to Windows 7 SP1 (including Windows 7 RTM, Vista, XP). Microsoft has provided solutions to work around this issue for some applications but VBA applications remain affected."

    And the possible workaround (for my case it looks like I'll have to upgrade from ado 2.1 to ado 2.6 - don't know what kind of problems that will cause):

    http://support.microsoft.com/kb/2517589/en-us?sd=rss&spid=14481

    Will post again after trying the fix...

    ReplyDelete
  105. I may not know exactly what you mean by "elevated command prompt" ... I am running cmd.exe with administrator privileges, is that the best I can do?

    I have tried to register from both the System32 directory and the SysWOW64 directory ... same result, a RegSvr32 error message "The module c:ado_oldmsjro.dll failed to load.

    Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.

    The specified procedure could not be found.

    Any more ideas?

    ReplyDelete
  106. I don't think you'll run into any problems - I've got a couple of apps that were developed with 2.1, now happily running with 2.8.

    ReplyDelete
  107. Ok, the linked workaround worked as Microsoft intended ... at least, my app is now working on my Vista box (warning to readers of this post: this particular app doesn't use anything but the very simplest ADO code). I'm not happy about having to upgrade to ado 2.6...

    ReplyDelete
  108. I actually don't use the PDW, but Inno Setup. Much more flexible and reliable. I'll see if I can duplicate your problem, though.

    ReplyDelete
  109. Darn, I spoke too soon! There's one irritation that I'm hoping you have come across before - When running the Package and Deployment Wizard, the app sticks on the "Loading package types" screen for some time (3-4 minutes), before continuing as normal to the "Packaging Script" screen. Any ideas?

    ReplyDelete
  110. Glad to be of assistance, alanserr!

    ReplyDelete
  111. Thanks for the detailed help in installing VB6 on Win 7 x64. It all seems to be working 100% - including MSDN.

    ReplyDelete
  112. Happy to be here, proud to serve.

    ReplyDelete
  113. I haven't yet had to work with INI files but I'm sure it's just a syntax thing. I've installed Inno and it looks pretty straight forward but.......that learning curve begins!

    Thanks again for your help.

    ReplyDelete
  114. Inno handles these things quite nicely, and is very straightforward in configuring the installation of DLL and OCX files. If you can write and understand an INI file, then you should have no problem with Inno. It's even free!

    Can't say enough good things about it. And nope - I am not affiliated with the author in any way. Just a fan.

    ReplyDelete
  115. I was being lazy in having to learn a new app. I guess I'll have to get to grips with Inno Setup and packaging VB6 apps for the different Windows platforms - what to do about the system .DLL and .OCX files etc.
    Thanks for your advice.

    ReplyDelete
  116. Do you have a the necessary NTFS permissions to save to the location you trying to save the project to?

    ReplyDelete
  117. Cannot Save Files in VB6 Windows 7
    1. click Save Project
    2. Window "Save changes to following files"
    3. Click Yes
    4. exit IDE
    5. Does not let me exit but loops to "Save changes" again
    6. I cannot get out of this loop without ending program in Task Manager

    I moved my VB6 project from folder "Program Files" to another

    ReplyDelete
  118. Upon starting my installation the computer asked me:

    Are you sure you want to update the VB6.0 Common Controls (Q896559)?

    Should I proceed??

    ReplyDelete
  119. Yes. No harm will be done in updating the VB6 common controls.

    ReplyDelete
  120. Wanted to thank all for their contributions! I had been running VB6 on a 7 yr old XP box (It was a workhorse, but finally died).. So, I've got VB6 installed, SP3 & SP6 installed on my new Win7 box, and all looked good, until I went to run my first legacy program.

    We have a remote SQL server that this legacy program connects to. Always ran fine on my XP box.

    I have the ODBC configured and tested successfully in the ODBC Data Source Admin. (Done this a zillion times on various boxes.

    RDO connection code is pretty generic.

    Dim db As rdoConnection
    Dim RS As rdoResultset

    Declared in the General area, have a reference in the project to MS Remote Data Object 2.0

    sConnect = "UID=sa;PWD=############;"
    Set db = rdoEnvironments(0).OpenConnection("ppcbidtracker", 1, True, sConnect, 32)

    Do While db.StillConnecting = True
    DoEvents
    Loop
    db.QueryTimeout = 1600

    Code executes the db connection above with no errors, but then the code below errors: The rdoConnection object is not connected to a data source.

    qs$ = "SELECT ActionDate FROM activeengines"
    Set RS = db.OpenResultset(qs$, 2, 4, 64)

    I'm lost! I use this type of query and RDO resultset in 99.9% of the SQL server access in my legacy VB6 programs.

    How can I get a good connection to the SQL Server, but get the RDO Connection error when I try and execute a query?

    I'm beginning to really hate Win7!

    ReplyDelete
  121. You might want to check your logic, or values that you are feeding to the function. The DateDiff function is working fine for me here, using VB6 on Windows 7 x64. Works fine in the IDE, or compiled.

    ReplyDelete
  122. Hello:
    After install vb6 @win7 64 bit follow above steps,I went to run my sample program ,it looks good on XP box.
    but I use the datediff() api,it show the below error message"
    invalid procedure call argument" on a win 7,
    How can I use this function on Win7??
    Thanks

    ReplyDelete
  123. I tried unsuccessfully to use your method to install VB6.0 Pro on Win 7 64b. It didn't work because my CD didn't have the Install Options you list. I will try it again and make notes of where it differs.

    I am trying to make my App which works on XP run on W7. I get a Runtime Error 380. Need the IDE working to find out where.

    Beginning to hate MicroSoft.

    ReplyDelete
  124. In previous comment, I said that I could not get VB6 installed. I just went through the procedure for Custom Install again and everything worked. VB6 working on W7 OK. Thanks.

    ReplyDelete
  125. In one of the comments above, I saw mention of SP6 for VB6. I found a download site for this but no description of what it does. Is there a tutorial covering SP6?

    ReplyDelete
  126. I'll get something together for you, ko6no

    ReplyDelete
  127. Thank you sooooo much you have been a Grrrrrr88888888!!!!!!!!!!!!!1 help nobody could help me thanks allloooooottttt!!!!!!!!!!

    ReplyDelete
  128. Install went fine. But when I hit start for even the simplest program (one line), I get, "Visual Basic Has Stopped Working". It seems to happen on compile, I never get to my code in debug. Any ideas? Thanks

    ReplyDelete
  129. Have you gotten any matching entries in the system or application event log?

    ReplyDelete
  130. Joe - Why did you not use the uninstall under the control panel ? The problem is that the registry still thinks that your package is still installed. Simply removing the directory is not enough to remove the information from Windows.

    ReplyDelete
  131. reza - what libraries does your project reference?

    ReplyDelete
  132. I have instaled vb6 on win 7 successfully . but while I was trying to run my project i faced to below error:
    "copmiler error - can't find project or library."
    in windows xp this error was because of dont instalation of office but after install office the problem still exist on my machine with win 7 home premium.
    is here anybody how can help me ?

    ReplyDelete
  133. Deleted "c:Program FilesVisual Studio" but problem still exists?

    ReplyDelete
  134. You might try uninstalling any remnants from your previous installation before trying to reinstall.

    ReplyDelete
  135. Tried to install VB6 on Win7 64bit before I read this forum and now when I tried do it right it comes up only w/ Server Setups/BackOffice Installation Wizard but not VB6?

    ReplyDelete
  136. Well. I do have win 7 ultimate with sp1 iso file on disk D:. Downloaded it from msdn three days ago. However, I will wait a few days to see if you or other commenters have a better solution. It would take me two days to get to the point that I am now on the existing win 7 installation if I reformatted and installed win 7 ultimate. And I would prefer win 7 (64) pro as I expect that most of our customers will be using that version of win 7 in the future when they will have eventually given up on XP. Not because of anything specifically bad but because Microsoft will eventually say that it no longer supports XP.

    I do think that Microsoft made a mistake calling Program Files and program Files (86). It should have been Program Files (64) and Program Files. I think that they may have saved themselves a lot of grief had they done so.

    ReplyDelete
  137. Just got home and checked, and my home workstation is running Win7 Ultimate, x64, SP1. Recordsets appear to be working fine.

    The only virtualization that I have running currently is virtualbox on the local machine, although there are VMWare activex controls installed, to allow views into my ESX server. Office 2010 is installed as well.

    I'll try building a new project and compiling just to see if it is a "new build" problem with SP1 machines.

    ReplyDelete
  138. dwirch. I have checked the second installation of win 7 pro eng and the VB6 works fine there with the various recordsets. The Win 7 is without SP1 Hmmmmm.

    ReplyDelete
  139. Thanks for the trouble. Of course, I could always use XP Mode but that would be giving up. The Win 7 machine where it does work also has Office 2010 and VMWare installed and VB6 still works. I will examine the SP1 issue. It is installed on an additional hard disk on this computer and I would have to restart to 'get to it'. Restarting Win xp again would sap another 35 mins until XP has 'settled down'. When I do get Win 7 up and running with all attendant applications and utilities, I can't wait to re-install a new copy of XP here and rebuild.

    ReplyDelete
  140. There seems to be a theme starting up. I've run into half a dozen or so people now that begin to have problems with recordsets after installing SP1 for Windows 7.

    I'll see if I can find a solution, and report back here.

    ReplyDelete
  141. Great page. Glad I found it. Am having problems installing VB6 on a win 7 Pro 64 bit (new) machine. I didn't have the instructions above but persevered all the same and installed the IDE with all attendant special Active X controls. The huge legacy application worked well. I then installed VMWare and Office 2010. Oh! And Skype too. And SP1 for win 7. (I forgot). When I tried the legacy app again, it started to give me problems relating to 'recordsets'. I can see that the definitions in the .vbp file have been adjusted to 'compensate' for Program Files (86). Anyone have any ideas. A line with 'Set rs = .......'gets the error 'Compile error - Object library invalid or contains references to object definitions that could not be found'.

    My applications are heavy on recordset use.

    I have another installation of win 7 pro eng where the code will run.

    It's all very confusing.

    ReplyDelete
  142. So here is a question - and I am kind of embarrassed that I didn't ask it sooner - Does your app rely on a particular version of ADO? What MDAC is installed, and what is referenced by your project?

    ReplyDelete
  143. My app relies on MDac 2.8

    ON my XP machine:
    Reference=*G{00000600-0000-0010-8000-00AA006D2EA4}#2.1#0#....Program FilesCommon FilesSystemadomsadox.dll#Microsoft ADO Ext. 2.1 for DDL and Security
    Reference=*G{00000205-0000-0010-8000-00AA006D2EA4}#2.5#0#....Program FilesCommon Filessystemadomsado25.tlb#Microsoft ActiveX Data Objects 2.5 Library

    On my Win7 machine:
    Reference=*G{00000600-0000-0010-8000-00AA006D2EA4}#2.1#0#....Program Files (x86)Common FilesSystemadomsadox.dll#Microsoft ADO Ext. 2.1 for DDL and Security
    Reference=*G{00000205-0000-0010-8000-00AA006D2EA4}#2.5#0#....Program Files (x86)Common FilesSystemadomsado25.tlb#Microsoft ActiveX Data Objects 2.5 Library

    They are the same except for the (86). I used Total Commander Compare utility.

    Do you have any hints how to improve the speed of network discovery between the two machines in a simple, (but Microsoft 'simple'), home network.

    Be happy to provide any other information.

    ReplyDelete
  144. DWirch. Yes. I have network discovery turned BUT, I have to initiate it each time win7 is 'started'. And it is slow. I use TotalCommander for file manipulations and it often doesn't 'see' the other machine.

    I find using windows explorer screens very limited but they do look nice relative to the TotalCommander. But still, as a programmer, content and ease of use is so much more important than look.

    Two XP machines on my network are much, much faster 'discovering' each other but the rate of data transfer seems the same.

    ReplyDelete
  145. 'If you open it in the IDE on the Win7 machine, and can you remove and re-add the references?'

    Well. I did a bit of detective work there. The reference is to msadox.dll. On the XP machine, it is in the 'right' place and is version 2.81.3012.0

    On the Win7 machine the version is 6.1.7601.17514

    Obviously a big difference. I tried to backup the win7 copy and replace it with the XP version BUT, when trying to rename it on the Win7 machine, I get permission from TruthInstaller to make changes to this file.

    One thing that really puzzles me is that the installed finished (commercial) application still runs smoothly.

    Any chance of using Skype between us. I could let you see my win7 screen with the screen sharing facility and the info sharing between us would be speeded up. I could then update this post when we have arrived at some solution.

    I am Greenwich Meantime + 2. I use screen sharing with the USA on a daily basis. Assuming that is where you are.

    ReplyDelete
  146. If you open it in the IDE on the Win7 machine, and can you remove and re-add the references?

    ReplyDelete
  147. Have you tried:

    http://www.fortypoundhead.com/showcontent.asp?artid=20562

    ReplyDelete
  148. Thanks for the attention dwitch.

    I did it. The command prompt needs to be run as as administrator. After I estarted WIN 7 and double clicked the network icon.

    I can't say that there is any improvement in 'discovery' time.

    I can live with it but I bought an i7 processor with 8 GB of fast memory and am a bit disappointed with some of the performance. Other things work blindingly fast. VMWare for instance and installations are very quick. Copying large files on the same diak is 'very fast' too.

    Anybody have any ideas on the MDac problem.

    If I don't see my way out, I will reformat the disk, install Win 7 enterprise and XP mode and use XP mode for the VB 6 IDE.

    Sort of giving up really BUT, if a solution does materialize afterwards, I can always install it directly on the win 7 machine at a later date.

    ReplyDelete
  149. Try this from an elevated command prompt to speed up your slow discovery problem:

    netsh interface tcp set global autotuning=disabled

    ReplyDelete
  150. Hi. I installed vb6 on my friend's laptop. It was installed but when I double click the control on a form to write a code, vb6 stopped working..The error says, "VB6 has stopped working." I can't write a code. How can I fix this?
    OS is windows 7 home basic and it is 64 bit.

    ReplyDelete
  151. It *should*. I can't say for sure, as I am not a C++ kind of guy.

    ReplyDelete
  152. Installed VB6 on my pc with Win7 64-bit. But it seems that VC++ is not working as should. I can compile but the program won't run. Does VC++ work with this installation method of Visual Studio 6 on Windows 7 64-bit?

    Thanks for your help.

    ReplyDelete
  153. hmmn, there's nothing any matching errors except it just stopped working when writing a code..

    ReplyDelete
  154. @aquamarine_kath: Are there any matching errors in the event log?

    ReplyDelete
  155. Thanks dwirch. If there someone out there who have successfully installed VC++ please let me know how you did it.

    Thanks

    ReplyDelete
  156. man132 - do any of your vb apps use memory recordsets. That is recordsets created by code and populated and manipulated with code???

    And is you Win 7 service pack 1??

    ReplyDelete
  157. So I have the disk files and license code but I don't have the disk. Whenever I run setup.exe, I get a pop-up informing me that "This program has known compatibility issues", I hit 'Run Program', then 'Next' and then the setup stops working and I get told by Windows to close it. Any help?

    ReplyDelete
  158. MCxWillyxP. Did you read the instructions at the top of this page???

    ReplyDelete
  159. I've not seen that before. Have you tried double-clicking a control, or the form itself?

    ReplyDelete
  160. i've successfully installed vb6 but my problem is i cannot open the view code..plz help..

    ReplyDelete
  161. i've already did that and there's always saying windows are checking solutions to the problem then msgbox appear debug or close program.

    ReplyDelete
  162. Sounds like a permissions issue.

    Are you setting date and time? or simply getting the date time? If you are setting it, does the user have permissions to set the date time, without elevation?

    Remember, if the user context that program is running in does not have permission to do certain things, then your program will not have permission either.

    You can test this by performing a Run As... and running the program as a user that has administrative permissions on the machine.

    ReplyDelete
  163. Great site. My question is a bit different. I have a VB6 app compiled in 1999 ans used by many users. I want them to be able to instal and execute the 1999 version on a W7 workstation. The app installs fine and starts up fine.

    However in the code I have a clock synch procedure that checks that their clock is correct based on a time offset setting. It uses the VB6 system variables Date and Time.

    But I get an error trying to set these in Windows 7. I do not run across any issues with setting these variables on a windows XP machine.

    So for now I am not forwardly compatible with my app. Is there a way to run the app under a different setting or other trick to get past the Date = or Time = intruction when the OS is W7?

    Can a Windows XP compiled VB6 app run on Windows 7 after installing the setup of the XP compiled app. we would like not to have to recompile etc. just have users switch OS to Windows 7 and it runs.

    Any ideas? Thanks in Advance.

    ReplyDelete
  164. I'm having problems running VB6 web app (ASP Classic) on Windows 7. Compiling the code via command-line works fine and the produced DLLs behave as expected. However when I try to run the code through the IDE I get a WebClass Designer error "An unspecified error has occurred". As you can imagine this message was not met by a wave of calm, and is causing me a great deal of discomfort. I can run Win Form apps perfectly fine. No references are missing. Any ideas?

    ReplyDelete
  165. I installed VB6 and SP6 as per your great instructions on a Windows 7 machine.

    Editing and compiling work fine. The first screen of the Package and Deployment add-in works too. However, the first screen takes several minutes to complete, whereas in XP it took several seconds. The completed installation package works on Windows 7 and XP.

    However, on Windows 7, if there is more than one form with "Show in Taskbar" set to True, there are flaws in the operation. Only one button appears on the taskbar. When this button is activated, a menu appears with the several forms listed. Clicking on the menu causes the form to pop on the screen. However, clicking on the menu X does not pop the form off the screen. Also, "Close All Windows" does not work. Any hints or suggestions would be appreciated.

    ReplyDelete
  166. Good catch, dgordon42! Your approach certainly works for more secure systems. Just out of curiosity, would right-clicking and select Run As Administrator have the same effect?

    ReplyDelete
  167. Great advice about how to set up VB6 on a modern machine - Thanks

    I used your procedure to load VB6 and VB6 SP6 on a Vista 64 bit OS.

    One small problem, when loading componments into a project I get a "Cannot access Registery" error, although the components seem to load OK. I closed VB6, drilled down into the disc to find VB6.EXE, and raised the security for Users to "Full". This seemed to fix the problem, maybe it will help someone else.

    Thanks Again.
    DG

    ReplyDelete
  168. With reference to my problems running VB6 on a Win 7 machine after installing sp 1. (See 2011-09-20)

    There is a lot of discussion at http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/3a4ce946-effa-4f77-98a6-34f11c6b5a13 where Microsoft owns up to the problem. Someone claims that there is a solution in win 8 and another pleads for an MDac service pack.

    Microsoft makes our lives a misery. A misery.

    ReplyDelete
  169. VB6 scroll wheel addin:

    http://support.microsoft.com/kb/837910

    and does ActBar.OCX actually exist at the path you've given?

    ReplyDelete
  170. I installed VB6-Prof-SP6 on Win7-32bit-Prof and have 2 problems:

    1. I can't scroll in a VB code module.
    In any other application I can scroll with the mouse.
    The mouse is a Logitech, that is registered as Microsoft PS/2 Mouse

    2. I use VB-Partner as Addin but I get the message that "ACTBAR.ocx
    is not registered correct".
    ACTBAR.ocx is in C:windowssystem32
    When I run
    C:windowssystem32
    egsvr32 C:windowssystem32ACTBAR.ocx
    I get no reply. I did it also with UAC OFF.

    Do you have any ideas that do do ?
    Thanks in Advance

    ReplyDelete
  171. Many Thanks to dwirch.
    Your answer helped 100%

    My second problem is also gone.
    Now the registration of ACTBAR.OCX was successful.

    ReplyDelete
  172. Hey Steve - don't feel like an idiot! That's what we are here for, is to answer questions!

    Open a command prompt, and change directory to Windows, then type:

    COPY CON MSJAVA.DLL

    After hitting enter, you'll just a blinking cursor. Just press F6 and enter, and your zero-byte file will be created.

    ReplyDelete
  173. Firstly, thanks for taking the time to help with issues like this. I feel a bit of an idiot asking this question as it seems so obvious to everyone else but: how do you create the dll file in the first place?

    ReplyDelete
  174. Yep, running in win xp sp3 compat mode with "visual themes", "desktop composition" and "display scaling on high DPI settings" all disabled... and cpu and mem usage looks fine. The IDE runs fine for a while but seems to get in this weird state after editing for a while, like 15 to 45 minutes, depending on it's mood. I've lost a fair amount of code due to suddenly being unable to save... good times!

    ReplyDelete
  175. Wow! That's the first I've heard of a slow degradation of the IDE. And nothing in the background hogging cycles? Visual styles turned off? Compositing turned off?

    Anyone else seen this?

    ReplyDelete
  176. Great thread, seems to be the only place to go for info on running VB6 on Win7, thank you! I went through the install procedure a few months ago and it had been working great. I'm on Win7 x64. I've had periodic problems with the IDE menus becoming unresponsive and it seems to be happening much more frequently lately. Basically, a handful of the IDE menus and toolbars will just stop working, such as Exit, Save (all of 'em), Run, Options, etc.. and a slew of others. Other times some of the above menu items will work and not others. The keyboard shortcuts for the menus are unresponsive as well. However I'm always able to edit code and switch between files, which leads me to believe it's not the CPU spinning out of control (verified by task manager). Any clue what this might be or where to look? Event logs show nothing useful.

    Thanks!
    Dave

    ReplyDelete
  177. Awesome dwirch! Let me know if you see the same thing.

    Here's a use case:
    1. Install mz-tools
    2. Open a project.
    3. Go to a method definition, highlight the method name, right-click the highlighted name->MZ-Tools->Procedure Callers (might have a better chance of repro-ing if there are many calls to the method you highlighted)
    4. Double-click one of the instances in the procedure caller results window.
    5. Select menu Tools->Options...
    6. If the options window is not displayed after selecting the options menu item, you've successfully repro'd

    I should mention, I went through the steps described in the mz-tools faq (resetting the toolbars) and it did not solve the issue I'm having.

    ReplyDelete
  178. Never used it, but I am downloading the demo to test your theory ;)

    ReplyDelete
  179. So, playing with this some more today... I disabled all my add-ins (should have done that first thing), which consisted of the mouse wheel fix and mz-tools. I'm now 95% sure the issue I'm having is caused by mz-tools, namely the "Find procedure caller" feature. After running that feature I start to see the behavior I described above. Anyone running mz-tools without issues? So, this may or may not have anything to do with the fact it's running on Win7, but have never seen this issue before on xp, though I found this on the mz-tools site:
    http://www.mztools.com/v3/faq.aspx#MenusCorrupted
    Sounds similar to the behavior I'm seeing but not exactly.

    ReplyDelete
  180. Thanks 40poundhead. Following your advice I got VB6 installed with no problem on my new i7 64-bit Windows machine. My difficulty now is with a couple of the add-in OCXs that I use -- LeadTools and TX Text (both old versions.) (TrueDB Grid installed just fine.) When I try to start their SETUP programs I get an incompatible program message, and none of the compatibility settings that Windows suggests do any good. When I click the "Start the Program" button in the compatibility dialog, the wait cursor spins for about a second and then just quits.

    This is way beyond your call of duty, but if you are installing VB6 and old OCXs I am just hoping that you have encountered this kind of problem before and know how to fix it. I suppose I could copy the various OCXs and DLLs over from my old machine and try to register them, a real PITA, but that still leaves the problem of getting their licensing file schemes to cooperate, a nut I have never been able to crack.

    Thanks for whatever suggestions you can provide!

    ReplyDelete
  181. craigkl. Are you using MDAC?

    ReplyDelete
  182. Open a command prompt, and type the following lines, pressing enter after each line:

    CD\WINDOWS
    COPY CON MSJAVA.DLL

    After hitting enter, you'll just a blinking cursor. Just press F6 and enter, and your zero-byte file will be created.

    ReplyDelete
  183. This is a very helpful link.. but for now i really need to know on how to create a zero byte .DLL ? can anyone please provide me the steps, i really need to install vb6 on my win7 ultimate 32bit OS , since this is the only computer i have. and i need it badly for school thesis :( .. hope you'll reconsider my request. thank you.

    ReplyDelete
  184. Hey, i followed all the instructions above an am not able to install vb6 on my win 7 Home Premium 64bit.

    The only difference is ta´hat i'm installing from my hard disc.

    with the first install i did all the steps, uac off, msjava.dll created, entered license infos, name all all whats needed an clicked OK - mesage is "searching for installes ...."

    and that's it?!

    after 30-40 min. i quitted, nothing is installed.

    The registatration an other infos are recognized, if i start it again, i must not enter the infos again - but´there's again the message "searching...." as above, an the install freezes.

    if i delete all visual basic 6 entries from registry, i can start with the install as on top..


    Wht do i wrong??
    Pleas help.

    Thank you.

    ReplyDelete
  185. shulzzz - try burning your install directory to a cd, and installing from there. Failing that, create an ISO from the directory, mount the ISO, and install from that.

    and you are sure UAC is off?

    ReplyDelete
  186. Jug Ears,

    In response to your question of 11/25, yes I use MDAC, but have had no problems installing it. I don't think this has anything to do with the other OCX install problems I referenced on 11/24.

    ReplyDelete
  187. I am having problems with ADODC Recordsets. I moved a VB 6 (SP6) project from XP to a Win 7 64 bit system. My movecomplete functions get a compile error "procedure declaration does not match the description of the event or procedure having the same name". I've searched some, but can't find a solution that works. The project reference includes Microsoft ActiveX Data Objects Recordset 2.8 library on both the XP and Win 7 systems. The other references all look the same on both systems. Can you provide any input?

    Here is the code declaration that is failing...

    Private Sub AdodcImportData_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

    ReplyDelete
  188. Hi McCindy - I've posted your question over in the Q&A section. You can see the answers by clicking on the Q&A link at the top of the screen.

    You should get an answer pretty quickly. There are lots of smart folks that have their eyes on that section.

    ReplyDelete
  189. I found this regarding the MDAC issue with installing the SPs
    Did as instructed and all fixed......yippeeee

    http://social.msdn.microsoft.com/forums/en-US/windowsgeneraldevelopmentissues/thread/cd740951-dd2c-46eb-856f-6e653a2e3d07/

    ReplyDelete
  190. I just attempted to install VB6 onto Windows 7 Professional 64-bit. Although I followed the instructions you provided, the responses from the OS were different in a lot of places. I guess that the instructions were written for Vista, not Windows 7. I muddled through and eventually got it installed.

    The problem was installing Service Pack 5. I get the error message: "This Service Pack requires MDAC 2.5 or greater ..". MDAC 2.5, 2.6 & 2.8 are, in fact loaded and work correctly. Executing "MDAC_typ.exe" does nothing.

    Any ideas?

    ReplyDelete
  191. Have uccessfully installed on W7 64 bit but I am stumped at installing SP4. I cannot seem to get the MDAC 2.5 components loaded even though I've followed the instructions religously.
    thanks

    ReplyDelete
  192. Just an update.

    Have re-installed WIN7 (64) Ultimate on my 8GB i7 processor machine. Have installed VMWare and will be installing VB6 on a new VM XP machine with office 2003 and Wise Installer 8.

    I already have a WIN 7 Virtual Machine with vs2010 and office 2010. Couldn't find a control which successfully imports and exports Excel files, (xlsx) in a 'German' environment where the decimal separator is ",". So we made an NET Exe file in vs2005 using ComponentOne flex grid .Net which manages the import and export without any trouble and blindingly fast even for a multi worksheet file.

    Spread 8 (Active X) - Grape City, which is what we were using, know of the problem, (multiplies numerical values by 100 in the exported file), since September but seem loth to correct it even though I imagine that it is a minor piece of code changing inside the control to be aware of the decimal separator. (The problem occurs when 'exporting'. Not when importing.

    Sorry to be a 'traitor' but work must go on and promises from Microsoft that WIN 8 will solve the MDAC problem are not satisfactory at this stage until WIN8 is 'production'.

    ReplyDelete
  193. i am on yahoo messenger. ID is ramnath555

    ReplyDelete
  194. There is no error. I have an MDI Main form (Frm_RMSMAIN). But the first form is other one in the name of frm_database, opened in vbmodal for selecting database. From there i open the mdi parent form. the program flow works till it tends to open MDI form. After that without any error the application ends. (Right now i am debuging it with breakpoints with msgbox "1" "2"...and so on) So far i found out this. You can come on teamviewer if you would like.

    ReplyDelete
  195. Any errors you could share would be greatly helpful in diagnosing your problem.

    ReplyDelete
  196. Thanks for the Great Tip. I got vb 6 installed and everything is working fine.
    But the VB6 application compiled on windows 7 platform is not running on the Windows XP system. Why? have you any idea? (Sorry the same issue would have already posted here. i am not able to locate it)

    ReplyDelete
  197. ramnath555:

    that sounds like a tough one. I am not really sure where to go with it, with no real debugging information other than an approximate area of flow where it is stopping.

    Have you tried *not* firing the main form? Rather, create a dummy form, with nothing on/in it. After the first form completes, have it fire the dummy form instead. If the program doesn't bomb, maybe something in the main form is having a problem.

    Any weird DLLs or controls being used? Non-standard database access?

    ReplyDelete
  198. foxilla:

    Open a command prompt, and change directory to Windows, then type:
    COPY CON MSJAVA.DLL
    After hitting enter, you'll just a blinking cursor. Just press F6 and enter, and your zero-byte file will be created.

    ReplyDelete
  199. how to create a zero byte file sir?

    ReplyDelete
  200. When I install the VB 6.0 on Win 7.0 (32-bit) VisData.exe has stopped working and several messages after this appears. The installation completed successfully, but when I try to load my project. It say, "Unable to read System registry"

    ReplyDelete