Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Visual Studio 2008 support windows 98?

We're looking at upgrading from Visual Studio 2005 to Visual Studio 2008. I discovered the following disturbing comment:

http://msdn.microsoft.com/en-us/library/6sehtctf.aspx

"Beginning with Visual C++ 2008, Visual C++ does not support targeting Windows 95, Windows 98, Windows ME, or Windows NT."

Does this mean that if we rebuild our products with visual C++ 2008, they will stop working on Windows 98 machines? It sounds like it, but I have trouble believing they'd make that big a change.

Thanks for your help.

like image 419
Colen Avatar asked Oct 17 '08 20:10

Colen


People also ask

Is Visual Studio 2008 supported?

In line with our ten-year support policy, Visual Studio 2008, its associated products, runtimes, and components will cease to be supported from April 10, 2018.

Does Microsoft still support Windows 98?

The company will no longer issue security updates or provide support for Windows 98, Windows ME. From Tuesday, Microsoft will no longer issue security updates or provide support for Windows 98 and Windows ME, which are still being used by more than 50 million people.

What version of C++ does Visual Studio 2008 use?

VS2008 and earlier have implemented C++03 (or approximated it. Like almost every other compiler, there are bits of the standard that are not followed to the letter.

Is Windows 98 or 95 better?

Windows 98 is a definite improvement on Windows 95, so if you're setting up a new computer - and if you don't have the resources to install and run Windows NT - you'll want to put Windows 98 rather than Windows 95 on it. You'll find Windows 98 easier to install and more stable than Windows 95.


2 Answers

It's not just about .NET 3.5. It's about the Windows SDK header file macros and definitions pulled in by the mandatory version bump in WINVER. So yes, Colen, Visual C++ 2008 binaries will target the Windows NT APIs only and while occasionally they may work on 98 you should assume that you cannot use Visual Studio 2008 to target Win9x. You will have to use VS2005 or older.

like image 183
Mihai Limbășan Avatar answered Sep 17 '22 01:09

Mihai Limbășan


Yes it does mean that: The windows CreateProcess and LoadLibrary APIs on Windows NT before 2000 and all of Windows (95,98 AND ME) will not load a DLL or EXE file made by VS9 because the PE header in the file has the required OS version field set to 5.

The error message upon attempting to load a VS9 generated exe file will (be a very unfriendly modal error dialog) actually say "You need to upgrade your operating system to run this program".

I experimented with editing the field to 4 - the binary will be loaded, but any use of the VS9 c-runtime will hang or crash the process. There are ways to get VS9 projects to not use their native c-runtimes but if massive use of c++ features is important to you this approach is not going to scale past a small application.

VS8 / VS2005 has most of the features of VS9 but still targets early OS versions which is why at my shop we are sticking with that for the moment.

like image 28
Chris Becke Avatar answered Sep 20 '22 01:09

Chris Becke