Поддерживает ли Visual Studio 2008 Windows 98?

Мы смотрим на обновление с Visual Studio 2005 до Visual Studio 2008. Я обнаружил следующий тревожный комментарий:

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

"Начиная с Visual С++ 2008, Visual С++ не поддерживает таргетинг на Windows 95, Windows 98, Windows ME или Windows NT".

Означает ли это, что если мы перестроим наши продукты на Visual С++ 2008, они перестанут работать на машинах Windows 98? Похоже на это, но мне трудно поверить, что они сделают это большое изменение.

Спасибо за вашу помощь.

Ответы

Ответ 1

Это не только .NET 3.5. Это о макросах и определениях файлов заголовков Windows SDK, которые вставляются с помощью обязательной версии bump в WINVER. Итак, да, двоичные коды Colen, Visual С++ 2008 будут нацелены только на Windows NT API, а иногда они могут работать на 98, вы должны предположить, что вы не можете использовать Visual Studio 2008 для нацеливания на Win9x. Вам придется использовать VS2005 или старше.

Ответ 2

Да, это означает, что: API-интерфейсы Windows CreateProcess и LoadLibrary в Windows NT до 2000 года и все Windows (95,98 и ME) не будут загружать DLL файл или EXE файл, созданный VS9, поскольку заголовок PE в файле имеет поле требуемой версии ОС установлено на 5.

Сообщение об ошибке при попытке загрузить созданный VS9 exe файл (будет очень недружелюбным модальным диалоговым окном ошибок) на самом деле скажет: "Вам нужно обновить свою операционную систему для запуска этой программы".

Я экспериментировал с редактированием поля до 4 - бинарный файл будет загружен, но любое использование VS-версии c9-runtime будет зависать или вылетать из строя. Есть способы заставить VS9-проекты не использовать свои собственные c-runtimes, но если для вас важно массовое использование функций С++, этот подход не будет масштабироваться мимо небольшого приложения.

VS8/VS2005 имеет большинство функций VS9, но все еще нацелен на ранние версии ОС, поэтому в моем магазине мы придерживаемся этого момента.

Ответ 3

Естественно, что они не поддерживают более старые версии своей операционной системы на своих новых продуктах. Это будет стоить им больше (а не только денежные затраты, но также затрудняет или невозможно предоставить некоторые новые полезные функции), чтобы заставить работу работать с ограничениями (и часто ошибками) старых систем. Это происходит постоянно и со всеми; новые версии поддержки gcc для старых менее популярных архитектур; в новых выпусках glibc требуется более новая минимальная версия ядра; и т.д.

Эти операционные системы уже давно удалены; с точки зрения Microsoft, никто больше не должен их использовать. Если вы все еще хотите разработать для них, вы можете использовать старые инструменты того же урожая.

Ответ 4

согласно следующей ссылке, Windows 98 не поддерживается .NET 3.5, поэтому я бы предположил, что это то, что они означают. Вы все еще можете выполнять .NET 2.0 и более низкую разработку, но если вы используете библиотеки 3.5, Windows 98 не поддерживается.

.NET 3.5 информация

Ответ 5

3.5 Framework даже не будет устанавливаться на Windows 2000 Server. Поэтому я не верю, что они будут на 95, 98 или NT. Корпорация Майкрософт не хочет больше брать на себя ответственность за поддержку этих отставных операционных систем.

Ответ 6

Я бы рекомендовал вам использовать это как возможность , чтобы остановить поддержку Windows 9x. Это хорошая причина, как это сделать. И, по крайней мере, если вы пишете код C/С++ для Win32 API, жизнь much проще, если вы можете предположить, что целевая ОС - Windows 2000 или новее.

Ответ 7

В то время как я согласен с JesperE, Windows 98 - это такой небольшой процент пользователей, что нет смысла ориентироваться на них, если, конечно, вы не знаете, что большой процент ваших клиентов фактически использует Windows98.

В любом случае на самом деле вы можете настроить Windows 98 в Visual Studio 2008 (вы не можете работать в Windows 98). Однако вы должны нацеливать свои проекты только на .NET 2.0, вы не можете использовать любые функции 3.0 или 3.5.