Visual Studio 6.0 on Windows 7

After a long and impatient wait I finally laid my hands on my brand spanking new Dell Precision M6400 mobile workstation with a blazing fast 250 GB solid state hard drive. I ordered it with FreeDOS since I was not sure which operating system I wanted. I have been using Windows XP for many years now. Not because I am resistant to change, but because I develop software using Microsoft Visual C++ 6.0. At SYCODE we have a policy of supporting older versions of CAD systems to the extent that it is technically possible. For example, all our AutoCAD plug-ins work with AutoCAD 2000, which is a decade old. AutoCAD 2000 plug-ins need to be built using VC 6 which works perfectly fine on Windows XP but not on the new Windows 7, or so I had read.

While I believe Windows XP is a rugged OS it is quite old and I really wanted to move to Windows 7. So I went ahead and installed Windows 7 Ultimate on my mobile workstation and decided to figure out a way to get VC 6 up and running on it. By setting up the right compatibility options I managed to install Visual Studio 6.0 on Windows 7, but unfortunately getting VC 6 to run properly was another story. It crashed arbitrarily mostly as soon as I loaded a project. I tried all possible compatibility options, but the crashes didn’t go away. So I decided to do the next best thing – install XP Mode on Windows 7. I used these instructions to do that. I then installed VC 6 with SP6 on the Windows XP sitting within Windows 7 and all was well.

However, this Virtual PC on XP Mode solution comes at a price. I noticed the compilation and linking to be extremely slow, which defeats the very purpose for spending all that money for a solid state hard drive. So I decided to do some experimentation. I wanted to know what exactly did Windows 7 not like about VC 6. Was it the compiler, the linker, an add-in, the IDE or a million other things that depend on the IDE? To dig a little deeper I built a few of my VC 6 projects in Windows 7 from the command line by using /MAKE switch of MSDEV.EXE. None of the builds caused a crash. So it appeared that Windows 7 had absolutely no problem with VC 6 compiling and linking my projects. The crash occurred only when I used the VC 6 IDE. Which meant that if I wanted to only build my VC 6 projects I could do so directly in Windows 7, without having to jump through hoops and do it in Windows XP and waste a lot of time in the bargain.

For me, this was really exciting. Let me explain why by giving you a brief run down on how I set up my AutoCAD plug-ins. Every three years Autodesk changes AutoCAD significantly. Not only does it change the DWG file format, it also changes the compiler with which it builds AutoCAD itself. For AutoCAD 2000, 2004, 2007 and 2010 Autodesk used VC 6, 7, 8 and 9 respectively. Therefore AutoCAD plug-in developers like myself need to use the same compiler that Autodesk used to write a plug-in that a particular version of AutoCAD. Now, since the functionality of my plug-ins across all versions of AutoCAD are more or less the same, it made sense for me to use the same code stream across all versions of VC. So over the years I have adjusted my C++ code to take care of the new compilers as they came along. For example, for VC 8 I made my code UNICODE compliant. And as it turns out, I find myself using the VC 6 IDE lesser and lesser. I do most of my work in the IDE’s of VC 8 or 9 and use that of VC 6 to check if my code builds all right.

So as far as I am concerned I like this particular work around. When I want to create a new project in VC 6 or work with an existing one, I will go ahead and do it in XP Mode, otherwise I will simply continue to build my VC 6 projects directly in Windows 7 using the command line. Thought I’d share this with my brethren in the programming world. If any of you have a better solution or a work around, do let me know by leaving a comment.

  • owenwengerd

    I don't recall having any problems installing VC 6 in Windows 7 (64-bit). In any case, the IDE and tools work without any problems on my system. I had problems with VC 7.0 similar to what you describe for VC 6.

  • That’s odd. Maybe it depends upon which side of the planet you are 😉

  • owenwengerd

    When starting out with a new system, I always install the oldest version of Visual Studio first. I do recall an email exchange a long time ago with someone that had problems after trying to install the newest version first. The problem was resolved after starting over from scratch in the reverse order. I suspect the difference in our case has more to do with what was installed prior to VC 6.

  • I always install versions of VC, or for that matter any other software, in chronological order.

  • Daniel

    @ Owen,

    Can you tell me how you installed VC7 on windows 7×64, I'll be your best buddy forever 🙂 I've been using XP mode

    @ Deelip

    How do you like the SS drive?

  • Daniel,

    I have installed VC7 on Windows 7 (32 bit). The installer fails at the prerequisites stage. It fails to install the .NET framework. Threafter I manually install .net Framework 1.1 (see http://www.mydigitallife.info/2007/12/27/instal…) and continue with the VC7 installation.

    The SSD is runs like its pants are on fire. I absolutely love it.

  • Narayanan

    I am of an opinion that by adjusting the VC++ directories in VS IDE of 2008 or 2005, one can get the desired result of building directly on VS6. I gained this opinion by first doing so for developing ObjectARX applications in VS2008 that target AutoCAD 2007, which is suppose to be built only on VS2005.

    Later, I stumbled on Owen's blog to discover a build hook utility. Then onwards I used build hook instead of manual tweak. Happu to know that VS2010 has this facility in built, though I had not tried manually.

    I stumbled on this web page as well, which proves the same: http://resnikb.wordpress.com/2009/10/28/using-v

    Regards, Narayanan.

  • Yeah. I stumbled upon that article by Bojan as well. Found it very interesting. That was my last option if I could not get this working. I really didn't want to go back to XP.

  • ALi

    Hey guys please tell me what to do to install vc6 on windows 7? Iam facing lot of problems.I am a begginer and don’t know what to do 🙁

  • G Hossinger

    Do you install directly from the VS 6.0 CD or from a directory?
    It seems that the 16-bit components have problems with long directory names,
    so change the names to short (8.3) names.
    good luck

  • G Hossinger

    P.S.
    While VS 6.0 (incl. MSDN) finally installed on Win7 from a [8.3] path
    the related Service Packs (SP4-SP6) did not install.
    Already SP4 complained about missing MDAC (2.5).
    But you cannot install mdac_typ.exe as this is an older version (XP SP2? only).
    So I downloaded “XP Mode” from MS (only for Win7 professional and higher) which I installed and then converted/imported into (free) vmware Player 3.0.
    At very last, I could install VS 6.0 plus all Service Packs (4 + 5 + 6).
    So as long as you don’t need SP4-SP6 (which fix a number of issues)
    you should be able to install VS 6.0 (incl. MSDN) on Win7.

  • ANGANGUPTA

    VC++ DO RUN ON WIN7 PERFECTLY WELL. I USE IT DAILY AND HAVE DOWNLOADED IT FROM TPB. NO PROBLEMS.

  • Norm

    I suspect that perhaps some people are installing and using the free version from MSFT, which does not have all the features from the professional versions.
    I paid for two copies, of msvc professional (I owned a biz), I feel entitled to use them.  However, they will not install on windows7.

  • Philo

    Been running VC6 on Win7(64) for about a year. Nothing but problems and surprizes. I write embedded code that winds up in a treadmill, and use VC6 features to be able to simulate what the final product will look like, and so I can debug it. Just today, my debugger halts at every line of assembly code telling me its a user defined breakpoint. Every line. I don’t need to tell you that, of course, I took out all breakpoints, you know that. I’m sure I’m the only person in the world that this happens to, but… any ideas?

  • Basheer

    hi…
    I’ve installed VC6 on my computer and  my OS is Win7(32) but when I compile the program , there is an error appear and said can not open file Debug/ filename.exe how can I solve the problem. Regards
    Basheer

  • user

    plz kindly can anyone tell me that how i install visual c++ in window 7 plz do reply. shall be very thankfull.

  • Haseebashraf

    Install Windows 7 32bit on 64 bit Processor.

    Then login as Administrator and install VC++ or Visual Studio 6. It will work fine as far as I kown.
    Thanks, Haseeb

  • Great post about Visual Studio 6.0 on Windows 7…  Glad to visit this professional blog… I would love to learn more and more about technical and programming related things.. Great work!

  • Gret review 😉

  • Nux

    As seems you need to install .NET 1.1 manually [1] and then when you install VC 6 (I used Enterprise edition) and then I guess you simply need to uncheck “AcitveX” and VS seems to work . I’ve also installed VS SP6 without any problems.

    One note – VS6 works on simple projects. IDE crashes when loading more complicated one (few dependent projects, many files). The module that crashes is devbld.pkg.

    [1] = http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/how-to-install-net-framework-11-in-windows-7-64/eb1e6232-e874-432e-ab43-17660e25e43d

  • fish

    No offence, but the people here saying VC6 works on Win7, but crashes, sorry but that’s not working.  Also if you can’t install the service packs, again that’s not working.

  • Nux

    You can install  service packs – it’s just a bit more trouble some (see my post above).

    VS6 works as a compiler (haven’t found any problems with it yet). It’s the IDE that crashes with complicated projects. Sadly M$ only advice is – install new VS.