
Я хочу узнать технические подробности о различиях между Windows Server и обычными настольными Windows. В частности, Windows 10 и Server 2008.
Я пытаюсь решить проблему в одном из моих приложений, которое прекрасно работает на наших машинах, но падает на сервере нашего клиента. Я совершенно сбит с толку, почему это происходит, и ищу какие-нибудь подсказки.
решение1
Как упомянул @Rudolph вэйркомментарий, вам нужно будет быть более конкретным, чтобы у нас были хорошие шансы исправить проблему. Такие вещи, как сообщения об ошибках или коды, зарегистрированные события, даже общее представление о том, о каком приложении мы здесь говорим...
Однако я могу кратко описать некоторые различия между «обычной» Windows (клиентом) и Windows Server, которые могут повлиять на совместимость.
- IEУлучшенный защищенный режимделает IE намного безопаснее, но это означает, что приложения, которым необходимо загружать веб-страницы с помощью IE (возможно, включая встроенные фреймы IE), могут не работать, поскольку EPM отключает ряд функций, чтобы минимизировать поверхность атаки.
- Компоненты "Desktop" (например, Windows Media Player) не установлены на сервере по умолчанию. Их можно установить, но обычно они не нужны на серверах.
- 32-битная версия. Хотя Win10 все еще доступна на 32-битных платформах, Windows Server больше не доступен (хотя я думаю, что Server 2008 — первоначальный релиз, а не R2, который на самом деле является существенно другой версией — был последней версией с 32-битной версией). На практике это не должно иметь значения, но если по какой-то причине ваше приложение не работало на 64-битных версиях Windows (например, ему нужно было загрузить 32-битный драйвер или запустить 16-битную программу, или оно делало неразумные предположения о файловой системе и структуре реестра), то это может быть проблемой. Однако если оно работает на 64-битной Win10, оно должно работать на 64-битном Server.
Конечно, есть еще одно отличие: простая версия выпуска. Win10 — совершенно новая, работает на ядре NT10.0 с поддержкой всех последних API. Server 2008 — семилетняя версия, выпущенная примерно во время Vista SP1; она работает на ядре NT 6.0, которое сейчас устарело на четыре выпуска. Хотя в каждом выпуске между 6.0 и 10.0 было добавлено относительно немного API (промежуточные версии, просто чтобы сбить с толку, это 6.1, 6.2 и 6.3), они все же немного добавляются. Если ваше приложение не было специально нацелено на 6.0, оно может использовать API, которых нет в этой версии.
Проверяли ли вы, работает ли ваше приложение на Vista (или, если клиент на самом деле работает на Server 2008 R2, тестировали ли вы приложение на Win7)?