Visual Studio 2008 поддерживает Windows 98?
Мы смотрим на обновление Visual Studio 2005 до Visual Studio 2008. Я обнаружил следующий тревожный комментарий:
http://msdn.microsoft.com/en-us/library/6sehtctf.aspx
"Начиная с Visual C++ 2008, Visual C++ не поддерживает таргетинг на Windows 95, Windows 98, Windows ME или Windows NT".
Означает ли это, что если мы перестроим наши продукты с помощью Visual C++ 2008, они перестанут работать на компьютерах с Windows 98? Это звучит так, но мне трудно поверить, что они внесут такие большие изменения.
Спасибо за вашу помощь.
8 ответов
Это не только.NET 3.5. Речь идет о макросах заголовочных файлов Windows SDK и определениях, извлекаемых обязательным повышением версии в WINVER. Так что да, двоичные файлы Colen, Visual C++ 2008 будут нацелены только на API-интерфейсы Windows NT, и хотя иногда они могут работать на 98-м, вы должны предположить, что вы не можете использовать Visual Studio 2008 для нацеливания на Win9x. Вам придется использовать VS2005 или старше.
Да, это означает, что: API Windows CreateProcess и LoadLibrary в Windows NT до 2000 года и во всех Windows (95,98 AND ME) не будут загружать файл DLL или EXE, созданный VS9, поскольку заголовок PE в файле имеет требуемую ОС поле версии установлено на 5.
Сообщение об ошибке при попытке загрузить сгенерированный VS9 exe-файл будет (очень недружелюбное модальное диалоговое окно с ошибкой) на самом деле говорит: "Вам нужно обновить операционную систему, чтобы запустить эту программу".
Я экспериментировал с редактированием поля до 4 - двоичный файл будет загружен, но любое использование c-runtime VS9 приведет к зависанию или сбою процесса. Есть способы заставить проекты VS9 не использовать их родное время выполнения c, но если для вас важно массовое использование функций C++, этот подход не будет масштабироваться за пределами небольшого приложения.
VS8 / VS2005 обладает большинством функций VS9, но все еще нацелен на ранние версии ОС, поэтому в моем магазине мы придерживаемся этого на данный момент.
Естественно, что они не поддерживают более старые версии своей операционной системы в своих новых продуктах. Им стоило бы дороже (не только денежных затрат, но также усложнить или сделать невозможным предоставление более новых полезных функций), чтобы заставить вещи работать с ограничениями (и часто ошибками) старых систем. Это происходит все время и со всеми; поддержка новых версий gcc drop для более старых и менее популярных архитектур; новые выпуски glibc требуют более новой минимальной версии ядра; и так далее.
Эти операционные системы давно на пенсии; с точки зрения Microsoft, никто не должен больше их использовать. Если вы все еще хотите разрабатывать для них, вы можете использовать старые инструменты того же года изготовления вина.
На этом этапе 3.5 Framework даже не устанавливается на Windows 2000 Server. Так что я не верю, что они будут на 95, 98 или NT либо. Microsoft не хочет больше нести ответственность за поддержку этих устаревших операционных систем.
Я бы порекомендовал вам принять это как возможность прекратить поддержку Windows 9x. Это хорошая причина, как и любой другой. И, по крайней мере, если вы пишете код на C/C++ для Win32 API, жизнь станет намного проще, если вы предположите, что целевой ОС является Windows 2000 или более поздняя версия.
Хотя я согласен с JesperE, Windows 98 - это такой небольшой процент пользователей, что не имеет смысла ориентироваться на них, если, конечно, вы не знаете, что на самом деле большой процент ваших клиентов используют Windows98.
В любом случае вы можете нацелить Windows 98 в Visual Studio 2008 (вы не можете разрабатывать в Windows 98). Однако вы должны ориентировать свои проекты только на.NET 2.0, вы не можете использовать любые функции 3.0 или 3.5.
Согласно следующей ссылке, Windows 98 не поддерживается.NET 3.5, поэтому я думаю, что они имеют в виду. Вы все еще можете заниматься разработкой.NET 2.0 и ниже, но если вы используете библиотеки 3.5, Windows 98 не поддерживается.
Информация.NET 3.5
Насколько я понимаю , с самой последней версией KernelEx все версии MSVC, предназначенные для XP, потенциально могут работать (результаты зависят от того, сколько «новейших» функций/функций вы затем решите использовать)
Что касается ответа, который мог быть в 2008 году, то даже тогда было довольно много исправленных библиотек (проверьте ссылки на Wayback Machine , если они не работают).