views:

10288

answers:

13

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!

A: 

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.

McWafflestix
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.
Jeremy White
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.
McWafflestix
A: 

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

Gabe Moothart
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.
Jeremy White
+9  A: 

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

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

Wayne Hartman
This would not be native to Windows 7 like what he was asking for.
mockedobject
@m0ck0bject, you misunderstand XP mode, then. The unique virtual environment may offer 'native enough' features to accomplish what he desires.
Wayne Hartman
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.
aquillin
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.
Jeremy White
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.
Pavel Minaev
@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).
danielkza
@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: http://www.channelregister.co.uk/2010/03/22/windows_xp_mode_smbs_hardware_virtualisation/MS Windows Team Blog post: http://windowsteamblog.com/windows/b/windows7/archive/2010/03/18/windows-xp-mode-now-accessible-to-more-pcs.aspx
Jonners
A: 

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.

aquillin
Unfortunately I already tried that. The IDE runs well, but something is up with where the build files get saved to.
Jeremy White
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?
jmucchiello
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 :)
Jeremy White
+1  A: 

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...

Christopher
+1  A: 

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.

rahan
+2  A: 

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

A: 

Problems:
I have tried to use "External Tools" like Doxygen using Ouput Window and it crashed several times. I tried to use the "Find in Files" function, it also crashed.

Solution:
If your switch your Window 7 design to classic Windows design only during the work with Visual Studio 2003 everything works fine. Visual Studio 2003 seems to be buggy with Aero design.

A: 

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.

Henry
+1  A: 

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

kaos
+4  A: 

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...

Nikhil
A: 

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"
Alex Roebuck
A: 

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)}"

This seems to be the best solution. Note that you should first check "Run this program as administrator" in compatibility properties of devenv.exe, if UAC is on.