Has anyone managed to get Visual Studio 2003 running on Windows 7?
Asked Answered
C

16

21

Yes, I know... I could set up a virtual machine running XP. Unfortunately our build environment is such that we need to be running VC2003, 2005 and 2008 concurrently and it would be much more convenient if I could run 2003 natively on Windows 7 for the few projects we have that require it.

I realize some things may not be available in the IDE, but I was able to run 2003 under windows Vista and if I could get the same base level of functionality under Windows 7 I would be extremely happy.

Right now I get an error opening the *.pdb file when I compile after switching vc2003 to run as Administrator under compatibility mode for XP SP 2.

Thanks!

Caius answered 18/5, 2009 at 18:18 Comment(13)
I know that Visual Studio 2005 has some issues with Windows Vista, so I know 2003 would have more problems.Hildebrand
Sounds like the real problem is your development environment :OAnastatius
Yes I am sure he realizes that the environment is a problem, but not everyone can just "upgrade or retarget". I have to run VS2003 as well due to some legacy apps that cannot be upgraded to a newer version due to corporate red tape.Zebec
@womp: Or the underlying OS. VS 2003 is neither supported on Vista nor will it be on Windows 7. Thus, if it is essential to my build process I would always use XP/2003 to not waste my time with unexpected problems.Schramm
@divo - Yep, I could do that. But it is going to be very difficult to debug issues our customers have when running 7 if I can't even run the compiler on it. It will be a messagebox debugging fest at best.Caius
Just to clarify, these libraries are perhaps 20% of the development effort. The rest compiles under Visual Studio 2005.Caius
@Jeremy: why not just run in a virtual machine? You can do the same kind of debugging in a VM that you could in a real machine. You may even be able to use the remote debugger.Alla
We have a similar problem in my company. We have converted most of our active projects to visual studio 2010. For our legacy projects that are not actively developed but still need a fix now and then we have a complete development environment set up on virtual machines. So we have a separate virtual machine for vs2003, vs2005 and vs2008. This maybe not an ideal solution but it works for us.Endomorphic
I'm not sure about Windows 7, but at least the VC++ tools work perfectly on Windows 10 x64 1903 - the only thing I noticed is an empty window in the center of the screen which disappears after minimizing and restoring VS2003 once.Emissary
@RayKoopa what steps did you take to get VS2003 to work? I installed VS2003 using the /NO_BSLN_CHECK option, but that resulted in a half-working UI, where the project wizards don't work, and existing projects have issues showing the property pages. I then tried installing a slipstreamed .NET 1.1 SP1, thinking that would fix things, but that broke VS2003 entirely.Commend
@TomLint I simply installed it with the setup on the MSDN ISOs en_vs.net_2003_prereq.iso, en_vs.net_2003_pro_cd1.iso and en_vs.net_2003_pro_cd2.iso - I'm not sure if I ran the mu_vsnet2003sp1.exe afterwards, it wouldn't hurt to just run it afterwards and check if it can be applied.Emissary
@RayKoopa I've managed to fix most of the issues by removing the botched .NET 1.1 version and installing the VS2003 prerequisites like you said. Now I'm left with the non-functional HTML-based wizardsCommend
@TomLint Not sure about that, worked fine here as far as I can tell. Maybe try your installation media in a clean virtual machine to rule out issues with your working computer's configuration?Emissary
H
14

Give XP Mode a try if you can't get it to run natively.

http://www.microsoft.com/windows/virtual-pc/download.aspx

Houck answered 18/5, 2009 at 18:34 Comment(7)
This would not be native to Windows 7 like what he was asking for.Promotion
@m0ck0bject, you misunderstand XP mode, then. The unique virtual environment may offer 'native enough' features to accomplish what he desires.Houck
I have heard that XP mode is just like running it natively, and most users would be unoticable. It not like you have to spool up a whole VM. I tries to simulate running the app as native, and remove the feeling of a VM. This is a pretty good suggestion.Zebec
I can't run it on this box. The processor doesn't support virtualization. But - it might be worth purchasing another box if that solution was shown to work.Caius
XP Mode is really just new Virtual PC running XP, plus some added desktop integration where windows from the guest appear directly on desktop of the host, and host FS is auto-mounted in guest. It is still a "VM" in the same sense VMware is one.Gehenna
@Jeremy White: You can always use VirtualBox or one of the free editions of VMWare: they support both hardware-assisted and software-only virtualization, and they have seamless modes too (not as good as XP Mode's one though).Coronation
@Jeremy - the latest release of the XP Mode VirtualPC download no longer requires hardware virtualisation baked into the CPU. Story link on The Register from March 2010: channelregister.co.uk/2010/03/22/… MS Windows Team Blog post: windowsteamblog.com/windows/b/windows7/archive/2010/03/18/…Flyboat
C
11

I wrote a blog entry about this a while back that you can check out - http://technikhil.wordpress.com/2010/01/12/visual-studio-2003-and-windows-7-can-get-along-really/

The only thing I am stuck on right now is the global search functionality of VS 2003 - it hangs the application. My workaround is to use windows 7 search :-). Other than that - so far so good...

Update: I got the search to work as well by disabling the Aero functionality - I have updated my blog post with the details...

Cashier answered 12/3, 2010 at 10:31 Comment(1)
It would be better if you had details on how to solve the problem here in addition to linking your blog.Longicorn
C
6

(Much of this repeats what's already been written above.)

I need to run VS2003 as adminstrator under Win7 64-bit, to support legacy projects (e.g. those that run on the original Xbox). The old XDK requires VS2003, so upgrading is not an option. I could run WinXP but I prefer Win7.

VS2003 is not officially supported under Win7 and trying to do so creates a couple of fairly annoying problems:

Find-in-files causes VS2003 to hang. Linking fails due to a PDB file handle leak. The Find-in-files hang is solved by using "Disable visual themes". Navigate to the VS2003 shortcut (Start-->Microsoft Visual Studio .NET 2003), right-click to get context menu, select Compatibility tab, Settings pane, and check "Disable visual themes".

The linker failure (LNK1201) happens when you run the program through the debugger, stop it, modify a file and build. The error is that a Visual Studio hold a handle to the PDB file, while the linker tries to write to that file. You can stop and restart VS2003 to bypass the issue. Works but is annoying.

You can also use the Microsoft SysInternals "handle.exe" utility to find, then close handles held by a process on a particular file. Write a script to call handle.exe and set up the VS2003 project to run that script as a Pre-Build Event. (See this thread.) But handle.exe requires running as admin.

You could hypothetically change handle.exe to run as admin using the usual steps (e.g. as a compatibility setting) but then handle.exe (apparently) runs in a nested shell, and then the stdout text does not get to the calling script.

You can make VS2003 run as admin, in which case the Pre-Build script also runs as admin, hence does handle.exe, and that works.

The remaining trick is to get VS2003 SLN files to open properly. If you simply make VS2003 run as admin automatically then the VS version selector fails to run VS2003. I don't know why, but it is the case.

You could associate SLN files to open using VS2003 devenv.exe instead of VSLauncher.exe. That works but then all new SLN files (2005, 2008, 2010, 2012, ...) fail to open.

So the final step then is to make VSLauncher.exe run as admin. This fails as of KB2492386 as this thread indicates. Uninstalling that update was the final step in this saga, to get everything to work.

Cosmopolis answered 21/12, 2012 at 1:3 Comment(0)
A
5

PATCH NOW AVAILABLE
After some reverse-engineering, I found the incorrectly refcounted COM object responsible for the leak (it was off by 1) and developed a stable patch and corresponding article describing the fix. This addresses problems encountered while using Windows 7 thru Windows 10. Details and download available at:

http://bytepointer.com/articles/vs7.1_2003_on_win7_pdb_handle_leak_bug_unofficial_fix.htm

If you want to perform the patch manually, those details are also included.

NOTE: The SysInternals Handle tool workaround did not work for files on a network-share. The .PDB was not completely unlocked although the Handle tool claimed it was closed. My fix eliminates the problem once and for all and avoids any side effects.

Arturoartus answered 6/7, 2016 at 4:2 Comment(0)
O
4

Run this install. You need to run it from the setup directory, the setup.exe on the root of the cd will not work.

D:\setup\SetUp.exe /NO_BSLN_CHECK

Obduliaobdurate answered 8/6, 2011 at 15:1 Comment(1)
Thank you! This was the only trick I needed to make it install.Hooker
L
3

Solution i found on the web which helped: For your visual studio, use application compatibility = windows vista SP2, and NOT WinXP SP3

Locker answered 25/10, 2009 at 22:42 Comment(0)
W
2

I have a really dirty and pathetic workaround for the pdb problem.

Download and run Sysinternals-ProceXP, press CTRL-F enter the name of pdb(smt like ($ProjectName).pdb) that can't be created while linking. Double click when it is found.(if it can't be found run procexp with administrator priviliges)

Then you will see that the .pdb file is highlighted in the lower pane of the main screen. Right click it and select Close Handle. When you retry building your solution it wont raise an error.

I dont know if this solution can be scripted but it is at least better than restarting visual studio.

Wellborn answered 10/10, 2009 at 15:17 Comment(0)
B
2

I've been using Visual studio 2003 on win7 since the very first RC edition was released :S why do people have issues?

Baht answered 17/2, 2010 at 23:22 Comment(0)
C
1

I have attempted to install VS2003 on Windows 7 64-bit using the Virtual Windows XP feature. I'm reasonably certain that this will be successful. The issue I ran into is that the installer wants IIS installed, and the XP installation provided by the Virtual XP doesn't have that enabled by default.

If you go to Add/Remove components, and try to add it, it will ask for the disc, which I didn't have on hand. Once I get my hands on the disc, I'm pretty sure that it will run fine.

If you haven't tried it for other apps, the Virtual XP feature is really neat...

Cloudscape answered 2/7, 2009 at 0:48 Comment(0)
E
1

I am experiencing the same issue; devenv.exe is leaving pdb files open after running the project. I have made a batch file to work around it, it closes all .pdb files open by devenv.exe:

handle.exe .pdb | awk "/devenv.exe/ { split($4, fd, \":\"); system(\"handle.exe -c \" fd[1] \" -y -p \" $3)}"

You will need to have handle.exe by sysinternals and awk by gnu in your path to make it work.

Use at your own risk. Closing handles can cause application or system instability.

Exculpate answered 3/12, 2009 at 0:1 Comment(0)
Z
0

In windows 7, there is the compatabiliy mode in the executable properties. open:C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\ then right click on the devenv.exe and select properties. In the compatability tab, select the "Run in compatability mode" and select "Windows XP" in the dropdown.

Try that, I am not sure if it works, but it is worth a shot.

Zebec answered 18/5, 2009 at 18:40 Comment(3)
Unfortunately I already tried that. The IDE runs well, but something is up with where the build files get saved to.Caius
You probably need to change the properties on all the executables that come with VS2003. The IDE just launches the command-line compiler and captures the output, right?Helldiver
Yes, and I have messed around will all the properties I can find. Still, the executable seem to run afoul of some permission issue with the temp directory. I keep thinking there has to be some recipe that will work, at least for compilation. As it is, I can move each solution forward as soon as something breaks that is critical enough of a reason to mandate retesting. At this rate it will all be in 2005 by 2011 :)Caius
N
0

I am having no problems with Visual Studio 2003 on Windows 7 64-bit.

  1. Navigate to VS2003 devenv.exe (probably C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.exe)
  2. Right-click and select Properties
  3. In the Compatibility tab, check "Run this program in compatibility mode for:" and select "Windows XP (Service Pack 3)"
  4. Check "Run this program as administrator"
Naresh answered 19/5, 2010 at 11:52 Comment(0)
P
0

I got Visual Studio .NET 2003 Working just fine on my HP EliteBook Workstation 8760W with an I7 processor and 12GB of RAM running Windows 7 Professional 64 bit by doing some advanced steps. They go as follows:

  1. Install FrontPage 2002 Server Extensions for IIS 7.0.
  2. Install Visual Studio .Net 2003. Just skip when the installer command you to configure Frontpage 2002 Server Extensions.
  3. Install .Net Framework 1.1 Service Pack 1 (download here).
  4. Go to Control Panel > Administrative Tools > Internet Information Services (IIS) Manager. Highlight your machine, then double-click on ISAPI and CGI Restrictions. Change setting for ASP .NET v1.1.4322 to Allowed.

Then it will always show an alert with the following message

This program has compatibility issues...

just ignore that. Also, don't put it in compatibility mode in the properties of the IDE.

Peel answered 22/6, 2017 at 21:29 Comment(0)
M
0

I did managed to install VS2003 on Windows 7 32 bit. However I had to do some IIS tricks in order to be able to run my ASP.NET project. When you install VS2003 Web Development component can't be selected. Basically you have to drop your VS2003 ASP.NET v1.1 into C:\inetpub\wwwroot\project_name and make it working on it's own as a standalone web portal first. Here is the steps I did.

  1. Install IIS on Windows 7

enter image description here

  1. Copy your VS2003 project to C:\inetpub\wwwroot\project_name. Right click on your project_name and Convert to application. Following was my custom issue that didn't work until I enabled Windows Authentication even if I had no related settings in my web.config. Select your project_name > Authentication > enable both Anonymous and Windows Authentications.

enter image description here

  1. Enable ASP.NET 1.1 in ISAPI and CGI Restrictions and make sure ASP.NET is added under ISAPI filters enter image description here enter image description here
  2. Once I'm able to fire up my ASP.NET project in a browser go ahead and open project from your project location in my case is C:\inetpub\wwwroot\MHSScoreOrg\MHSScoreOrg.sln. I was able to run my project only when it was fully integrated on IIS.
Matrilineal answered 17/7, 2020 at 18:42 Comment(0)
W
-2

I'm sorry, your build environment requires you to have VC 2003, 2005, AND 2008 running concurrently? I would really bet that your efforts would be better spent simply consolidating your build environment to just one environment.

Werbel answered 18/5, 2009 at 18:28 Comment(2)
You obviously don't work for a customer that dictates how things will be done. I agree - it would be nice to ditch the legacy code but at this time it isn't an option. Sadly, they will eventually realize they should have invested the time and money to stay current when their product won't run on a currently available operating system.Caius
I understand your predicament, I really do. Really, I'm just saying that at some point, you need to tell your customer that things just don't work, and it would take more time to do it their way than it would to fix it. Usually, customers understand money, and when you tell them it'll take 5 times as long to patch it than it will to fix it, they get the point.Werbel
S
-2

Have you considered upgrading your solutions to vs2005, using MSBEE to target .net 1.1?

Sensorium answered 18/5, 2009 at 18:30 Comment(1)
These are non-.net applications (the 2003 ones.) I would -love- to upgrade them to 2005 but these are old legacy applications that have exhibited some strange behavior when compiled under vc2005 (beyond linker errors - those I can fix.) In simple terms, I can't justify to the client the effort needed to rewrite some complicated mathematical algorithms just to get things to compile under vc2005.Caius

© 2022 - 2024 — McMap. All rights reserved.