Does Visual Studio 2008 support windows 98?

风格不统一 提交于 2019-11-29 09:14:32

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.

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.

It's natural that they do not support older versions of their operating system on their newer products. It would cost them more (not just monetary cost, but also making harder or impossible to provide some newer useful features) to make things work with the limitations (and often bugs) of older systems. This happens all the time, and with everyone; new versions of gcc drop support for older less popular architectures; new releases of glibc require a more recent minimum kernel version; and so on.

These operating systems have long been retired; from Microsoft's point of view, nobody should be using them anymore. If you still want to develop for them, you can use older tools of the same vintage.

according to the following link, windows 98 is not supported by .NET 3.5 so I would imagine that is what they mean. You can still do .NET 2.0 and lower development, but if you use the 3.5 libraries, Windows 98 is not supported.

.NET 3.5 information

JFV

The 3.5 Framework won't even install on Windows 2000 Server at this point. So I don't believe that they will on 95, 98, or NT either. Microsoft doesn't want the responsibility of supporting these retired operating systems anymore.

I'd recommend that you take this as a opportunity to stop supporting Windows 9x. This is a good reason as any to do so. And, at least if you're writing C/C++ code for the Win32 API, life is much easier if you can assume that the target OS is Windows 2000 or later.

While I agree with JesperE, Windows 98 is such a small percentage of users that it makes little sense to target them, unless of course you know a large percentage of your customers are in fact using Windows98.

In any case, you can in fact target Windows 98 in Visual Studio 2008 (you can't develop on Windows 98). You must, however, target your projects at .NET 2.0 only, you cannot use any 3.0, or 3.5 features.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!